:start
invkill
perkill
hide_btn_echo = 1
hide_link_echo = 1

fontsize=22
textfont = "sans[#fontsize$]" 

linkcolor = 0xFFFFFFFF
linkhcolor = 0xFF66b2b2
gametitle = "Приключение"
name = ""
descr = ""
exits = ""
items=""
note = ""
act = ""
goto intro
end

;----------------------------------------------------------------
; интро

:intro
cls
textalign = 3
pln
pln П Р И К Л Ю Ч Е Н И Е
proc line(10)
pln Где-то неподалеку находится Колоссальная пещера, где одни нашли золото и сокровища, а другие, по слухам, пропали бесследно. Говорят, эта пещера заколдована...
proc line(10)
pln [[Начать приключение|roadend]]
proc line(10)
pln [[Информация|info]]
textalign = 1
end

:info
textalign = 3
cls
pln COLOSSAL CAVE (ADVENTURE)
pln Адаптация для FireURQ. Версия 1.0, 18.12.2025
pln
pln Оригинал: Уилл Краутер (1973) и Дон Вудз (1977)
pln Реконструкция: Дональд Экман, Дэвид Бэджетт, Грэхем Нельсон (1994)
pln Перевод: Денис Гаев (2003)
pln Адаптация: NecRabbit
pln
pln Посвящается памяти Стивена Бишопа (1820?-1857), первого исследователя Мамонтовой пещеры
pln
pln За основу текста взят русский перевод Дениса Гаева (за который ему всяческая багодарность), которому данная адаптация следует на 80-90%. Оставшиеся 10-20% составляют отдельные фразы и элементы описаний, которые были переведены заново, перефразированы или дополнены с целью сделать местами крайне сухой оригинальный текст чуть более красочными и лучше отображающим географию локаций. Источником дополнений служили многочисленные вариации оригинальной игры, а также графический ремейк Colossal Cave (2023).
pln
pln В данной адаптации были сознательно изменены или удалены совсем некоторые элементы геймплея, которые были бы слишком сложны или утомительны для современного игрока. (Да что уж там, многие элементы геймплея были слишком сложны и для современников игры. В прохождениях, датированных концом 70-х - началом 80-х уже встречаются жалобы, что некоторые головоломки нелогичны, неочевидны, а решение некоторых можно найти только случайно или подсмотрев в код.) Кроме того, некоторые элементы было бы сложно или совсем невозможно реализовать средствами меню. 
pln
pln Отзывы и замечания присылайте на necrabbit@mail.ru
pln
pln [[Назад|intro]]
textalign = 1
end



;----------------------------------------------------------------
; у конца дороги

:roadend
if startgameflag=0 then proc initialize
	
loclight=1
loc="roadend"
name = "У конца дороги"
descr = "Вы находитесь у самого конца дороги недалеко от небольшого кирпичного [[строения|brick_building]]. Со всех сторон Вас окружает [[густой лес|forest]]. Небольшой [[ручей|stream]], вытекающий из строения, продолжает свой путь вниз по оврагу."
note = ""
exits = "[[в строение|inside_building]], [[вдоль ручья|in_valley]]"
act = ""
proc timer
proc look
end

:brick_building
note="Небольшой домик из белого кирпича. Исток ручья находится где-то внутри него. Дверь в домик открыта."
act=""
proc look
end

:forest
note="По преимуществу, лес состоит из дубов и кленов, однако сосны и ели также встречаются нередко. Березовые и ясеневые ростки, и кустарник самых разнообразных видов образуют густой подлесок. В это время года обильная листва сильно ограничивает видимость, однако идти растительность не слишком мешает."
act=""
proc look
end

:stream
note="Холодный бурный ручей струится вниз по каменистому руслу."
act = ""
proc deal_with_water
end

:drink_water
note="Вы сделали несколько глотков. Вода имеет сильный привкус минералов, но это ее не портит. Правда, она очень холодная."
act=""
proc look
end

:fill_bottle_with_water
if bottle_cont=1 then
	_ note="Бутылка уже наполнена водой."
if bottle_cont=0 or bottle_cont=2 then
	_ bottle_cont=1 &
	_ note="Вы наполнили бутылку водой."
act=""
proc look
end

:fill_vase_with_water
note="Внезапное охлаждение мгновенно превратило бесценную вазу в горсть осколков."
act=""
proc drop("vase",1)
proc delete("vase")
vase_break=1
end

:deal_with_water
act = ""
proc do("[[попить воды|drink_water]]")
if Бутылка then proc do("[[наполнить бутылку|fill_bottle_with_water]]")
if Ваза then proc do("[[наполнить вазу|fill_vase_with_water]]")
proc look
end


;----------------------------------------------------------------
; Внутри строения

:inside_building
loclight=1
loc="inside_building"
name = "Внутри строения"
descr = "Вы внутри кирпичного дома, поставленного над истоком [[ручья|spring]]. Вода вытекает из вмурованной в стену металлической трубы и бежит по узкому бетонному желобу, вытекая наружу через небольшое отверстие. На стене имеется [[надпись|building_writing]]. "
note = ""
exits = "[[наружу|roadend]]"
act = ""
proc timer
proc look
end

:building_writing
note="~Сложите сокровища здесь, чтобы получить награду~"
act=""
proc look
end

:spring
note="Вода холодная и очень чистая."
act = ""
proc deal_with_water
end

:keys
note="Набор различных ключей, всего около десятка, посаженных на большое кольцо. "
proc std_do("keys")
if loc="outside_grate" and grate_unlocked=0 then proc do("[[отпереть решетку|unlock_grate]]")
if loc="barren_room" and bear_free=0 then proc do("[[отпереть замок цепи|unlock_chain]]")
proc look
end


:food
note="Еда выглядит очень аппетитно!"
proc std_do("food")
proc do("[[съесть|eat_food]]")
if loc="hall_of_mt_king" and snake_gone=0 then proc do("[[покормить змею|feed_snake_food]]")
if loc="secret_canyon" then proc do("[[покормить дракона|feed_dragon]]")
if loc="barren_room" and bear_tame=0 then proc do("[[покормить медведя|feed_bear]]")
if dwarf_active=1 then proc do("[[покормить гнома|feed_dwarf]]")
proc look 
end

:eat_food
proc delete("food")
note="М-м-м... Пальчики оближешь!"
act=""
proc look
end

:lamp
note="Старая потертая лампа из латуни"
if lamp=0 then note = note + ". Она не горит. "
if lamp=1 and power<=40 then note = note + ", испускающая тусклый свет. "
if lamp=1 then note = note + ", испускающая яркий свет. "
note = note + "Работает на батарейках. "
proc std_do("lamp")

if Лампа and lamp=0 then proc do("[[включить|try_lamp_on]]")
if Лампа and lamp=1 then proc do("[[выключить|lamp_off]]")
if Лампа and Батарейки then proc do("[[заменить батарейки|change_battery]]")
proc look 
end

:try_lamp_on
if power>0 then goto lamp_on
note = "Лампа не включается. Сели батарейки." 
act=""
proc look
end

:lamp_on
lamp=1
if loc="darkness" then loc=prevloc & proc refresh
note="Вы включили лампу." 
act=""
proc look
end

:lamp_off
lamp=0
proc refresh
note="Вы выключили лампу."
proc look
end

:change_battery
if power<=40 then s="Теперь она светит ярко. " else s=""
power = 2500
proc delete("batteries")
proc refresh
note="Вы заменили батарейки в лампе. #%s$"
proc look
end

:bottle
note="Маленькая стеклянная бутылка с пробкой. "
if bottle_cont=0 then note=note+"Она пуста."
if bottle_cont=1 then note=note+"Она наполнена водой."
if bottle_cont=2 then note=note+"Она наполнена маслом."
proc std_do("bottle")
if bottle_cont>0 then proc do("[[пить из бутылки|drink_bottle]]") 
if loc="west_pit" or ( loc="west_end_of_twopit_room" and plant>0 ) then proc do("[[полить растение|water_plant]]")
if loc="immense_n_s_passage" and bottle_cont=2 then proc do("[[смазать дверные петли|oil_door]]")
proc look 
end

:drink_bottle
if bottle_cont=1 then
	_ note="Вы выпили воду из бутылки. Вода имеет сильный привкус минералов, но это ее не портит." &
	_ bottle_cont=0
if bottle_cont=2 then
	_ note="Как-то не хочется это пить."	
act=""
proc look
end

;----------------------------------------------------------------
; В глубоком овраге

:in_valley
loclight=1
loc="in_valley"
name = "В глубоком овраге"
descr = "Вы находитесь в глубоком лесном овраге, поблизости от [[ручья|stream]], быстро текущего куда-то вниз по каменистому [[руслу|stream_bed]]."
note = ""
exits = "[[вверх по руслу|roadend]], [[вниз по руслу|in_streambed]]"
act = ""
proc timer
proc look
end

:stream_bed
note="Русло ручья вьется по оврагу, спускаясь вниз к дну оврага."
act=""
proc look
end

;----------------------------------------------------------------
; У конца ручья

:in_streambed
loclight=1
loc="in_streambed"
name = "У конца ручья"
descr = "У ваших ног вода стекает в узкую [[щель в скале|stream_gap]]. Ниже лежит лишь высохшее каменистое [[русло|empty_stream_bed]]."
note = ""
exits = "[[вверх по руслу|in_valley]], [[вниз по руслу|outside_grate]]"
act = ""
proc timer
proc look
end

:stream_gap
note="Просто узкая щель шириной около пяти сантиметров, в которой ручей исчезает без следа."
act=""
proc look
end

:empty_stream_bed
note="Высохшее русло ручья ведет дальше к глубокой впадине на дне оврага."
act=""
proc look
end

;----------------------------------------------------------------
; Над стальной решеткой

:outside_grate
loclight=1
loc="outside_grate"
name = "У стальной решетки"
descr = "Вы находитесь в шестиметровой впадине, покрытой засохшей грязью, сквозь которую пытается пробиться скудная растительность. На самом дне впадины в скалистом склоне виден перекрытый стальной [[решеткой|grate]] темный ход, уходящий вниз под землю. Из впадины вверх ведет русло высохшего ручья."
note = ""
exits = "[[вверх по руслу|in_streambed]], [[спуститься вниз|try_below_grate]]"
act = ""
proc timer
proc look
end


:grate
note="Откидывающаяся стальная решетка размерами примерно метр на метр, вмурованная в каменистое дно и скалистый склон впадины. "
if grate_opened 
	_ then note=note+"Она открыта" 
	_ else note=note+"Она закрыта" &
		_ if grate_unlocked=0 then note=note+" и заперта на замок"
note=note+"."
act=""
if grate_opened=0 then proc do("[[открыть решетку|open_grate]]")
proc look
end

:open_grate
if grate_unlocked=1 
	_ then grate_opened=1 & note="Вы открыли решетку."
	_ else note="Решетка заперта."
act=""
proc look
end

:unlock_grate
note="Вы отперли решетку."
grate_unlocked=1
act=""
proc look
end

:try_below_grate
if grate_opened=1 then goto below_grate
note="Сначала нужно открыть решетку."
act=""
proc look
end


;----------------------------------------------------------------
; Полость под решеткой

:below_grate
loclight=1
loc="below_grate"
name = "Полость под решеткой"
descr = "Вы находитесь в небольшой полости под стальной решеткой, ведущей на поверхность. Узкий лаз, усеянный [[булыжниками|cobbles_near_grate]], ведет куда-то в глубину к западу отсюда."
note = ""
exits = "[[запад|cobble_crawl]], [[наверх|outside_grate]]"
act = ""
proc timer
proc look
end

:cobbles_near_grate
note="Множество округлых булыжников, отполированных потоками воды."
act=""
proc look
end

;----------------------------------------------------------------
; Лаз с булыжниками

:cobble_crawl
loclight=1
loc="cobble_crawl"
name = "Лаз с булыжниками"
descr = "Вы ползете по низкому, покрытому [[булыжниками|cobbles_near_grate]] проходу.  С восточной стороны пробивается тусклый свет. "
note = ""
exits = "[[запад|debris_room]], [[восток|below_grate]]"
act = ""
proc timer
proc look
end

:cage
note="Маленькая клетка, сплетенная из тонких древесных прутьев. "
if Клетка and Птичка then note=note+"В клетке сидит маленькая птичка."
proc std_do("cage")
if Клетка and Птичка then proc do("[[открыть клетку|free_bird]]")
proc look
end


;----------------------------------------------------------------
; Замусоренная пещера

:debris_room
nodwarf=1
loc="debris_room"
name = "Замусоренная пещера"
descr = "Вы в пещере, заполненной всякой [[грязью и мусором|trash]], занесенными водой с поверхности. Низкий широкий проход с булыжниками дальше забит грязью, но труднопроходимый каньон, полого поднимающийся вверх, открывает путь на запад. Стены пещеры покрыты [[надписями|writings]]. "
note = ""
exits = "[[запад|sloping_e_w_canyon]], [[восток|cobble_crawl]]"
act = ""
proc timer
proc look
end

:trash
note="Кучи песка, осколков камней и гнилых растений, среди которых видны также осколки стекла и ржавые банки."
act=""
proc look
end

:writings
note="На камнях оставлены автографы искателей приключений, бывших здесь до Вас. Одна из надписей привлекает внимание. Она сообщает, что ~Волшебное слово - XYZZY~. "
if seen_xyzzy=0 then
	_ note=note+"Вы записываете его в свой блокнот." &
	_ seen_xyzzy=1
act=""
proc look
end

:blackrod
note="Черный жезл длиной чуть менее метра, один конец которого украшает ржавая железная звезда. В нем чувствуется что-то магическое."
act=""
proc std_do("blackrod")
if Жезл then proc do("[[взмахнуть|wave_rod]]")
if loc="hall_of_mt_king" and snake_gone=0 then proc do("[[ударить змею|attack_snake]]")
if loc="secret_canyon" and dragon_killed=0 then proc do("[[ударить дракона|attack_dragon_with_rod]]")
proc look
end

:wave_rod
note="Вы взмахиваете жезлом. "
if loc="east_side_of_fissue" or loc="west_side_of_fissue" then 
	_ if crystal_bridge=0 then 
		_ crystal_bridge=1 &
		_ proc refresh &
		_ note=note+"Гремит раскат грома и над ущельем появляется хрустальный мост!" 
	_ else
		_ crystal_bridge=0 &
		_ proc refresh &
		_ note=note+"Гремит раскат грома и хрустальный мост исчезает без следа!" 
if loc<>"east_side_of_fissue" and loc<>"west_side_of_fissue" then
	_ note=note+"Ничего не происходит."
act=""
proc look
end

;----------------------------------------------------------------
; Наклонный восточно-западный каньон

:sloping_e_w_canyon
nodwarf=1
loc="sloping_e_w_canyon"
name = "Наклонный восточно-западный каньон"
descr = "Вы в труднопроходимом наклонном [[каньоне|cleft]], ведущем с востока на запад по краю глубокой расщелины."
note = ""
exits = "[[запад|bird_chamber]], [[восток|debris_room]]"
act = ""
proc timer
proc look
end

:cleft
note="Относительно пологий у южной стены, склон каньона становится более крутым ближе к середине и круто обрывается над глубокой расщелиной возле северной стены. Дна расщелины Вы не можете разглядеть, как ни стараетесь. "
act=""
proc look
end

;----------------------------------------------------------------
; Птичья камера

:bird_chamber
nodwarf=1
loc="bird_chamber"
name = "Птичьи покои"
descr = "Вы находитесь в великолепной пещере, стены которой похожи на замерзшие реки из оранжевого камня, а потолок достигает девяти метров в высоту. На восток спускается узкий наклонный каньон, а на запад ведет удобный широкий проход. "
note = ""
exits = "[[запад|top_pit]], [[восток|sloping_e_w_canyon]]"
act = ""
proc timer
proc look
end

:bird
if not Птичка then note="Маленькая веселая птичка сидит на камне и поет."
if Птичка then note="В клетке птичка выглядит не такой веселой."
act=""
if not Птичка then 
	_ if Клетка and not Жезл 
		_ then proc do("[[поймать|get_bird]]")
		_ else proc do("[[поймать|cant_get_bird]]")
if Птичка then proc do("[[выпустить|free_bird]]")
if Птичка and loc="hall_of_mt_king" and snake_gone<>1 then proc do("[[дать птичку змее|feed_snake_bird]]")
if Птичка and loc="secret_canyon" and dragon_killed<>1 then proc do("[[дать птичку дракону|feed_dragon]]")
proc look
end

:get_bird
proc get("bird",1)
proc refresh
note="Вы поймали птичку и посадили ее в плетеную клетку."
act=""
proc look
end

:cant_get_bird
if Жезл then note="Поначалу птичка не обращала на Вас внимания. Но когда вы подошли к ней, она встревожилась, и не дает себя поймать."
if not Клетка then note="Поймать птичку не так уж трудно. А удержать?"
act=""
proc look
end

:free_bird
if loc="hall_of_mt_king" and snake_gone=0 then goto bird_and_snake
if loc="secret_canyon" and dragon_killed=0 then goto bird_and_dragon
proc drop("bird",1)
proc refresh
note="Вы открыли клетку и маленькая птичка радостно выпорхнула на свободу."
act=""
proc look
end

:bird_and_snake
proc drop("bird",1)
snake_gone=1
proc refresh
note="Маленькая птичка в отчаянном порыве набрасывается на змею, и успешно прогоняет ее прочь!"
act=""
proc look
end

:bird_and_dragon
proc delete("bird")
note="Вы открываете клетку. Маленькая птичка в отчаянном порыве набрасывается на дракона, и успешно превращается в горсть пепла. Пепел развеивает ветер... У Вас по щеке сбегает слеза. Птичку жалко."
act=""
proc look
end

;----------------------------------------------------------------
; Над провалом

:top_pit
nodwarf=1
loc="top_pit"
name = "Над провалом"
descr = "Прямо у ваших ног находится глубокий [[провал|foggy_well]], буквально дышащий белым [[туманом|fog]]. В этом месте проход на запад кончается, если не считать очень узкую [[трещину|pit_crack]]. Грубые каменные ступени спускаются вниз вдоль края провала."
note = ""
exits = "[[вниз|try_hall_of_mists]], [[восток|bird_chamber]]"
act = ""
proc timer
proc look
end

:foggy_well
note="Из провала поднимаются бесформенные клубы белого тумана."
act=""
proc look
end

:fog
note="Туман часто можно встретить в пещерах. Обычно его присутствие является недвусмысленным признаком того, что где-то неподалеку имеется вода."
act=""
proc look
end

:pit_crack
note="Трещина узковата - во всяком случае, для Вас."
act=""
proc look
end

:try_hall_of_mists
if not Самородок then goto hall_of_mists else goto die_fall
end

;----------------------------------------------------------------
; В Зале Туманов

:hall_of_mists
loc="hall_of_mists"
name = "В Зале Туманов"
descr = "Вы находитесь у входа в колоссальный зал, который простирается на запад далеко за пределы видимости. В южной стене имеется низкое углубление, а на севере широкая каменная [[лестница|ladder_to_mt_king]] спускается куда-то вниз. Воздух заполнен клочьями белого тумана, плавающими туда-сюда, как живые. С лестницы дует поток холодного воздуха. За вашей спиной грубые каменные ступени уходят вверх в [[отверстие|hole_to_pit]] в куполообразном потолке."
note = ""
exits = "[[запад|east_side_of_fissue]], [[юг|nugget_of_gold_room]], [[север|hall_of_mt_king]], [[наверх|try_top_pit]]"
act = ""
if hall_of_mists_visited=0 then score=score+25 & hall_of_mists_visited=1
proc timer
proc look
end

:ladder_to_mt_king
note="Лестница завалена скальными обломками, однако, оставляющими достаточно места для прохода. По мере спуска вниз ступени поворачивают к западу."
act=""
proc look
end

:hole_to_pit
note="Как Вы помните, это отверстие ведет к выходу из пещеры. Грубые высокие ступени делают подъем и спуск нелегким и даже опасным."
act=""
proc look
end

:try_top_pit
if not Самородок then goto top_pit
note="Вы не можете подняться по лестнице с таким грузом!"
act=""
proc look
end

;----------------------------------------------------------------
; Низкая комната

:nugget_of_gold_room
loc="nugget_of_gold_room"
name = "Низкая комната"
descr = "Вы в комнате с очень низким потолком. На стене что-то небрежно [[нацарапано|writings_gold_room]]."
note = ""
exits = "[[север|hall_of_mists]]"
act = ""
proc timer
proc look
end

:writings_gold_room
note="Надпись сообщает: ~Вы не сможете подняться с ним вверх по лестнице!~"
act=""
proc look
end

:nugget
note="Массивный кусок самородного золота!"
proc std_do("nugget")
proc look
end

:axe
note="Маленький топор гномьей работы."
act=""
proc std_do("axe")
if loc="hall_of_mt_king" and snake_gone=0 then proc do("[[ударить змею|attack_snake]]")
if loc="secret_canyon" and dragon_killed=0 then proc do("[[ударить дракона|attack_dragon_with_axe]]")
if loc="shell_room" then proc do("[[разбить раковину|break_bivalve]]")
if loc="shell_room" then proc do("[[взломать раковину|open_bivalve_with_axe]]")
if ( loc="sw_side_of_chasm" or loc="ne_side_of_chasm" ) and troll_here=1 then proc do("[[ударить тролля|attack_troll]]")
if loc="barren_room" and bear_tame=0 then proc do("[[ударить медведя|attack_bear_with_axe]]")
if loc="barren_room" and bear_free=0 then proc do("[[разрубить цепь|break_chain_with_axe]]")
if loc="dead_end_14" then proc do("[[взломать торговый автомат|attack_vending]]")
if dwarf_active=1 then proc do("[[ударить гнома|attack_dwarf]]")
proc look
end

;----------------------------------------------------------------
; Восточный край расщелины

:east_side_of_fissue
loc="east_side_of_fissue"
name = "Восточный край расщелины"
descr = "Вы находитесь на восточной стороне глубокой [[расщелины|fissue]], пересекающей зал пополам. Здесь воздух очень влажен и насыщен туманом. Расщелина слишком широка, чтобы ее перепрыгнуть. "
if crystal_bridge=1 then descr=descr+"Оба края расщелины теперь соединяет [[хрустальный мост|crystal_bridge_obj]]."
note = ""
if crystal_bridge=1 
	_ then exits = "[[запад|west_side_of_fissue]], [[восток|hall_of_mists]]"
	_ else exits = "[[восток|hall_of_mists]]"
act = ""
proc timer
proc look
end

:fissue
note="Расщелина, сколько хватает взгляда и света лампы, уходит куда-то глубоко вниз."
act=""
proc do("[[перепрыгнуть расщелину|jump_fissue]]")
proc look
end

:crystal_bridge_obj
note="Мост из чистейшего горного хрусталя соединяет две стороны расщелины. Отблески света от Вашей лампы играют на его гранях."
act=""
proc look
end

:jump_fissue
if crystal_bridge=0 then goto die_fissue
note="Может быть, лучше воспользоваться мостом?"
act=""
proc look      
end

;----------------------------------------------------------------
; Западный край расщелины

:west_side_of_fissue
loc="west_side_of_fissue"
name = "Западный край расщелины"
descr = "Вы находитесь на западной стороне [[расщелины|fissue]] в Зале Туманов. "
is crystal_bridge=1 then descr=descr+"Оба края расщелины теперь соединяет [[хрустальный мост|crystal_bridge_obj]]."
note = ""
if crystal_bridge=1 
	_ then exits = "[[запад|west_end_hall_of_mists]], [[север|west_end_hall_of_mists]], [[восток|east_side_of_fissue]]"
	_ else exits = "[[запад|west_end_hall_of_mists]], [[север|west_end_hall_of_mists]]"
act = ""
proc timer
proc look
end

:diamonds
note="Многокаратовые бриллианты чистейшей воды!"
proc std_do("diamonds")
proc look
end

;----------------------------------------------------------------
; Западный конец Зала Туманов

:west_end_hall_of_mists
loc="west_end_hall_of_mists"
name = "Западный конец Зала Туманов"
descr = "Вы находитесь в западном конце Зала Туманов. Один широкий низкий проход ведет отсюда на запад, другой на север. В южной стене в полутора метрах от пола имеется небольшой проход."
note = ""
exits = "[[запад|east_end_of_long_hall]], [[север|west_side_of_fissue]], [[юг|in_alike_maze]], [[восток|west_side_of_fissue]]"
act = ""
proc timer
proc look
end

:in_alike_maze
enter_to_alike_maze=1
goto am1
end

;----------------------------------------------------------------
; Восточный конец Длинного Зала

:east_end_of_long_hall
loc="east_end_of_long_hall"
name = "Восточный конец Длинного Зала"
descr = "Вы находитесь в восточном конце длинного зала без боковых ответвлений, если не считать ведущего вниз круглого трехфутового туннеля в северной стене. К востоку низкий широкий проход полого ведет вверх."
note = ""
exits = "[[запад|west_end_of_long_hall]], [[север|crossover]], [[восток|west_end_hall_of_mists]]"
act = ""
proc timer
proc look
end

;----------------------------------------------------------------
; Западный конец Длинного Зала

:west_end_of_long_hall
loc="west_end_of_long_hall"
name = "Западный конец Длинного Зала"
descr = "Вы находитесь в западном конце длинного, но ничем не примечательного зала. Здесь он смыкается с узким проходом, ведущим с севера на юг."
note = ""
exits = "[[север|crossover]], [[юг|in_different_maze]], [[восток|east_end_of_long_hall]]"
act = ""
proc timer
proc look
end

:in_different_maze
enter_to_different_maze=1
goto dm1
end

;----------------------------------------------------------------
; Перекресток коридоров

:crossover
loc="crossover"
name = "Перекресток коридоров"
descr = "Вы на перекрестке двух коридоров: высокого (ведущего на север и юг) и низкого (протянувшегося на запад и восток)."
note = ""
exits = "[[запад|east_end_of_long_hall]], [[север|dead_end_7]], [[юг|west_end_of_long_hall]], [[восток|west_side_chamber]]"
act = ""
proc timer
proc look
end

;----------------------------------------------------------------
; Тупик

:dead_end_7
loc="dead_end_7"
name = "Тупик"
descr = "Вы в глухом тупике - дальше путь отсутствует."
note = ""
exits = "[[юг|crossover]]"
act = ""
proc timer
proc look
end

;----------------------------------------------------------------
; Зал Горного Короля

:hall_of_mt_king
loc="hall_of_mt_king"
name = "Зал Горного Короля"
descr = "Вы находитесь в Зале [[Горного Короля|mt_king]]. Пути отсюда ведут почти во всех направлениях. Широкая лестница поднимается к Залу Туманов на востоке. "
if snake_gone=0 then descr=descr+"Огромная свирепая зеленая [[змея|snake]] преграждает Вам путь!"
note = ""
exits = "[[запад|try_west_side_chamber]], [[север|try_low_n_s_passage]], [[юго-запад|try_secret_e_w_canyon]], [[юг|try_south_side_chamber]], [[восток|hall_of_mists]]"
act = ""
proc timer
proc look
end

:mt_king
note="Посреди зала лежит широкая плита природного мрамора, похожая очертаниями на огромный трон подземного владыки. Вокруг трона безмолвной стражей застыла коллонада из высоких обломков скал."
act=""
proc look
end

:snake
note="На Вашем месте я бы держался от нее подальше!"
act=""
proc do("[[взять змею|die_snake]]")
proc look
end

:attack_snake
note="Змея уклоняется от удара и делает встречный выпад, с яростным шипением приближаясь к Вам."
act=""
proc look
end

:feed_snake_food
note="Такая пище змее не по вкусу."
act=""
proc look
end

:feed_snake_bird
proc delete("bird")
note="Сожрав птичку, змея облизнулась и посмотрела на Вас с явной надеждой на продолжение банкета."
act=""
proc look
end

:try_west_side_chamber
if snake_gone=1 then goto west_side_chamber
proc deal_with_snake
end

:try_low_n_s_passage
if snake_gone=1 then goto low_n_s_passage
proc deal_with_snake
end

:try_south_side_chamber
if snake_gone=1 then goto south_side_chamber
proc deal_with_snake
end

:try_secret_e_w_canyon
if snake_gone=1 or rnd100 <= 35 then goto secret_e_w_canyon
proc deal_with_snake
end

:deal_with_snake
note="Вы не можете прокрасться мимо змеи!"
act=""
proc look
end

;----------------------------------------------------------------
; Низкий северо-южный коридор

:low_n_s_passage
loc="low_n_s_passage"
name = "Низкий северо-южный коридор"
descr = "Вы в низком коридоре, ведущем с севера на юг. [[Отверстие|hole_to_dirty_passage]] в полу у Ваших ног ведет отвесно вниз."
note = ""
exits = "[[север|y2_room]], [[юг|hall_of_mt_king]], [[вниз|dirty_passage]]"
act = ""
proc timer
proc look
end

:hole_to_dirty_passage
note="Через отверстие виден в расположенный ниже проход, ведущий на запад и восток."
act=""
proc look
end

:silver_bars
note="Похоже, что они стоят целое состояние!"
proc std_do("silver_bars")
proc look
end

;----------------------------------------------------------------
; Южная боковая камера

:south_side_chamber
loc="south_side_chamber"
name = "Южная боковая камера"
descr = "Вы в малнькой комнате к югу от большого зала. "
note = ""
exits = "[[север|hall_of_mt_king]]"
act = ""
proc timer
proc look
end

:jewelry
note="Куча драгоценных камней. Похоже, что все они очень ценные!"
act=""
proc std_do("jewelry")
proc look
end

;----------------------------------------------------------------
; Западная боковая камера

:west_side_chamber
loc="west_side_chamber"
name = "Западная боковая камера"
descr = "Вы в комнате к западу от большого зала. Узкий проход ведет из него на запад, поднимаясь вверх. "
note = ""
exits = "[[запад|crossover]], [[восток|hall_of_mt_king]]"
act = ""
proc timer
proc look
end

:rare_coins
note="Горсть редких серебряный и золотых монет. Любая из них - настоящая мечта нумизмата!"
proc std_do("rare_coins")
if loc="dead_end_14" then proc do("[[опустить в торговый автомат|insert_coins]]")
proc look
end

;----------------------------------------------------------------
; В комнате ~y2~

:y2_room
loc="y2_room"
name = "В комнате ~Y2~"
descr = "Вы в большой комнате. Один проход ведет на юг, другой на запад, и целая [[стена из камней|jumble_of_rock]] преграждает путь на восток. Символы ~Y2~ начертаны на [[скале|y2_rock]] в середине комнаты. "
if rnd100 <= 35 then descr=descr+"#/$     Внезапно глухой раскатистый голос из ниоткуда произнес: ~ПУФФ~." & listen_pough=1
note = ""
exits = "[[запад|window_on_pit_1]], [[юг|low_n_s_passage]]"
act = ""
proc timer
proc look
end

:jumble_of_rock
note="Вокруг валяется куча обломков скального камня, покрытых трещинами. Впрочем, между камнями есть щели, через которые Вы, возможно, протиснулись бы."
act=""
proc do("[[протиснуться между камнями|try_go_jumble_of_rock]]") 
proc look
end

:y2_rock
note="На скале начертано: ~Y2~. Что бы это значило???"
act=""
proc look
end

:try_go_jumble_of_rock
if not Самородок then goto hall_of_mists
note="Вы не можете пролезть с самородком."
act=""
proc look
end


;----------------------------------------------------------------
; У окна над пропастью

:window_on_pit_1
loc="window_on_pit_1"
name = "У окна над пропастью"
descr = "Вы у низкого [[окна|pit_window]] над глубокой [[пропастью|pit_abyss]], уходящей вниз и в стороны за пределы видимости. Пыль на полу возле окна покрыта [[следами|marks_in_dust]], указывающими на то, что кто-то был здесь совсем недавно. По другую сторону пропасти, метрах в шести отсюда,  можно видеть очень похожее окно, освещенное изнутри. За окном находится [[туманная фигура|shadowy_figure]] человека, который, похоже, уставился на Вас."
note = ""
exits = "[[восток|y2_room]]"
act = ""
proc timer
proc look
end

:pit_window
note="Самое обыкновенное пещерное окно. Вы что, никогда окон в пещерах не видели?"
act=""
proc look
end

:pit_abyss
note="Пропасть настолько высокая и глубокая, что дно с трудом можно разглядеть не менее, чем в 15 метрах внизу, а потолок невозможно разглядеть вообще. Клочья белого тумана наплывают откуда-то с правой стороны."
act=""
proc look
end

:marks_in_dust
note="Похоже, что Вы не единственный, кто здесь побывал!"
act=""
proc look
end

:shadowy_figure
note="Кажется, туманная фигура пытается привлечь Ваше внимание!"
act="[[помахать рукой|wave_to_shadowy_figure]]"
proc look
end

:wave_to_shadowy_figure
note="Туманная фигура помахала Вам в ответ!"
act=""
proc look
end

;----------------------------------------------------------------
; В грязном неровном проходе

:dirty_passage
loc="dirty_passage"
name = "В грязном неровном проходе"
descr = "Вы в неровном проходе, покрытом потоками засохшей [[грязи|mud_in_passage]]. На восток ведет узкий лаз. На запад имеется более широкий проход. Отверстие над Вами ведет куда-то вверх."
note = ""
exits = "[[запад|dusty_rock_room]], [[вверх|try_low_n_s_passage2]], [[восток|brink_of_pit]]"
act = ""
proc timer
proc look
end

:mud_in_passage
note="Похоже, ее нанесли потоки воды, текшие здесь когда-то."
act=""
proc look
end

:try_low_n_s_passage2
if not Самородок then goto low_n_s_passage
note="Вы не можете подняться с самородком."
act=""
proc look
end

;----------------------------------------------------------------
; На краю колодца

:brink_of_pit
loc="brink_of_pit"
name = "На краю колодца"
descr = "Вы на краю небольшого чистого [[колодца|small_well]] с неровными стенками. Узкий лаз ведет отсюда на запад."
note = ""
exits = "[[запад|dirty_passage]], [[вниз|in_pit]]"
act = ""
proc timer
proc look
end

:small_well
note="Из глубины колодца доносится тихое журчание воды. Его стенки испещрены выступами и трещинами, так что при определенной ловкости в него не сложно спуститься."
act=""
proc look
end

;----------------------------------------------------------------
; Внутри колодца

:in_pit
nodwarf=1
loc="in_pit"
name = "Внутри колодца"
descr = "Вы на самом дне узкого колодца. Здесь журчит небольшой [[ручей|spring_in_well]], втекающий и вытекающий через узкие [[щели|cracks_in_well]] в стенах."
note = ""
exits = "[[вверх|brink_of_pit]]"
act = ""
proc timer
proc look
end

:spring_in_well
note="Мелкий ручей вытекает из одной щели в стене и скрывается в другой."
proc deal_with_water
end

:cracks_in_well
note="Щелей много, и они образуют сложный, запутанный узор в скале."
act=""
proc look
end

;----------------------------------------------------------------
; Среди мелких камней

:dusty_rock_room
loc="dusty_rock_room"
name = "Среди мелких камней"
descr = "Вы в большой пещере, стены которой испещрены трещинами, а на полу громоздятся груды мелких [[камней|small_rocks]]. Широкое углубление с удобным пологим спуском ведет вниз. Узкий проход, занесенный засохшей грязью, ведет на восток."
note = ""
exits = "[[вниз|complex_junction]], [[восток|dirty_passage]]"
act = ""
proc timer
proc look
end

:small_rocks
note="Обыкновенные камни, только очень мелкие и грязные."
act=""
proc look
end

;----------------------------------------------------------------
; Сложный перекресток

:complex_junction
loc="complex_junction"
name = "Сложный перекресток"
descr = "Вы находитесь у сложного перекрестка. Низкий, ведущий на север лаз, проходимый лишь на четвереньках, пересекается здесь с более высоким коридором, ведущим с запада на восток. Пологий подъем ведет наверх в большую пещеру. Воздух здесь насыщен влагой."
note = ""
exits = "[[запад|bedquilt]], [[север|shell_room]], [[восток|anteroom]], [[вверх|dusty_rock_room]]"
act = ""
proc timer
proc look
end

;----------------------------------------------------------------
; Лоскутное одеяло

:bedquilt
loc="bedquilt"
name = "Лоскутное одеяло"
descr = "Вы в ~лоскутном одеяле~ - длинном коридоре, ведущем с запада на восток и сплошь пронизанном запутанными [[проходами и лазами|bedquilt_passages]]. Можете выбирать наугад, куда ползти по ним - на север или юг, вверх или вниз."
note = ""
exits = "[[запад|swiss_cheese_room]], [[север|try_junction_of_three]], [[юг|try_slab_room]], [[восток|complex_junction]], [[вверх|try_dusty_rock_room]], [[вниз|try_anteroom]]"
act = ""
proc timer
proc look
end

:bedquilt_passages
note="Проходы и лазы разных форм и размеров уходят под разными углами в толщу скалы. По крайней мере некоторые из них, похоже, просто делают петли и возвращаются обратно в этот коридор."
act=""
proc look
end

:try_slab_room
if rnd100 > 70 then goto slab_room
proc deal_with_random_path
end

:try_dusty_rock_room
if rnd100 > 80 then goto dusty_rock_room
if rnd100 < 50 then goto secret_n_s_canyon_1
proc deal_with_random_path
end

:try_junction_of_three
if rnd100 > 60 then goto junction_of_three
if rnd100 < 75 then goto large_low_room
proc deal_with_random_path
end

:try_anteroom
if rnd100 > 70 then goto anteroom
proc deal_with_random_path
end

:deal_with_random_path
note="Поползав немного туда-сюда в узких боковых проходах, Вы неожиданно вернулись в центральный коридор."
act=""
proc look
end

;----------------------------------------------------------------
; Швейцарский сыр

:swiss_cheese_room
loc="swiss_cheese_room"
name = "Швейцарский сыр"
descr = "Вы в комнате, стены которой сильно [[напоминают|cheese_walls]] швейцарский сыр. Значительную часть комнаты занимает огромный каменный [[валун|boulder]] неправильной формы. Очевидные проходы ведут на запад, восток, северо-запад и северо-восток. На юге также есть несколько маленьких округлых [[туннелей|cheese_tunnels]]."
note = ""
exits = "[[запад|east_end_of_twopit_room]], [[северо-запад|oriental_room]], [[северо-восток|bedquilt]], [[юг|try_tall_e_w_canyon]], [[восток|soft_room]]"
act = ""
proc timer
proc look
end

:cheese_walls
note="Стены испещрены множеством округлых углублений, впадин и воронок, придающих пещере сюрреалистичный вид. Вы чувствуете себя мальчиком-с-пальчиком, забравшимся в головку Маасдама."
act=""
proc look
end

:cheese_tunnels
note="Трудно сказать, какие из них действительно ведут куда-то, а какие заканчиваются тупиками или выводят обратно сюда же."
act=""
proc look
end

:boulder
note="Валун также испещрен углублениями и отверстиями, как сыр дырками. Можно подумать, что здесь водятся какие-то особые пещерные термиты, прогрызающие ходы в камне."
act=""
proc look
end

:try_tall_e_w_canyon
if rnd100 > 70 then goto tall_e_w_canyon
note="Поползав немного туда-сюда в узких проходах, Вы вернулись в центральный коридор."
act=""
proc look
end


;----------------------------------------------------------------
; Пещера у двух колодцев (западный конец)

:west_end_of_twopit_room
loc="west_end_of_twopit_room"
name = "Пещера у двух колодцев (западный конец)"
s=""
if climb_by_plant=1 then s="Забравшись вверх по стволу, Вы без труда выбрались из колодца.#/$     " & climb_by_plant=0
descr = "#%s$Вы в западном конце большого зала с двумя [[колодцами|two_wells]]. Прямо над колодцем в стене есть большое [[отверстие|hole_to_giants]]. Узкий проход ведет на запад. "
if plant=1 then descr=descr+"Над кромкой западного колодца видна верхушка [[растения|plant_obj]]."
if plant=2 then descr=descr+"Гигансткое [[растение|plant_obj]] растет из западного колодца, возвышаясь под самый потолок пещеры."
note = ""
exits = "[[запад|slab_room]], [[в колодец|west_pit]], [[восток|east_end_of_twopit_room]]"
act = ""
proc timer
proc look
end

:two_wells
note="Это не колодцы в общепринятом смысле слова, а просто широкие воронкообразные ямы в скальной породе глубиной до двух-трех метров. Один из колодцев расположен в восточной части зала, другой - в западной."
act=""
proc look
end

:hole_to_giants
note="Прямо над западным колодцем в стене есть большое отверстие, уходящее горизонтально в толщу скалы. Стена в этом месте довольно гладкая, а отверстие расположено слишком высоко, и у Вас нет никакой возможности залезть туда."
act=""
proc look
end


;----------------------------------------------------------------
; В западном колодце

:west_pit
nodwarf=1
loc="west_pit"
name = "В западном колодце"
descr = "Вы находитесь на дне западного колодца. В семи метрах над Вами в стене есть большая дыра. "
if plant=0 then descr=descr+"На дне колодца растет маленькое [[растение|plant_obj]]."
if plant=1 then descr=descr+"Трехметровый стебель [[растения|plant_obj]] поднимается над верхним краем колодца."
if plant=2 then descr=descr+"Огромное [[растение|plant_obj]] устремляется вверх, высоко возвышаясь над краем колодца."
note = ""
exits = "[[вверх|west_end_of_twopit_room]]"
act = ""
proc timer
proc look
end

:plant_obj
if plant=0 then note="Растение имеет не более полуметра в высоту и выглядит довольно чахлым. Удивительно, что оно вообще смогло вырасти в темной скалистой пещере. Растение слегка покачивает стеблем и Вам кажется, будто оно шепчет: ~Воды мне, воды...~"
if plant=1 then note="Растение раскачивает листьями и громко завывает: ~ВОДЫ!! ХОЧУ ВОДЫ!!~"
if plant=2 then note="Мощный ствол растения переплетается с такими же мощными и мясистыми листями, возвышаясь над пещерой."
act=""
proc do("[[взять растение|get_plant]]")
if plant>0 then proc do("[[залезть по растению|climb_plant]]") 
proc look
end

:get_plant
note="У растения оказались удивительно прочные корни. Как ни старались, Вы не смогли вытащить его из земли."
act=""
proc look
end

:water_plant
if bottle_cont=0 then note="Но Ваша бутылка пуста!"
if bottle_cont=2 then note="Растение возмущенно стряхнуло капельки масла с листьев, и проворчало ~А вода где?!~" & bottle_cont=0
if bottle_cont=1 then proc grow_plant
act=""
proc look
end

:grow_plant
if plant=2 then note="Растение удовлетворенно впитывает влагу, но, кажется, дальше расти не собирается."
if plant=1 then plant=2 & note="Растение поднимается с ошеломляющей скоростью! Его ствол почти заполнил собой весь колодец, а верхушка почти достигла потолка!"
if plant=0 then plant=1 & note="Получив первые капли воды, растение немедленно начало расти, и за считанные секунды достигло края колодца!"
bottle_cont=0
end

:climb_plant
if plant=1 then climb_by_plant=1 & goto west_end_of_twopit_room
if plant=2 then climb_by_plant=1 & goto narrow_corridor
end


;----------------------------------------------------------------
; Пещера у двух колодцев (восточный конец)

:east_end_of_twopit_room
loc="east_end_of_twopit_room"
name = "Пещера у двух колодцев (восточный конец)"
descr = "Вы находитесь в восточном конце большого зала с двумя [[колодцами|two_wells]]. Пол здесь состоит из нескольких слоев [[каменных плит|two_wells_slabs]], что сильно упрощает спуск в колодец. Мимо колодцев ведет тропа, соединяющая проходы на запад и на восток. В стенах есть множество отверстий, но самое крупное (и труднодоступное) находится в стене над западным колодцем."
note = ""
exits = "[[запад|west_end_of_twopit_room]], [[в колодец|east_pit]], [[восток|swiss_cheese_room]]"
act = ""
proc timer
proc look
end

:two_wells_slabs
note="Слоистые плиты из песчаника образуют подобие естественной лестницы, дающей возможность спуститься в колодцы."
act=""
proc look
end


;----------------------------------------------------------------
; В восточном колодце

:east_pit
nodwarf=1
loc="east_pit"
name = "В восточном колодце"
descr = "Вы находитесь на дне восточного колодца. В одном из его углов на полу есть небольшая лужица [[масла|oil]]."
note = ""
exits = "[[вверх|east_end_of_twopit_room]]"
act = ""
proc timer
proc look
end

:oil
note="Выглядит, как обыкновенное жидкое масло."
act=""
proc do("[[пить масло|drink_oil]]") 
if Бутылка then proc do("[[наполнить бутылку|fill_bottle_with_oil]]") 
proc look
end

:drink_oil
note="Как-то не хочется это пить."
act=""
proc look
end

:fill_bottle_with_oil
f bottle_cont=2 then
	_ note="Бутылка уже наполнена маслом."
if bottle_cont=0 or bottle_cont=1 then
	_ bottle_cont=2 &
	_ note="Вы наполнили бутылку маслом."
act=""
proc look
end


;----------------------------------------------------------------
; Пещера с каменной плитой

:slab_room
loc="slab_room"
name = "Пещера с каменной плитой"
descr = "Вы в круглой и низкой пещере, пол которой является большой каменной [[плитой|stone_slab]], рухнувшей с [[потолка|slab_ceiling]]. К востоку и западу отсюда когда-то были проходы, которые сейчас полностью завалены камнями. Маленькие низкие проходы ведут на север и на юг (но южный делает крутой поворот на восток сразу за грудой [[камней|scree]])."
note = ""
exits = "[[север|bedquilt]], [[юг|west_end_of_twopit_room]]"
act = ""
proc timer
proc look
end

:stone_slab
note="Плита когда-то была потолком, а теперь стала полом."
act=""
proc look
end

:slab_ceiling
note="После обрушения плиты в потолке пещеры образовалась неровная полость, уходящая высоко вверх. По краю полости проходит узкий уступ."
act=""
proc look
end

:scree
note="Целая груда бесформенных кусков битого камня, вероятно, осыпавшаяся вместе с рухнувшей плитой. Она поднимается к узкому уступу в полости над сводом пещеры."
act=""
proc do("[[залезть по камням|climb_scree]]") 
proc look
end

:climb_scree
if not Самородок then goto secret_n_s_canyon_0
note="Вы не сможете залезть сюда с самородком."
act=""
proc look
end



;----------------------------------------------------------------
; В узком коридоре

:narrow_corridor
loc="narrow_corridor"
name = "В узком коридоре"
if climb_by_plant=1 then s="Забравшись вверх по стволу, Вы смогли добраться до отверстия над колодцем!#/$     " & climb_by_plant=0
descr = "#%s$Вы в длинном, узком коридоре, идущим на запад за пределы видимости. В восточном конце коридора есть отверстие, сквозь которое виднеется густая зеленая [[листва|leaves]]."
note = ""
exits = "[[запад|giant_room]], [[восток|west_end_of_twopit_room]]"
act = ""
proc timer
proc look
end

:leaves
note="Листья принадлежат гигантскому растению, по стволу которого Вы забрались сюда."
act=""
proc look
end


;----------------------------------------------------------------
; Секретный С-Ю каньон 0

:secret_n_s_canyon_0
loc="secret_n_s_canyon_0"
name = "Секретный северо-южный каньон"
descr = "Вы в секретном каньоне на [[уступе|ledge]], ведущем с севера на юг над пещерой, на полу которой лежит большая каменная плита. Гора каменной осыпи образцет пологий спуск вниз."
note = ""
exits = "[[север|mirror_canyon]], [[юг|try_secret_canyon]], [[вниз|slab_room]]"
act = ""
proc timer
proc look
end

:ledge
note="Узкий уступ проходит по краю неширокого каньона, стены которого уходят вверх и вниз. Нужно соблюдать осторожность, чтобы не свалиться в пропасть."
act=""
proc look
end

:try_secret_canyon
prevloc=loc
goto secret_canyon
end


;----------------------------------------------------------------
; Секретный С-Ю каньон 1

:secret_n_s_canyon_1
loc="secret_n_s_canyon_1"
name = "Секретный северо-южный каньон"
descr = "Вы в секретном каньоне на узком [[уступе|ledge]], ведущем с севера на юг над широким проходом, в который можно безопасно спуститься через небольшой круглый лаз."
note = ""
exits = "[[север|junction_of_three]], [[юг|atop_stalactite]], [[вниз|bedquilt]]"
act = ""
proc timer
proc look
end


;----------------------------------------------------------------
; Перекресток трех каньонов

:junction_of_three
loc="junction_of_three"
name = "Перекресток трех каньонов"
descr = "Вы находитесь на узком [[уступе|ledge]] на перекрестке трех секретных каньонов, ведущих на север, юг и юго-восток. Северный проход очень высокий - как оба других вместе взятых. "
note = ""
exits = "[[север|window_on_pit_2]], [[юг|atop_stalactite]], [[юго-восток|bedquilt]]"
act = ""
proc timer
proc look
end


;----------------------------------------------------------------
; Большая низкая комната

:large_low_room
loc="large_low_room"
name = "Большая низкая комната"
descr = "Вы в большой комнате с низким потолком. Проходы отсюда ведут на север, юго-восток и юго-запад"
note = ""
exits = "[[север|dead_end_crawl]], [[юго-запад|sloping_corridor]], [[юго-восток|oriental_room]]"
act = ""
proc timer
proc look
end


;----------------------------------------------------------------
; Тупиковый лаз

:dead_end_crawl
loc="dead_end_crawl"
name = "Тупиковый лаз"
descr = "Этот лаз привел Вас в тупик."
note = ""
exits = "[[назад|large_low_room]]"
act = ""
proc timer
proc look
end


;----------------------------------------------------------------
; Тайный В-З проход над узким каньоном

:secret_e_w_canyon
loc="secret_e_w_canyon"
name = "Секретный проход над узким каньоном"
descr = "Вы находитесь на [[уступе|ledge]] в секретном каньоне, ведущем с востока на запад. В этом месте он пересекает очень узкий [[проход|cross_passage]], лежащий 4 метрами ниже."
note = ""
exits = "[[запад|try_secret_canyon]], [[восток|hall_of_mt_king]]"
act = ""
proc timer
proc look
end

:cross_passage
note="Узкий проход ведет с севера на юг. Туда можно спрыгнуть или съехать по крутому склону, но залезть обратно не получится."
act=""
proc do("[[спуститься вниз|n_s_canyon]]") 
proc look
end

:try_secret_canyon
prevloc=loc
goto secret_canyon
end

;----------------------------------------------------------------
; С-Ю Каньон

:n_s_canyon
loc="n_s_canyon"
name = "Северо-южный каньон"
descr = "Вы находитесь в одном из самых широких мест [[каньона|bottom_canyon]], проходящего с севера на юг."
note = ""
exits = "[[север|tall_e_w_canyon]], [[юг|canyon_dead_end]]"
act = ""
proc timer
proc look
end

:bottom_canyon
note="Стены каньона уходят отвесно вверх, теряясь в темноте."
act=""
proc look
end


;----------------------------------------------------------------
; Тупик

:canyon_dead_end
loc="canyon_dead_end"
name = "Тупик"
descr = "Здесь [[каньон|bottom_canyon]] становится таким узким, что дальше на юг не пройти."
note = ""
exits = "[[назад|n_s_canyon]]"
act = ""
proc timer
proc look
end


;----------------------------------------------------------------
; Высокий В-З каньон

:tall_e_w_canyon
loc="tall_e_w_canyon"
name = "Высокий восточно-западный каньон"
descr = "Вы находитесь в высоком [[каньоне|bottom_canyon]], идущем с востока на запад. На север ведет низкий узкий лаз."
note = ""
exits = "[[запад|dead_end_8]], [[север|swiss_cheese_room]], [[восток|n_s_canyon]]"
act = ""
proc timer
proc look
end

:dead_end_8
loc="dead_end_8"
proc clear
name = "Тупик"
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","tall_e_w_canyon")
proc timer
proc look
end


;----------------------------------------------------------------
; Возле сталактита

:atop_stalactite
loc="atop_stalactite"
name = "Возле сталактита"
descr = "Вы находитесь на конце узкого [[уступа|ledge]], ведущего на север. Рядом с уступом с потолка спускается огромный [[сталактит|stalactite]], доходящий почти до самого низа каньона."
note = ""
exits = "[[север|secret_n_s_canyon_1]]"
act = ""
proc timer
proc look
end

:stalactite
note="Сталактит имеет густой буро-красный цвет и испещрен трещинами и выступами. По нему, похоже, можно безопасно спуститься вниз на дно каньона. Но Вы не уверены, что можно будет забраться назад."
act=""
proc do("[[спуститься вниз|down_on_stalactite]]") 
proc look
end

:down_on_stalactite
if rnd100 <= 40 then goto am6
if rnd100 <= 50 then goto am9
goto am4
end


;----------------------------------------------------------------
; Секретный каньон

:secret_canyon
loc="secret_canyon"
name = "Секретный каньон"
descr = "Вы в секретном каньоне, с выходами на север и восток. Гладкие стены из светлого песчаника почти отвесно уходят высоко вверх, теряясь в темноте. "
if dragon_killed=0 
	_ then descr=descr+"Гигантский свирепый зеленый [[дракон|dragon]] преграждает Вам путь!"
	_ else descr=descr+"На полу валяется мертвый дракон."
note = ""
exits = "[[север|try_secret_n_s_canyon_0]], [[восток|try_secret_e_w_canyon2]]"
act = ""
proc timer
proc look
end

:dragon
note="Одного беглого взгляда вполне достаточно, чтобы понять, что связываться с ним не стоит!"
act=""
proc do("[[ударить дракона|attack_dragon_with_bare_hands]]") 
proc look
end

:attack_dragon_with_bare_hands
note="Интересно, и чем же? Голыми руками??"
act=""
proc do("[[да|hit_dragon_yes]]")
proc do("[[нет|hit_dragon_no]]")
proc look
end

:hit_dragon_yes
dragon_killed=1
proc refresh
note="ПОЗДРАВЛЯЕМ! Вы одолели дракона голыми руками! (Невероятно, не правда ли?)"
act=""
proc look
end

:hit_dragon_no
note="Очень благоразумное решение!"
act=""
proc look
end

:feed_dragon
note="Похоже, этот дракон питается только человеческими жертвами. Ваша подачка его не интересует."
act=""
proc look
end

:attack_dragon_with_rod
note="Да уж лучше попробовать голыми руками, нежели жезлом!"
act=""
proc look
end

:attack_dragon_with_axe
note="Топор отскочил от непробиваемой чешуи дракона, не причинив тому ни малейшего вреда."
act=""
proc look
end

:attack_dragon_with_trident
note="Трезубец отскочил от непробиваемой чешуи дракона, не причинив тому ни малейшего вреда."
act=""
proc look
end

:try_secret_n_s_canyon_0
if dragon_killed=1 or prevloc="secret_n_s_canyon_0" then goto secret_n_s_canyon_0
note="У Вас на пути - ДРАКОН. Не лучше ли поискать другой путь?"
act=""
proc look
end

:try_secret_e_w_canyon2
if dragon_killed=1 or prevloc="secret_e_w_canyon" then goto secret_e_w_canyon
note="Одного беглого взгляда вполне достаточно, чтобы понять, что связываться с ним не стоит!"
act=""
proc look
end

:carpet
note="Роскошный персидский ковер. "
if not Ковер and dragon_killed=0 then note=note+"На ковре разлегся свирепый огнедышащий дракон!"
act=""
if not Ковер then proc do("[[взять|try_get_carpet]]")
if Ковер then proc do("[[бросить|drop_carpet]]")
proc look
end

:try_get_carpet
if dragon_killed=1 
	_ then proc get("carpet")
	_ else note="То, что на ковре развалился здоровенный (и весьма свирепый) дракон, немного мешает реализации этой привлекательной идеи." &
	_ act="" &
	_ proc look
end

:drop_carpet
proc drop("carpet")
end

;----------------------------------------------------------------
; Огромная комната

:giant_room
loc="giant_room"
name = "Комната великана"
descr = "Вы в комнате потрясающих размеров. Потолок здесь настолько высок, что свет лампы его не достигает. Широкие и ровные, точно высеченные искусным мастером, проходы ведут отсюда на восток  и север. Более узкий и неровный коридор ведет на юг. На стене имеется [[надпись|writings_giants]] углем. "
note = ""
exits = "[[север|immense_n_s_passage]], [[восток|recent_cave_in]], [[юг|narrow_corridor]]"
act = ""
proc timer
proc look
end

:writings_giants
note="Высоко над полом углем выписаны неровные буквы: ~ФИ ФА ФО ФУ~"
seen_fee=1
act=""
proc look
end

:eggs
note="Большое золотое гнездо, полное золотых яиц!"
proc std_do("eggs")
proc look
end

;----------------------------------------------------------------
; У свежего обвала

:recent_cave_in
loc="recent_cave_in"
name = "У свежего обвала"
descr = "Путь дальше прегражден недавним камнепадом."
note = ""
exits = "[[назад|giant_room]]"
act = ""
proc timer
proc look
end


;----------------------------------------------------------------
; Широкий коридор

:immense_n_s_passage
loc="immense_n_s_passage"
name = "Широкий коридор"
descr = "Вы в одном из концов широкого коридора с севера на юг. "
if giantdoor_opened=1 
	_ then descr=descr+"Путь на север ведет через открытую железную дверь."
	_ else descr=descr+"Путь на север прегражден массивной ржавой железной [[дверью|giant_door]]."
note = ""
exits = "[[север|try_cavern_with_waterfall]], [[юг|giant_room]]"
act = ""
proc timer
proc look
end

:giant_door
note="Огромная закрытая железная дверь со следами ржавчины."
act=""
proc do("[[открыть дверь|open_giant_door]]")
proc look
end

:open_giant_door
if giantdoor_unlocked=1 
	_ then 
		_ giantdoor_opened=1 & 
		_ proc refresh &
		_ note="Дверь отворилась с жутким скрипом и дождем из осыпающейся ржавчины."
	_ else 
		_ note="Дверные петли заржавели настолько, что дверь невозможно открыть."
act=""
proc look
end

:oil_door
note="Вы тщательно смазали ржавые петли. Теперь дверь, хотя и с трудом, можно открыть!"
giantdoor_unlocked=1
bottle_cont=0
act=""
proc look
end

:try_cavern_with_waterfall
if giantdoor_opened=1 then goto cavern_with_waterfall
note="Чтобы пройти на север, нужно сначала открыть дверь."
act=""
proc look
end



;----------------------------------------------------------------
; Пещера с водопадом

:cavern_with_waterfall
loc="cavern_with_waterfall"
name = "Пещера с водопадом"
descr = "Вы находитесь в великолепной пещере с высоким куполообразным сводом. Бурный поток воды обрушивается сверху сверкающим [[водопадом|waterfall]] в клокочущий бассейн, из которого вытекает через отверстие в полу. В южной стене находится огромная распахнутая дверь, а в западной берет начало извилистый туннель."
note = ""
exits = "[[запад|steep_incline]], [[юг|immense_n_s_passage]]"
act = ""
proc timer
proc look
end

:trident
note="Не иначе, как это оружие морского царя. Весь трезубец усыпан драгоценными камнями!"
proc std_do("trident")
if loc="hall_of_mt_king" and snake_gone=0 then proc do("[[ударить змею|attack_snake]]")
if loc="secret_canyon" and dragon_killed=0 then proc do("[[ударить дракона|attack_dragon_with_trident]]")
if loc="shell_room" then proc do("[[разбить раковину|break_bivalve]]")
if loc="shell_room" then proc do("[[взломать раковину|open_bivalve_with_trident]]")
if ( loc="sw_side_of_chasm" or loc="ne_side_of_chasm" ) and troll_here=1 then proc do("[[ударить тролля|attack_troll]]")
if loc="barren_room" and bear_tame=0 then proc do("[[ударить медведя|attack_bear_with_trident]]")
if loc="dead_end_14" then proc do("[[взломать торговый автомат|attack_vending]]")
if dwarf_active=1 then proc do("[[ударить гнома|attack_dwarf]]")
proc look
end

:waterfall
note="Не советовал бы спускаться по нему в бочке!"
act=""
proc look
end

;----------------------------------------------------------------
; Крутой спуск над огромной комнатой

:steep_incline
loc="steep_incline"
name = "Крутой спуск над огромной комнатой"
descr = "Здесь проход делает резкий спуск в очень большую пещеру. Спуститься вниз можно, но вскарабкаться обратно будет нереально. Другой проход ведет отсюда на север."
note = ""
exits = "[[север|cavern_with_waterfall]], [[вниз|large_low_room]]"
act = ""
proc timer
proc look
end


;----------------------------------------------------------------
; Мягкая комната

:soft_room
loc="soft_room"
name = "Мягкая комната"
descr = "Вы находитесь в комнате, к которой подходит одно определение - мягкая. Стены завешены бархатными [[шторами|curtains]], пол покрыт толстым [[ковром|soft_carpet]], а на потолоке растет густой мягкий мох. "
note = ""
exits = "[[запад|swiss_cheese_room]]"
act = ""
proc timer
proc look
end

:pillow
note="Маленькая бархатная подушка. Очень мягкая на вид."
proc std_do("pillow")
proc look
end

:curtains
note="Массивные бархатные шторы обеспечивают отличную звукоизоляцию."
act=""
proc do("[[отодвинуть шторы|move_curtains]]")
proc look
end

:move_curtains
note="За занавесками не обнаружилось ничего интересного. Просто голая скала."
act=""
proc look
end

:soft_carpet
note="Очень мягкий плюшевый ковер. Так и хочется лечь на него и немного подремать."
act=""
proc look
end

;----------------------------------------------------------------
; Азиатская комната

:oriental_room
loc="oriental_room"
name = "Азиатская комната"
descr = "Стены комнаты покрыты [[иероглифами|hieroglyph]] и [[рисунками|arts]] в азиатском стиле. Плавно поднимающийся проход ведет к северу, другой проход - на юго-восток, а узкий лаз открывает путь на запад. "
note = ""
exits = "[[запад|large_low_room]], [[север|misty_cavern]], [[юго-восток|swiss_cheese_room]]"
act = ""
proc timer
proc look
end

:vase
note="Это - исключительно ценная и крайне хрупкая китайская ваза! Фарфор династии Мин или что-то в этом роде."
act=""
if not Ваза then proc do("[[взять|get_vase]]")
if Ваза then proc do("[[бросить|drop_vase]]")
proc look
end

:get_vase
proc get("vase")
end

:drop_vase
proc find("pillow") & i=find_res
if item#i$loc=loc 
	_ then 
		_ proc drop("vase") &
		_ note="Вы аккуратно положили вазу на бархатную подушку."
	_ else
		_ proc drop("vase",1) &
		_ proc delete("vase") &
		_ note="Вы поставили вазу чуть менее аккуратно, чем следовало, и ценнейшая ваза разбилась вдребезги с очень мелодичным звоном."
act=""
proc look
end

:hieroglyph
note="Вы не сильны в восточных языках."
act=""
proc look
end

:arts
note="Изображения разных людей и животных в характерном восточном стиле."
act=""
proc look
end

;----------------------------------------------------------------
; Туманная пещера

:misty_cavern
loc="misty_cavern"
name = "Туманная пещера"
descr = "Вы продвигаетесь по широкой тропе вдоль стены большой пещеры. Глубоко внизу, за пеленой плотного белого тумана, что-то плещется. Туман медленно просачивается вверх сквозь расщелину в потолке. Тропа продолжается отсюда на юг и на запад."
note = ""
exits = "[[запад|alcove]], [[юг|oriental_room]]"
act = ""
proc timer
proc look
end

;----------------------------------------------------------------
; Альков

:alcove
loc="alcove"
name = "Альков"
descr = "Вы находитесь в каменном алькове. Узкая дорога на северо-запад чуть дальше становится шире. Очень узкая - почти непроходимая - [[щель|gap]] ведет на восток. Оттуда пробивается зловещее зеленоватое свечение."
note = ""
exits = "[[северо-запад|misty_cavern]], [[восток|try_plover_room]]"
act = ""
proc timer
proc look
end

:gap
note="От одного взгляда на эту узкую дыру у Вас начинается легкий приступ клаустрофобии."
act=""
proc look
end

:try_plover_room
proc too_much_items
if _too_much_items=0 then goto plover_room
note="Вы не сможете протиснуться сквозь щель со всем своим скарбом. Если хотите идти дальше, что-то придется оставить."
act=""
proc look
end

:too_much_items
proc find("emerald") & i=find_res
if item#i$loc="inv" then have_emerald=1 else have_emerald=0
proc inventory_count
if i_count=0 or ( i_count=1 and have_emerald=1 )
	_ then _too_much_items=0
	_ else _too_much_items=1
end

;----------------------------------------------------------------
; Изумрудная комната

:plover_room
loclight=1
loc="plover_room"
name = "Утиная комната"
descr = "Вы в маленькой камере, освещенной мрачным зеленым [[светом|plover_light]]. Очень узкая щель в толще скалы ведет отсюда на запад, а коридор, погруженный во мрак - на северо-восток."
if rnd100 <= 35 then descr=descr+"#/$     Внезапно откуда-то раздается утиное кряканье." & listen_krya=1
note = ""
exits = "[[запад|try_alcove]], [[северо-восток|try_dark_room]]"
act = ""
proc timer
proc look
end

:emerald
note="Изумруд размером с утиное яйцо! Кстати говоря, утиные яйца довольно большие."
proc std_do("emerald")
proc look
end

:plover_light
note="Кажется, свет испускают сами стены пещены, испещренные зеленоватыми узорами."
act=""
proc look
end

:try_alcove
proc too_much_items
if _too_much_items=0 then goto alcove
note="Вы не сможете протиснуться сквозь щель со всем своим скарбом. Если хотите идти дальше, что-то придется оставить."
act=""
proc look
end

:try_dark_room
proc find("lamp") & i=find_res
if item#i$loc="inv" then goto dark_room
note="Опасно идти в темную комнату без лампы. Того и гляди свалишься в какую-нибудь яму!"
act=""
proc look
end

;----------------------------------------------------------------
; Темная комната

:dark_room
nodwarf=1
loc="dark_room"
name = "Темная комната"
descr = "Вы находитесь в темной комнате. Одну из стен занимает массивная [[плита|stone_board]] из полированного гранита. Единственный выход наружу - коридор, ведущий на юг. "
note = ""
exits = "[[юг|plover_room]]"
act = ""
proc timer
proc look
end

:stone_board
note="На плите выгравировано: ~Спасибо Вам за то, что Вы принесли немного света в темную комнату!~"
act=""
proc look
end

:piramid
note="Платиновая пирамида высотой в двадцать сантиметров!"
act=""
proc std_do("piramid")
proc look
end

;----------------------------------------------------------------
; Сводчатый зал

:arched_hall
loc="arched_hall"
name = "Сводчатый зал"
descr = "Вы находитесь в зале со сводчатым потолком. Наверх и на восток отсюда когда-то вел коралловый проход, но теперь он забит разным мусором. В воздухе ощущается сильный запах моря."
note = ""
exits = "[[вниз|shell_room]]"
act = ""
proc timer
proc look
end

;----------------------------------------------------------------
; Ракушечный грот

:shell_room
loc="shell_room"
name = "Ракушечный грот"
descr = "Вы находитесь в большом сводчатом гроте в глубине скалы. Обломки морских раковин покрывают камень стен и потолка. Посреди грота лежит огромная [[устрица|bivalve]]. Низкий проход открывает путь вниз, а другой, более пологий - вверх. Низкий, проходимый только на четвереньках лаз ведет сюда с юга. "
note = ""
exits = "[[вверх|arched_hall]], [[вниз|ragged_corridor]], [[юг|complex_junction]]"
act = ""
proc timer
proc look
end

:bivalve
note="Двустворчатый моллюск больших размеров. "
act=""
proc do("[[открыть|open_bivalve]]")
proc do("[[разбить|break_bivalve]]")
proc look
end

:open_bivalve
note="Открыть раковину голыми руками у Вас не хватает сил."
act=""
proc look
end

:break_bivalve
note="Вы пытаетесь разбить раковину моллюска, но это не так-то просто - раковина очень прочная."
act=""
proc look
end

:open_bivalve_with_axe
note="Топором разжать створки раковины не удается. Не хватает длины."
act=""
proc look
end

:open_bivalve_with_trident
note="Используя трезубец в качестве рычага, Вам удалось разжать створки раковины. Раковина неохотно открылась"
if bivalve_opened=0 
	_ then 
		_ note=note+" и из нее выкатилась огромная перламутровая жемчужина и затерялась где-то на полу. От неожиданности Вы отпустили трезубец и створки немедленно захлопнулись." &
		_ bivalve_opened=1 & 
		_ proc place("pearl","cul_de_sac")
	_ else note=note+", но ничего, кроме самого моллюска, внутри не оказалось. Створки немедленно захлопнулись опять."
act=""
proc look
end

;----------------------------------------------------------------
; Изломанный коридор

:ragged_corridor
loc="ragged_corridor"
name = "Изломанный коридор"
descr = "Вы в длинном наклонном коридоре с неровными каменными стенами."
note = ""
exits = "[[вверх|shell_room]], [[вниз|cul_de_sac]]"
act = ""
proc timer
proc look
end

;----------------------------------------------------------------
; Глухой тупик

:cul_de_sac
loc="cul_de_sac"
name = "Глухой тупик"
descr = "Вы в тупиковой пещере, чуть больше двух метров шириной. "
note = ""
exits = "[[вверх|ragged_corridor]]"
act = ""
proc timer
proc look
end

:pearl
note="Ее размеры поражают воображение!"
proc std_do("pearl")
proc look
end

;----------------------------------------------------------------
; В прихожей

:anteroom
loc="anteroom"
name = "В прихожей"
descr = "Вы в небольшой комнате, откуда на восток ведет широкий проход. Более узкие коридоры открывают путь на запад и вверх. Легко заметить, что совсем недавно здесь велись земляные работы. Над Вашей головой висит [[знак|sign]]. "
note = ""
exits = "[[запад|bedquilt]], [[восток|witts_end]], [[вверх|complex_junction]]"
act = ""
proc timer
proc look
end

:sign
note="Знак гласит: ~За этой комнатой пещера еще не достроена. Идти дальше не советуем! Строительная компания~"
act=""
proc look
end

:magazine
magazine_reads=magazine_reads+1
note="Вы пролистали журнал. К сожалению, он на гномьем! "
if magazine_reads>1 then note=note+"Между страницами приклеен стикер: ~Нашедшего просьба вернуть журнал в Тупейший тупик~"
act=""
if not Журнал then proc do("[[взять|get_magazine]]")
if Журнал then proc do("[[бросить|drop_magazine]]")
proc look
end

:get_magazine
if loc="witts_end" then score=score-1
proc get("magazine")
end

:drop_magazine
if loc="witts_end" then score=score+1
proc drop("magazine")
end

;----------------------------------------------------------------
; Тупейший тупик

:witts_end
tryings=0
loc="witts_end"
name = "Тупейший тупик"
descr = "Вы в очень странном тупике - отсюда проходы ведут во *всех* возможных направлениях."
note = ""
exits = "[[запад|try_west]], [[северо-запад|aaaa]], [[север|aaaa]], [[северо-восток|aaaa]], [[юго-запад|aaaa]], [[юг|aaaa]], [[юго-восток|aaaa]], [[восток|aaaa]]"
act = ""
proc timer
proc look
end

:try_west
tryings=tryings+1
note="Поползав немного в боковых ответвлениях, Вы обнаружили, что путь прегражден недавним оползнем. Пришлось вернуться назад. "
s=""
if tryings>3 then s="#/$     Кажется, Вы заблудились... "
if tryings>5 then s="#/$     Вы начинаете впадать в панику... "
if tryings>7 then s="#/$     Вы уже практически в нее впали... "
if tryings>9 then s="#/$     А вот и паника! А-А-А-А-А-А-А-А!!!... "
note=note+s
act=""
proc look
end

:aaaa
if rnd100>90 then goto anteroom
tryings=tryings+1
note="Полазив немного в боковых ответвлениях, Вы внезапно вернулись туда, откуда пришли. "
s=""
if tryings>3 then s="#/$     Кажется, Вы заблудились... "
if tryings>5 then s="#/$     Вы начинаете впадать в панику... "
if tryings>7 then s="#/$     Вы уже практически в нее впали... "
if tryings>9 then s="#/$     А вот и паника! А-А-А-А-А-А-А-А!!!... "
note=note+s
act=""
proc look
end

;----------------------------------------------------------------
; Зеркальный каньон

:mirror_canyon
loc="mirror_canyon"
name = "Зеркальный каньон"
descr = "Вы в длинном каньоне шириной около семи метров, ведущем с севера на юг. Пол затянут пеленой белого тумана, просачивающегося откуда-то с севера. Стены поднимаются вверх, постепенно расширяясь и скрываясь из вида. Высоко над Вашей головой, параллельно стенам каньона висит очень большое двухстороннее [[зеркало|mirror]]. Напротив друг друга, в каждой из стен есть по маленькому окну - их разделяет примерно пятнадцать метров."
note = ""
exits = "[[север|reservoir]], [[юг|secret_n_s_canyon_0]]"
act = ""
proc timer
proc look
end

:mirror
note="Похоже, что зеркало повешено сюда гномами, которые всегда чрезмерно озабочены собственной внешностью."
act=""
proc look
end

;----------------------------------------------------------------
; У большого озера

:reservoir
loc="reservoir"
name = "У большого озера"
descr = "Вы стоите у края большого подземного [[озера|lake]]. Облака белого тумана колышутся над водой и быстро поднимаются вверх. Справа за прибрежными скалами из расщелины в стене вытекает ручей, с плеском обрушивающийся в озеро где-то среди тумана. Единственный выход отсюда ведет на юг. "
note = ""
exits = "[[юг|mirror_canyon]]"
act = ""
proc timer
proc look
end

:lake
note="Вода в озере холодна как лед. "
act=""
proc deal_with_water
end

;----------------------------------------------------------------
; У окна над пропастью

:window_on_pit_2
loc="window_on_pit_2"
name = "У окна над пропастью"
descr = "Вы у низкого [[окна|pit_window]] над глубокой [[пропастью|pit_abyss2]], уходящей вниз и в стороны за пределы видимости. Пыль на полу возле окна покрыта [[следами|marks_in_dust]], указывающими на то, что кто-то был здесь совсем недавно. По другую сторону пропасти, метрах в шести отсюда,  можно видеть очень похожее окно, освещенное изнутри. За окном находится [[туманная фигура|shadowy_figure]] человека, который, похоже, уставился на Вас."
note = ""
exits = "[[запад|junction_of_three]]"
act = ""
proc timer
proc look
end

:pit_abyss2
note="Пропасть настолько высокая и глубокая, что дно с трудом можно разглядеть не менее, чем в 15 метрах внизу, а потолок невозможно разглядеть вообще. Клочья белого тумана наплывают откуда-то с левой стороны."
act=""
proc look
end

;----------------------------------------------------------------
; Наклонный коридор

:sloping_corridor
loc="sloping_corridor"
proc clear
name = "Наклонный коридор"
descr = "Вы в середине длинного [[наклонного|sloping]] коридора, оба конца которого скрываются за поворотами."
proc go("вверх","sw_side_of_chasm")
proc go("вниз","large_low_room")
proc timer
proc look
end

:sloping
note="Коридор довольно круто поднимается вверх (или спускается вниз, смотря как посмотреть)."
act=""
proc look
end

;----------------------------------------------------------------
; На юго-западном краю пропасти

:sw_side_of_chasm
nodwarf=1
loc="sw_side_of_chasm"
proc clear
name = "На юго-западном краю пропасти"
descr = "Вы находитесь на краю широкой и глубокой [[пропасти|chasm]]. Плотный белый туман, поднимающийся со дна, мешает рассмотреть как следует ее противоположную сторону. На юго-запад ведет наклонный коридор. "
if bridge_wreck=0 then descr=descr+"#/$     Пропасть пересекает шаткий деревянный [[мостик|bridge]]. Другой его конец теряется в плотном тумане. Рядом с мостом красуется знак: ~Стой! Плати троллю за проход!~ "
if bridge_wreck=1 then descr=descr+"#/$     На краю пропасти видны остатки [[моста|bridge]]. "
if bridge_wreck=0 and troll_here=0 then descr=descr+"Нигде поблизости тролля не видно. "
if troll_here=1 then descr=descr+"На мосту стоит здоровенный [[тролль|troll]], и ждет чего-нибудь ценного в уплату за проход. "
if bridge_wreck=0 then proc go("северо-восток","cross_bridge")
proc go("юго-запад","sloping_corridor")
proc timer
proc look
end

:chasm
if bridge_wreck=0 then note="Дно пропасти усеяно острыми камнями, между которыми бежит ручей. Над камнями поднимаются клубы тумана." else note="На самом дне пропасти можно разглядеть жалкие остатки рухнувшего моста. "
act=""
proc do("[[перепрыгнуть пропасть|die_fissue]]")
proc look
end

:bridge
if bridge_wreck=0 then note="По виду - обычный деревянный мост, но выглядит он очень ненадежным." else note="Торчащие на краю пропасти доски и обрывки веревок - все, что осталось от моста. "
act=""
proc look
end


:troll
note="Тролли состоят в близком родстве со скалами, и шкура у них еще толще, чем у носорогов."
act=""
proc do("[[ударить тролля|attack_troll]]") 
proc look
end

:attack_troll
note="Ваши жалкие попытки поцарапать троллю шкуру немного его повеселили."
act=""
proc look
end

:give_troll
proc find(give_troll_1) & i=find_res
if item#i$="food" then note="Обжорство - порок, не свойственный троллям. В отличие от алчности." & goto give_troll_end
if item#i$points=0 then note="Тролль ловко схватил Ваше подношение, внимательно осмотрел, и вернул Вам, пробурчав: ~Сработано неплохо, но где рыночная ценность?~" & goto give_troll_end
if item#i$points>0 then 
	_ troll_paid=1 &
	_ troll_here=0 &
	_ score=score-5 & 
	_ proc place(item#i$, "") & 
	_ note="Тролль ловко схватил Ваше подношение и сразу исчез из виду." & 
	_ goto give_troll_end
:give_troll_end
act=""
proc look
end


:cross_bridge
if troll_here=1 then 
	_ note="[[Тролль|troll]] не позволяет Вам пройти." & 
	_ goto cross_bridge_end
if troll_here=0 and troll_afraid=0 and troll_paid=0 then
	_ troll_here=1 &
	_ proc refresh &
	_ note="Из-за моста появился здоровенный [[тролль|troll]], и преградил Вам путь. ~Хочешь пройти - плати!~ прохрипел он." &
	_ goto cross_bridge_end
if troll_afraid=0 and troll_paid=1 then troll_paid=0
if bear_follow=1 then goto die_fall_chasm
if loc="sw_side_of_chasm" then goto ne_side_of_chasm
if loc="ne_side_of_chasm" then goto sw_side_of_chasm
:cross_bridge_end
act=""
proc look
end


;----------------------------------------------------------------
; На северо-восточном краю пропасти

:ne_side_of_chasm
nodwarf=1
loc="ne_side_of_chasm"
proc clear
name = "На северо-восточном краю пропасти"
descr = "Вы на противоположном краю [[пропасти|chasm]]. На северо-восток уходит коридор. "
if bridge_wreck=0 then descr=descr+"#/$     Пропасть пересекает шаткий деревянный [[мостик|bridge]]. Другой его конец теряется в плотном тумане. Рядом с мостом красуется знак: ~Стой! Плати троллю за проход!~ "
if bridge_wreck=1 then descr=descr+"#/$     На краю пропасти видны остатки [[моста|bridge]]. "
if troll_here=0 then descr=descr+"Нигде поблизости тролля не видно. "
if troll_here=1 then descr=descr+"На мосту стоит здоровенный [[тролль|troll]], и ждет чего-нибудь ценного в уплату за проход. "
proc go("северо-восток","corridor")
if bridge_wreck=0 then proc go("юго-запад","cross_bridge")
proc timer
proc look
end

;----------------------------------------------------------------
; Шумный коридор

:corridor
nodwarf=1
loc="corridor"
proc clear
name = "Шумный коридор"
descr = "Вы в длинном коридоре, ведущем с востока на запад. Откуда-то издалека доносится приглушенный рокот."
proc go("запад","ne_side_of_chasm")
proc go("восток","fork_in_path")
proc timer
proc look
end

;----------------------------------------------------------------
; Разветвление

:fork_in_path
nodwarf=1
loc="fork_in_path"
proc clear
name = "Разветвление"
descr = "Здесь тропа разветвляется. Путь налево ведет на северо-восток, откуда, похоже, доносятся рокочущие звуки. Путь направо ведет на юго-восток, плавно спускаясь вниз. Путь к мосту лежит в западном направлении."
proc go("запад","corridor")
proc go("северо-восток","junction_with_warm_walls")
proc go("юго-восток","limestone_passage")
proc timer
proc look
end

;----------------------------------------------------------------
; Горячий перекресток

:junction_with_warm_walls
nodwarf=1
loc="junction_with_warm_walls"
proc clear
name = "Горячий перекресток"
descr = "Стены здесь очень горячие! С севера доносится глухой рев и рокот - настолько громкие, что стены пещеры ощутимо сотрясаются. Другой проход ведет на юг, а низкий лаз - на восток."
proc go("север","breath_taking_view")
proc go("юг","fork_in_path")
proc go("восток","chamber_of_boulders")
proc timer
proc look
end

;----------------------------------------------------------------
; Потрясающее зрелище

:breath_taking_view
loclight=1
loc="breath_taking_view"
proc clear
name = "Потрясающее зрелище"
descr = "С края скалы Вашему взору открывается потрясающее зрелище! #/$     Прямо под Вами - колоссальный действующий вулкан, извергающий потоки раскаленной лавы, стекающие вниз по его склонам. Раскаленные докрасна камни освещают багровым светом всю пещеру вплоть до самых отдаленных ее уголков. В воздухе сильно пахнет серой и летают угасающие искры и частицы горячего пепла. #/$     Стены очень горячи на ощупь, а рокот извержения заглушает все прочие звуки. Глубоко в неровном, изломанном потолке заметно множество причудливых вкраплений белого гипса. С одной стороны видна расселина - дикая, хаотичная россыпь из истерзанного камня, похожая на творение самого дьявола. Огненная река, вытекающая из жерла вулкана, прожигает себе путь вниз по расселине и обрушивается в бездонный колодец слева от Вас. А справа от Вас извергается гигантский гейзер, взметающийся вверх на голом скальном островке в центре булькающего серного озера. Правая стена пещеры, пышущая жаром и охваченная пламенем, добавляет еще немного инфернального колорита и без того адскому зрелищу. #/$     Темный и мрачный проход ведет отсюда назад на юг."
proc go("юг","junction_with_warm_walls")
proc timer
proc look
end

;----------------------------------------------------------------
; Пещера с булыжниками

:chamber_of_boulders
nodwarf=1
loc="chamber_of_boulders"
proc clear
name = "Пещера с булыжниками"
descr = "Вы находитесь в маленькой камере, полной больших камней. От стен исходит сильный жар, и воздух здесь такой горячий, что трудно дышать. Единственный выход отсюда - это проход, ведущий на запад, через который доносится приглушенный рокот. "
proc go("запад","junction_with_warm_walls")
proc timer
proc look
end

:spices
note="Они пахнут на редкость экзотично!"
act=""
proc std_do("spices")
proc look
end

;----------------------------------------------------------------
; Известняковый проход

:limestone_passage
nodwarf=1
loc="limestone_passage"
proc clear
name = "Известняковый проход"
descr = "Вы идете вдоль слегка изгибающегося прохода с севера на юг, полного известняковых образований причудливой формы."
proc go("север","fork_in_path")
proc go("юг","front_of_barren_room")
proc timer
proc look
end

;----------------------------------------------------------------
; У входа в пещеру

:front_of_barren_room
nodwarf=1
loc="front_of_barren_room"
proc clear
name = "У входа в пещеру"
descr = "Вы стоите на пороге большой полутемной пещеры. Над входом висит табличка: ~Осторожно! Злой медведь!~"
proc go("в коридор","limestone_passage")
proc go("в пещеру","barren_room")
proc timer
proc look
end

;----------------------------------------------------------------
; Медвежья пещера

:barren_room
nodwarf=1
loc="barren_room"
proc clear
name = "Медвежья пещера"
descr = "Вы внутри просторной и полутемной пещеры. В основном в ней нет ничего, кроме пыли на полу. Хорошо заметные следы в пыли ведут в дальний угол. Единственный выход - там, откуда Вы вошли. "
if bear_tame=0 then descr=descr+"Пещерный [[медведь|bear]] свирепо уставился на Вас из дальнего угла комнаты!"
if bear_tame=1 and bear_free=0 then descr=descr+"Пещерный [[медведь|bear]] мирно сидит в одном из углов."
proc go("назад","front_of_barren_room")
proc timer
proc look
end

:bear
note="Медведь выглядит очень большим"
if bear_tame=0 then note=note+" и очень свирепым! " else note=note+", но вполне дружелюбным. "
if bear_free=0 then note=note+"Он прикован к стене прочной золотой [[цепью|chain]]. "
act=""
if bear_free=1 and bear_follow=0 then proc do("[[подозвать медведя|catch_bear]]")
if bear_follow=1 then proc do("[[прогнать медведя|free_bear]]")
if bear_follow=1 and loc="ne_side_of_chasm" and troll_here=1 then proc do("[[натравить медведя на тролля|seton_bear]]")
proc look
end

:feed_bear
bear_tame=1
proc delete("food")
proc refresh
note="Медведь жадно сожрал предложенную пищу и облизнулся. После этого он, похоже, успокоился и решил с Вами подружиться. "
act=""
proc look
end

:catch_bear
bear_follow=1
proc refresh
note="Ладно, теперь медведь будет следовать за Вами по пятам."
act=""
proc look
end

:seton_bear
troll_here=0 
troll_afraid=1
proc refresh
note="Медведь направился прямо к троллю... Тот испуганно взвыл и растворился в темноте. Медведю быстро надоело его преследовать, и он вернулся к Вам."
act=""
proc look
end

:free_bear
bear_follow=0
bear_loc=loc
proc refresh
note="Ладно, теперь медведь оставит Вас в покое."
act=""
proc look
end

:attack_bear
note="Ваши голые руки - против его ~голых~ лап?!"
act=""
proc look
end

:attack_bear_with_axe
proc drop("axe")
proc refresh
note="Медведь сокрушительным ударом лапы выбил топор из Ваших рук. "
act=""
proc look
end

:attack_bear_with_trident
proc drop("trident")
proc refresh
note="Медведь сокрушительным ударом лапы выбил трезубец из Ваших рук. "
act=""
proc look
end

:chain
note="Цепь состоит из массивных золотых звеньев! "
if bear_free=0 then note=note+"Она продета сквозь вделанное в стену пещеры железное кольцо и на замок пристегнута к [[медведю|bear]]. "
act=""
if not Цепь and bear_free=1 then proc do("[[взять|get_chain]]")
if not Цепь and bear_free=0 then proc do("[[взять|cant_get_chain]]")
if Цепь then proc do("[[бросить|drop_chain]]")
if Цепь and ( loc="sw_side_of_chasm" or loc="ne_side_of_chasm" ) and troll_here=1 then proc do("[[дать троллю|give_troll_chain]]")
proc look
end

:cant_get_chain
note="Цепь на замок пристегнута к медведю. "
if bear_tame=0 then note=note+"Свирепому медведю!"
act=""
proc look
end


:break_chain_with_axe
if bear_tame=0 then note="Медведь выглядит таким свирепым, что к цепи лучше не приближаться!" else note="Топор отскочил от цепи, не причинив ей никаких повреждений. "
act=""
proc look
end

:unlock_chain
if bear_tame=0 then note="Медведь выглядит таким свирепым, что к цепи лучше не приближаться!" & goto unlock_chain_end
bear_free=1
bear_loc=loc
proc place("chain","barren_room")
proc refresh
note="Вы отперли замок, и теперь медведь - к счастью, уже ручной - на свободе."
:unlock_chain_end
act=""
proc look
end

:get_chain
proc get("chain")
end

:drop_chain
proc drop("chain")
end

:give_troll_chain
proc give_troll("chain")
end


;----------------------------------------------------------------
; Лабиринт из разных проходов

:dm1
loc="dm1"
proc clear
descr = "Вы в лабиринте отличающихся друг от друга запутанных узких проходов. "
if enter_to_different_maze=1 then 
	_ enter_to_different_maze=0 &
	_ descr = "Вы проползли сквозь извилистый тоннель и вылезли через отверстие в полу, оказавшись в лабиринте отличающихся друг от друга запутанных узких проходов. "
proc gomaze("dm10","dm8","dm11","dm5","dm9","dm6","dm3","dm4","dm7","west_end_of_long_hall")
proc timer
proc look
end

:dm2
loc="dm2"
proc clear
descr = "Вы в лабиринте отличающихся друг от друга узких запутанных проходов. "
proc gomaze("dm9","dm6","dm4","dm8","dm5","dm7","dead_end_14","dm3","dm11","dm10")
proc timer
proc look
end

:dm3
loc="dm3"
proc clear
descr = "Вы в лабиринте узких проходов, запутанных и отличающихся друг от друга. "
proc gomaze("dm1","dm5","dm10","dm7","dm2","dm4","dm11","dm6","dm8","dm9")
proc timer
proc look
end


:dm4
loc="dm4"
proc clear
descr = "Вы в лабиринте узких запутанных проходов, отличающихся друг от друга. "
proc gomaze("dm7","dm1","dm5","dm9","dm10","dm2","dm6","dm8","dm3","dm11")
proc timer
proc look
end


:dm5
loc="dm5"
proc clear
descr = "Вы в лабиринте запутанных проходов, узких и отличающихся друг от друга. "
proc gomaze("dm4","dm10","dm9","dm6","dm8","dm11","dm2","dm7","dm1","dm3")
proc timer
proc look
end


:dm6
loc="dm6"
proc clear
descr = "Вы в запутанном лабиринте узких проходов, отличающихся друг от друга. "
proc gomaze("dm11","dm4","dm3","dm1","dm7","dm5","dm9","dm2","dm10","dm8")
proc timer
proc look
end


:dm7
loc="dm7"
proc clear
descr = "Вы в узком лабиринте запутанных проходов, отличающихся друг от друга. "
proc gomaze("dm8","dm11","dm1","dm10","dm6","dm3","dm5","dm9","dm2","dm4")
proc timer
proc look
end


:dm8
loc="dm8"
proc clear
descr = "Вы в лабиринте запутанных и отличающихся друг от друга узких проходов. "
proc gomaze("dm3","dm9","dm2","dm11","dm1","dm10","dm7","dm5","dm4","dm6")
proc timer
proc look
end


:dm9
loc="dm9"
proc clear
descr = "Вы запутались в лабиринте узких проходов, отличающихся друг от друга. "
proc gomaze("dm2","dm7","dm8","dm3","dm11","dm1","dm4","dm10","dm6","dm5")
proc timer
proc look
end


:dm10
loc="dm10"
proc clear
descr = "Вы запутались в лабиринте отличающихся друг от друга узких проходов. "
proc gomaze("dm6","dm2","dm7","dm4","dm3","dm9","dm8","dm11","dm5","dm1")
proc timer
proc look
end


:dm11
loc="dm11"
proc clear
descr = "Вы запутались в узком лабиринте отличающихся друг от друга проходов. "
proc gomaze("dm5","dm3","dm6","dm2","dm4","dm8","dm10","dm1","dm9","dm7")
proc timer
proc look
end


;----------------------------------------------------------------
; Тупик (рядом с торговым автоматом)

:dead_end_14
nodwarf=1
loc="dead_end_14"
proc clear
name = "Тупик (рядом с торговым автоматом)"
descr = "Вы в тупике - дальше пути нет. Однако, здесь стоит здоровенный торговый [[автомат|vending]]!"
proc go("назад","dm2")
proc timer
proc look
end

:vending
note="На торговом автомате есть инструкция: ~Опустите монеты, чтобы получить пару батареек.~"
act=""
proc do("[[взломать автомат|attack_vending]]")
proc look
end

:attack_vending
note="Похоже, что автомат сертифицирован на вандалоустойчивость. Несмотря на все Ваши усилия, на нем не осталось даже царапины!"
act=""
proc look
end

:insert_coins
score=score-5
proc delete("rare_coins")
proc place("batteries", loc)
proc refresh
note="Вы опустили монетки в щель, машина заурчала и затряслась, и набор свежих [[батареек|batteries]] вывалился из нее прямо к Вашим ногам."
act=""
proc look
end

:batteries
note="Выглядят, как пара обыкновенных батареек."
act=""
proc std_do("batteries")
if Лампа and Батарейки then proc do("[[вставить в лампу|change_battery]]")
proc look
end


;----------------------------------------------------------------
; Лабиринт из запутанных узких проходов (все одинаковые)


:am1
loc="am1"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
if enter_to_alike_maze=1 then 
	_ enter_to_alike_maze=0 &
	_ descr = "Вы проползли сквозь узкий проход и вылезли через отверстие в потолке, оказавшись в лабиринте одинаковых узких проходов. "
proc gomaze("am11","","am1","","am2","","am4","","west_end_hall_of_mists","")
proc timer
proc look
end

:am2
loc="am2"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am1","","","","am4","","am3","","","")
proc timer
proc look
end

:am3
loc="am3"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("","","dead_end_13","","am2","","am6","","","dead_end_3")
proc timer
proc look
end

:am4
loc="am4"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am1","","am2","","dead_end_1","","dead_end_2","","am14","am14")
proc timer
proc look
end

:am5
loc="am5"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am7","","","","am6","","","","","")
proc timer
proc look
end

:am6
loc="am6"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am5","","","","am3","","am8","","","am7")
proc timer
proc look
end

:am7
loc="am7"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am5","","","","am8","","am9","","am6","")
proc timer
proc look
end

:am8
loc="am8"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am6","","am10","","am7","","am8","","am9","dead_end_12")
proc timer
proc look
end

:am9
loc="am9"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am7","","am8","","","","dead_end_4","","","")
proc timer
proc look
end

:am10
loc="am10"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am8","","am10","","cliff","","","","","dead_end_5")
proc timer
proc look
end

:am11
loc="am11"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am11","","am1","dead_end_10","dead_end_9","","am11","","","")
proc timer
proc look
end

:am12
nodwarf=1
loc="am12"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("dead_end_11","","","","am13","","cliff","","","")
proc timer
proc look
end

:am13
nodwarf=1
loc="am13"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("am12","dead_end_13","cliff","","","","","","","")
proc timer
proc look
end

:am14
loc="am14"
proc clear
descr = "Вы в лабиринте запутанных узких проходов. Они все одинаковые. "
proc gomaze("","","","","","","","","am4","am4")
proc timer
proc look
end

;----------------------------------------------------------------
; Тупики в лабиринтах

:dead_end_1
loc="dead_end_1"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","am4")
proc timer
proc look
end

:dead_end_2
loc="dead_end_2"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","am4")
proc timer
proc look
end

:dead_end_3
loc="dead_end_3"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","am3")
proc timer
proc look
end

:dead_end_4
loc="dead_end_4"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","am9")
proc timer
proc look
end

:dead_end_5
loc="dead_end_5"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","am10")
proc timer
proc look
end

:dead_end_6
nodwarf=1
loc="dead_end_6"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","cliff")
proc timer
proc look
end

:dead_end_9
loc="dead_end_9"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","am11")
proc timer
proc look
end

:dead_end_10
loc="dead_end_10"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","am3")
proc timer
proc look
end

:dead_end_11
nodwarf=1
loc="dead_end_11"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","am12")
proc timer
proc look
end

:dead_end_12
loc="dead_end_12"
proc clear
descr = "Вы в глухом тупике - дальше путь отсутствует. "
proc go("назад","am8")
proc timer
proc look
end

;----------------------------------------------------------------
; Логово пирата

:dead_end_13
nodwarf=1
loc="dead_end_13"
proc clear
name="Логово пирата"
descr = "Вы в глухом тупике, в котором устроил свое логово пират. "
proc go("назад","am13")
proc timer
proc look
end

:chest
note="Сундук пирата наполнен до краев золотом и драгоценностями!"
act=""
proc std_do("chest")
proc look
end


;----------------------------------------------------------------
; На краю обрыва

:cliff
nodwarf=1
loc="cliff"
proc clear
name = "На краю обрыва"
descr = "Вы на краю девятиметрового обрыва. Вниз по стене спускается массивная оранжевая каменная [[колонна|column]]. Отсюда также уходят несколько проходов. "
proc go("запад","am10")
proc go("север","am12")
proc go("юг","dead_end_6")
proc go("восток","am13")
proc timer
proc look
end

:column
note="Колонна имеет красивый оранжево-красный цвет со струящейся текстурой, похожей на застывший поток воды. По неровностям и трещинам в колонне нетрудно спуститься вниз с обрыва, но подняться обратно уже вряд ли получится. "
act=""
proc do("[[спуститься по колонне|bird_chamber]]")
proc look
end


;----------------------------------------------------------------
; Северо-восточный угол хранилища

:ne_end
loclight=1
loc="ne_end"
proc clear
name = "Северо-восточный угол хранилища"
descr = "Вы находитесь в северо-восточном конце громадной комнаты. Похоже, что это - главное хранилище реквизита для игры ~ПРИКЛЮЧЕНИЕ~. Высоко над вашей головой в стенах торчат тяжелые факелы, освещающие комнату чадящим желтым светом. Вокруг можно видеть уйму разбросанных вещей: груду [[бутылок|props]] (все пустые), целую грядку маленьких зеленых [[стебельков|props]]  (тихо бормочущих что-то), бассейн с гигантскими [[устрицами|props]], связку черных [[жезлов|props]] с ржавыми звездами на концах и большую кучу латунных [[ламп|props]]. На одной из стен висит огромное [[зеркало|mirror2]], достигающее противоположного конца комнаты (где с трудом можно разглядеть груды других предметов). Неподалеку от Вас небольшая банда [[гномов|dwarves]] спит на полу с шумным храпом. В северной стене имеется большая железная [[дверь|door_to_office]] с табличкой: ~ГЛАВНЫЙ ОФИС!~"
proc go("юго-запад","sw_end")
proc timer
proc look
end

:props
note="Вам уже приходилось видеть это в других местах. Вряд ли этот реквизит пригодится Вам здесь. "
act=""
proc do("[[взять|get_props]]")
proc look
end

:get_props
note="Подумав о том, что присвоив что-нибудь из реквизита, Вы можете обломать весь кайф другим играющим в ~ПРИКЛЮЧЕНИЕ~, Вы решили ничего не трогать."
act=""
proc look
end

:dwarves
note="На Вашем месте, я бы их не будил. "
act=""
proc do("[[разбудить|die_wakeup_dwarves]]")
proc look
end

:door_to_office
note="Крайне надежная железная дверь. Естественно, она закрыта и заперта. "
act=""
proc do("[[открыть|try_open_door]]")
proc look
end

:try_open_door
note="Если бы это было так просто..."
act=""
proc look
end

:
note=""
act=""
proc do("[[|]]")
proc look
end

;----------------------------------------------------------------
; Юго-западный угол хранилища

:sw_end
loclight=1
loc="sw_end"
proc clear
name = "Юго-западный угол хранилища"
descr = "Вы находитесь в юго-западном конце громадного хранилища. С одной стороны от Вас огромный колодец, полный свирепых зеленых [[змей|props]]. С другой стороны - длинный ряд плетеных [[клеток|props]], в каждой из которых сидит по маленькой грустной птичке. В одном из углов лежат связки [[черных|props]] и [[красных|dinamite]] жезлов со ржавыми звездами на концах. По полу разбросано множество бархатных [[подушек|props]]. Огромное [[зеркало|mirror2]] продолжается на северо-восток. У Ваших ног находится большая стальная [[решетка|repository_grate]] с табличкой: ~СОКРОВИЩНИЦА. Ключи в главном офисе.~"
proc go("северо-восток","ne_end")
proc timer
proc look
end

:dinamite
if taken_dinamite=0  
	_ then note="Кажется, таких - красных - жезлов Вы раньше еще не видели."
	_ else note="Куча динамита. Пожалуй, тут поблизости лучше не курить."
act=""
proc do("[[взять|try_get_dinamite]]")
proc look
end


:try_get_dinamite
if taken_dinamite = 0 then goto get_dinamite
note="Вы уже взяли один и, пожалуй, довольно."
act=""
proc look
end

:get_dinamite
proc get("real_dinamite")
note="Взяв красный ~жезл~, Вы внезапно поняли, что это вовсе никакой не жезл, а динамитная шашка! На ней имеется надпись мелким шрифтом: ~Просто ВЗОРВИ~"
taken_dinamite=1
act=""
proc look
end

:real_dinamite
note="Динамитная шашка. Будьте с ней поосторожнее! На шашке имеется надпись мелким шрифтом: ~Просто ВЗОРВИ~"
proc std_do("real_dinamite")
proc do("[[взорвать|try_blast]]")
proc look
end

:try_blast
note="А как? У Вас нет с собой спичек. "
act=""
proc look
end


:mirror2
note="Выглядит как обычное зеркало - но гигантских размеров. Кажется, это то самое зеркало, что висело в каньоне там, внизу. "
act=""
proc do("[[разбить|die_wakeup_dwarves3]]")
proc look
end


:repository_grate
note="Крепкая стальная решетка. Она закрыта и заперта. "
act=""
proc do("[[открыть|try_open_door]]")
proc look
end


;----------------------------------------------------------------
; Гном

:dwarf
note="Наверное, лучше держаться от него подальше. Больно уж злобным и агрессивным он выглядит!"
act=""
proc do("[[ударить гнома|kick_dwarf]]")
proc look
end

:kick_dwarf
if rnd3=1 then note="Промах! Маленький [[гном|dwarf]] ловко увернулся от Вашего удара. " else note="Удар был удачным - [[гном|dwarf]] улетел в противоположный конец комнаты. Он выругался, вскочил на ноги и торопливо отряхнулся. Надо ли говорить, что теперь он еще злее, чем раньше! "
act=""
proc dwarf_action
proc look

end

:feed_dwarf
note="Ох, как глупо - ведь гномы питаются только углем! Похоже, что он только взбесился еще больше!"
act=""
proc dwarf_action
proc look

end

:attack_dwarf
if rnd3=1 
	_ then 
		_ note="Промах! Маленький [[гном|dwarf]] ловко увернулся от Вашего удара. " &
		_ proc dwarf_action
	_ else 
		_ proc kill_dwarf & 
		_ proc refresh &
		_ note="Вы убили гнома наповал! Его тело бесследно исчезло в облаке густого черного дыма." 
act="" 
proc look
end


;----------------------------------------------------------------
; Действия гнома

:dwarf_action
action_probability=rnd100
action_probability2=rnd3
if action_probability <= 70 then proc dwarf_attack
if action_probability > 70 and action_probability2=1 then 
	_ proc remove_dwarf &
	_ proc addnote("Похоже, что гному все это надоело - он убрался прочь. " )
end

:dwarf_attack
attack_probability=rnd100
if attack_probability28 then goto die_dwarf
proc addnote("[[Гном|dwarf]] швырнул в Вас маленький острый нож... но промахнулся! ")
end


:try_dwarf_come
if dwarf_active=0 and dwarf_awaiting=0 and loc<>"darkness" and rnd100<=dwarf_number then proc dwarf_come
end

:dwarf_come
dwarf_active=1
note="Маленький злобный [[гном|dwarf]] появился из темноты! "
if loc="secret_canyon" and dragon_killed=0 then 
	_ proc kill_dwarf &
	_ note=note+"Но дракон дохнул огнем... и от гнома остались дымок и горстка пепла! " 
end

:remove_dwarf
dwarf_active=0
dwarf_awaiting=3
end

:kill_dwarf
dwarf_active=0
dwarf_number=dwarf_number-1
dwarf_awaiting=3
end


;----------------------------------------------------------------
; Пират

:try_pirate_come
proc treasure_count
if pirate_steal=0 and t_count>0 and rnd100<=2 then goto pirate_come_to_steal
if pirate_steal=1 and pirate_spotted=0 and rnd100<=2 then goto pirate_come_to_spot
end

:pirate_come_to_spot
proc place("chest","dead_end_13")
pirate_spotted=1
note="В темноте за Вашей спиной раздался легкий шорох. Резко повернувшись, Вы обнаружили там рослого бородатого пирата, тащащего с собой здоровенный сундук. ~Тысяча чертей!~ - взвыл он. ~Меня обнаружили! Спрячу-ка я свой сундук где-нибудь в глубине лабиринта!~ Промолвив это, он исчез в темноте."
act=""
proc look
end

:pirate_come_to_steal
proc steal_treasure
pirate_steal=1
note="Откуда-то из теней за Вашей спиной беззвучно появился бородатый пират с огромной саблей в руках! ~Ха, ха~ - хмыкнул он. - ~А возьму-ка эти сокровища, и спрячу у себя сундуке. Там они целее будут!~ Не успели Вы и глазом моргнуть, как он ловко хапнул Вашу добычу, и растворился с нею во мраке. "
act=""
proc look
end

:steal_treasure
i=1
:steal_treasure_loop
points=item#i$points
if item#i$loc="inv" and points>0 then 
	_ proc place(item#i$,"dead_end_13") &
	_ score=score-5
if i<items_count then i=i+1 & goto steal_treasure_loop
end

;----------------------------------------------------------------
; пещера закрывается


:cave_closed
forget_procs
cls
pln
pln      Внезапно тишину подземелья нарушил замогильный голос, отражающийся эхом от стен пещеры: 
pln      ~ВНИМАНИЕ! Пещера закрывается! Всем искателям приключений - немедленно покинуть ее через главный офис!~ 
pln      Едва утихло эхо, последовала вспышка яркого света в сопровождении клубов оранжевого дыма...
pln 
pln      Когда у Вас перестала кружиться голова, Вы посмотрели по сторонам...
pln
pln      [[Дальше|ne_end]]
score=score+35
proc remove_all
end

:remove_all
i=1
:remove_all_loop
if item#i$loc="inv" then proc delete(item#i$)
if i<items_count then i=i+1 & goto remove_all_loop
end


;----------------------------------------------------------------
; темнота

:darkness
nodwarf=1
prevloc=loc
loc="darkness"
name = "Темнота"
descr = "Здесь кромешная тьма. Если Вы пойдете дальше, можете свалиться в какую-нибудь яму!"
note = ""
exits = "[[куда-нибудь наугад|die_dark]]"
act = ""
proc look
end

;----------------------------------------------------------------
; смерть в темноте

:die_dark
dead=1
forget_procs
cls
pln
pln      Плутая во тьме, Вы свалились в яму и переломали себе все кости!
pln
deaths=deaths+1
goto afterlife
end

:die_no_batteries
dead=1
forget_procs
cls
pln
pln      Энергия батареек совсем иссякла и лампа погасла! А без лампы исследование пещеры невозможно. Так что игра, увы, проиграна.
pln
deaths=5
goto afterlife
end

;----------------------------------------------------------------
; смерть от падения

:die_fall
dead=1
forget_procs
cls
pln
pln      Спускаясь по грубым ступеням с тяжелым сокровищем, Вы не удержали равновесие и полетели вниз... И теперь лежите на дне провала со сломанной шеей.
pln
deaths=deaths+1
goto afterlife
end


:die_fissue
dead=1
forget_procs
cls
pln
pln      Отличный прыжок! До противоположного края Вы не долетели совсем немного...
pln
deaths=deaths+1
goto afterlife
end

:die_fall_chasm
dead=1
forget_procs
cls
pln
pln      Когда Вы почти добрались до противоположного конца, мост прогнулся и затрещал под тяжестью медведя, преданно следовавшего за Вами. Несколько секунд Вы тщетно хватались за все подряд, но затем мост не выдержал, и его остатки обрушились в пропасть. Вместе с Вами...
pln
bridge_wreck=1
bear_follow=0
bear_loc=""
deaths=deaths+1
goto afterlife
end


;----------------------------------------------------------------
; смерть от змеи

:die_snake
dead=1
forget_procs
cls
pln
pln      Вы хотели взять змею, но получилось наоборот. Аа-ап! Хруп-хруп!
pln
deaths=deaths+1
goto afterlife
end

;----------------------------------------------------------------
; смерть от гнома

:die_dwarf
dead=1
forget_procs
cls
pln
pln      Гном швырнул в Вас маленький острый нож... и попал в цель!
pln
deaths=deaths+1
goto afterlife
end

:die_wakeup_dwarves
dead=1
forget_procs
cls
pln
pln      Вы пихнули ближайшего к Вам гнома в бок. Сладко зевнув, он открыл глаза, бросил на Вас беглый взгляд, выругался, и схватился за свой топор.
pln      Шум разбудил остальных гномов. Несколько дюжин маленьких злобных гномов - в одной комнате с Вами! Большинство из них метнуло в Вас ножи! Ни один не промахнулся!
pln
goto afterlife
end

:die_wakeup_dwarves2
dead=1
forget_procs
cls
pln
pln      Шум разбудил остальных гномов. Несколько дюжин маленьких злобных гномов - в одной комнате с Вами! Большинство из них метнуло в Вас ножи! Ни один не промахнулся!
pln
goto afterlife
end

:die_wakeup_dwarves3
dead=1
forget_procs
cls
pln
pln      Вы нанесли страшный удар по зеркалу - и с оглушительным звоном оно разлетелось на бесчисленное множество осколков!
pln      Шум разбудил остальных гномов. Несколько дюжин маленьких злобных гномов - в одной комнате с Вами! Большинство из них метнуло в Вас ножи! Ни один не промахнулся!
pln
goto afterlife
end

;----------------------------------------------------------------
; смерть от взрыва

:die_blast
dead=1
forget_procs
cls
pln
pln      Чудовищный взрыв размазал Вас по стенам комнаты очень тонким слоем.
pln
goto afterlife
end

:die_blast2
dead=1
forget_procs
cls
pln
pln      Чудовищный взрыв проделал в дальней стене шестиметровое отверстие (заодно похоронив колодец со змеями под грудой камней). В него хлынул поток горячей лавы, испепеливший все на своем пути, включая Вашу персону!
pln
score=score+20
goto afterlife
end

;----------------------------------------------------------------
; воскрешение

:afterlife
score=score-10
if cave_is_close=1 then goto gameover
if deaths=1 then pln      Бедняга! Умудрились себя угробить... Я могу Вам помочь, но предупреждаю: раньше я никогда этого не делал. Итак: попробовать вернуть Вас к жизни?
if deaths=2 then pln      Это ж надо -- опять угробились! Предупреждаю прямо -- я не знаю, долго ли еще смогу вытаскивать Вас оттуда. Ну что, опять вернуть Вас к жизни?
if deaths=3 then pln      Нет, Вы меня достали! Мои запасы оранжевого дыма на исходе! А воскрешение без оранжевого дыма -- это же просто курам на смех! Так что, воскресить Вас в последний раз?
if deaths>=4 then goto gameover
pln
pln      [[Да|resurrection]], [[Нет|gameover]]
pln
end

:resurrection
if deaths=1 then 
	_ pln &
	_ pln      Ну хорошо. Только без претензий, если что-нибудь вдруг не полу... &
	_ pln      --- ФФ-ФФФФ!! --- &
	_ pln      Вас окутало облако густого оранжевого дыма. &
    _ pln      Задыхаясь и кашляя, Вы выбрались из него, и обнаружили, что Вы находитесь...
if deaths=2 then 
	_ pln      Ладно, ладно. Ну, где там мой оранжевый дым?... >ФФФФ!< &
    _ pln      Все вокруг вновь исчезло в облаках оранжевого дыма.
if deaths=3 then 
	_ pln      Ладно, но если Вы такой умный, дальше позаботьтесь о себе сами! Я умываю руки!
if not Лампа then proc get("lamp") & lamp=0
proc remove_treasures
dwarf_active=0
pln      [[Дальше|return_to_building]]
end

:remove_treasures
if loc="darkness" then droploc=prevloc else droploc=loc
i=1
:remove_treasures_loop
points=item#i$points
if item#i$loc<>"inv" or points=0 then goto remove_treasures_next
inv- #%item#i$inv$
item#i$loc=droploc
points=item#i$points
score=score-5
if loc="inside_building" then score=score+points
:remove_treasures_next
if i<items_count then i=i+1 & goto remove_treasures_loop
end

:return_to_building
dead=0
goto inside_building
end

;----------------------------------------------------------------
; победа

:win
invkill
forget_procs
cls
pln
pln      Чудовищный взрыв проделал в северной стене шестиметровое отверстие (заодно похоронив спящих гномов под грудой камней). Вы вошли в него - и оказались в главном офисе! Здесь Вас встретила ликующая толпа эльфов, которые подняли Вас на руки  и торжественно вынесли наружу навстречу пламенеющему закату...
pln
textalign=3
pln Конец   The End   Fin   Ende   Fine   Pabeigt   Consummavi
textalign=1
pln
score=score+35
goto gameover
end

;----------------------------------------------------------------
; конец игры

:gameover
perkill
invkill
pln      Приключение закончилось.
s = "случайного прохожего."
if score >= 10 then s = "начинающего искателя приключений."
if score >= 35 then s = "продвинутого искателя приключений."
if score >= 100 then s = "опытного спелеолога."
if score >= 200 then s = "мастера-юниора приключений."
if score >= 300 then s = "мастера приключений второго класса."
if score >= 130 then s = "профессионального спелеолога."
if score >= 330 then s = "мастера приключений первого класса."
if score >= 348 then s = "гроссмейстера приключений!"
pln      Вы сделали #turn$ ходов и набрали #score$ из 350 очков, что дает Вам квалификацию #%s$
pln
pln      [[Начать заново?|start]]
end



;----------------------------------------------------------------
; блокнот

:notepad
note = "В свой блокнот Вы записываете разную полезную информацию о пещере. "
note = note + "#/$     - Прогресс в исследовании пещеры: ходов - #turn$, счет - #score$ / 350."
if seen_xyzzy=1 then note = note + "#/$     - На стене пещеры написано ~[[XYZZY]]~."
if listen_pough=1 then note = note + "#/$     - Странный голос произнес ~[[ПУФФ|pough]]~ в комнате Y2."
if seen_fee=1 then note = note + "#/$     - На стене комнаты великана написано ~[[ФИ ФА ФО ФУ|fee]]~."
if listen_krya=1 then note = note + "#/$     - Странное [[кряканье|krya]] в утиной комнате."
if taken_dinamite=1 then note = note + "#/$     - На динамите написано ~Просто [[ВЗОРВИ|blast]]~."
act=""
proc look
end

:XYZZY
if loc="debris_room" then goto inside_building
if loc="inside_building" then goto debris_room
note="Вы произносите XYZZY, но ничего не происходит."
act=""
proc look
end

:pough
if loc="y2_room" then goto inside_building
if loc="inside_building" then goto y2_room
note="Вы произносите ПУФФ, но ничего не происходит."
act=""
proc look
end

:fee
note="Вы произносите ФИ ФА ФО ФУ. "
proc find("eggs") & i=find_res
if item#i$loc="giant_room" or ( item#i$loc="inv" and loc="giant_room" ) then 
	_ note=note+"Ничего не происходит." & 
	_ goto fee_end

if item#i$loc="inv" then score=score-5
if item#i$loc="inside_building" then score=score-item#i$points

if item#i$loc="inv" or item#i$loc=loc then 
	_ proc place(item#i$,"giant_room") & 
	_ note=note+"Внезапно гнездо с золотыми яйцами бесследно исчезает! " &
	_ goto fee_end

if loc="giant_room" then 
	_ proc place(item#i$,"giant_room") & 
	_ note=note+"Огромное гнездо, полное золотых яиц, появляется из ниоткуда! "
:fee_end
act=""
proc look
end

:krya
if loc="y2_room" then goto plover_room & proc move_emerald
if loc="plover_room" then goto y2_room & proc move_emerald
note="Чувствуя себя довольно глупо, Вы пытаетесь издать утиное кряканье. Ожидаемо, ничего не происходит. Вы сконфуженно замолкаете."
act=""
proc look
end

:move_emerald
proc find("emerald") & i=find_res
if item#i$loc="inv" then
	_ proc drop("emerald",1) &
	_ proc place("emerald","plover_room")
end

:blast
if loc="sw_end" and item11loc="ne_end" then goto win
if loc="ne_end" and item11loc="sw_end" then goto die_blast2
goto die_blast
end




;----------------------------------------------------------------
; Фломастер

:try_marker
if loc<>"darkness" then goto marker
note="Здесь слишком темно!"
act=""
proc look
end

:marker
note="Что написать?"
act=""
proc look
txt=""
p      > 
input txt
mark#%loc$=txt
note="Готово."
act=""
proc look
end

;----------------------------------------------------------------
; сохранение

:tosave
save
note = "Игра сохранена. "
act=""
proc look
end


;----------------------------------------------------------------
; события

:timer
if timer_pause=0 then turn=turn+1
if cave_is_close=1 then goto timer_end

if treasures_found = 15 then cave_close_timer=cave_close_timer+1
if cave_close_timer>25 and loclight=0 then cave_is_close=1 & goto cave_closed

if ( Лампа or item2loc=loc ) then lamp_here=1 else lamp_here=0
if loclight=0 and ( lamp=0 or lamp_here=0 ) then goto darkness

if timer_pause=0 and Лампа and lamp=1 then power = power - 1

if Лампа and lamp=1 and power=40 then
	_ note = "Свет вашей лампы заметно тускнеет. " &
	_ if not Батарейки then
		_ note = note + "А запасных батареек у Вас нет. Кажется, Вам пора закругляться."
if Лампа and lamp=1 and power=0 then
	_ lamp=0 &
	_ if Батарейки 
		_ then note = "Энергия батареек совсем иссякла! Лампа вот-вот погаснет." 
		_ else goto die_no_batteries

; Медведь 
if bear_follow=1 then descr=descr+"#/$     Большой и уже совсем ручной пещерный [[медведь|bear]] следует за Вами по пятам. "
if bear_follow=0 and bear_tame=1 and bear_free=1 and bear_loc=loc then descr=descr+"#/$     Здесь мирно бродит большой пещерный [[медведь|bear]]. "

; Гномы
if timer_pause=0 then
	_ if dwarf_number=0 or nodwarf=1 or loclight=1 or bear_loc=loc then proc remove_dwarf else proc try_dwarf_come
if timer_pause=0 and dwarf_active=1 and loc<>"darkness" then proc dwarf_action

if dwarf_active=1 and loc<>"darkness" then descr=descr+"#/$     Маленький злобный [[гном|dwarf]] следует за Вами! "

; Пират
if timer_pause=0 then
	_ if loc<>"secret_canyon" and dwarf_active=0 and loclight=0 and nodwarf=0  and ( pirate_steal=0 or pirate_spotted=0 ) then proc try_pirate_come

if dwarf_awaiting>0 then dwarf_awaiting=dwarf_awaiting-1
nodwarf=0
loclight=0
timer_pause=0
:timer_end
end


;----------------------------------------------------------------
; действия с предметами (use)

:use_Шрифт_Больше
if fontsize<40 then fontsize=fontsize+2
textfont = "sans[#fontsize$]" 
proc look
end

:use_Шрифт_Меньше
if fontsize>10 then fontsize=fontsize-2
textfont = "sans[#fontsize$]" 
proc look
end

:use_Сохранить
if dead=0 then proc tosave
end

:use_Блокнот
if dead=0 then proc notepad
end

:use_Фломастер
if dead=0 then proc try_marker
end

:use_Ключи
if dead=0 then proc keys
end

:use_Лампа
if dead=0 then proc lamp
end

:use_Бутылка
if dead=0 then proc bottle
end

:use_Еда
if dead=0 then proc food
end

:use_Клетка
if dead=0 then proc cage
end

:use_Птичка
if dead=0 then proc bird
end

:use_Жезл
if dead=0 then proc blackrod
end

:use_Самородок
if dead=0 then proc nugget
end

:use_Бриллианты
if dead=0 then proc diamonds
end

:use_Серебрянные слитки
if dead=0 then proc silver_bars
end

:use_Самоцветы
if dead=0 then proc jewelry
end

:use_Редкие монеты
if dead=0 then proc rare_coins
end

:use_Ковер
if dead=0 then proc carpet
end

:use_Топор
if dead=0 then proc axe
end

:use_Золотые яйца
if dead=0 then proc eggs
end

:use_Трезубец
if dead=0 then proc trident
end

:use_Ваза
if dead=0 then proc vase
end

:use_Подушка
if dead=0 then proc pillow
end

:use_Батарейки
if dead=0 then proc batteries
end

:use_Сундук
if dead=0 then proc chest
end

:use_Изумруд
if dead=0 then proc emerald
end

:use_Пирамида
if dead=0 then proc piramid
end

:use_Жемчужина
if dead=0 then proc pearl
end

:use_Пряности
if dead=0 then proc spices
end

:use_Цепь
if dead=0 then proc chain
end

:use_Журнал
if dead=0 then proc magazine
end

:use_Динамит
if dead=0 then proc real_dinamite
end



;----------------------------------------------------------------
; основные действия с предметами

:std_do
act=""
proc find(std_do_1)
i=find_res
if i<>0 and not #%item#i$inv$ then
	_ proc do("[[взять|get(item#i$)]]")
if i<>0 and #%item#i$inv$ then
	_ proc do("[[бросить|drop(item#i$)]]")
if i<>0 and #%item#i$inv$ and ( loc="sw_side_of_chasm" or loc="ne_side_of_chasm" ) and troll_here=1 then
	_ proc do("[[дать троллю|give_troll(item#i$)]]")
end

;----------------------------------------------------------------
; взять предмет 

:get
proc inventory_count
if i_count>7 then goto cant_get

proc find(get_1) & i=find_res & if i=0 then goto get_end
inv+ #%item#i$inv$
item#i$loc="inv"
item#i$init=""
points=item#i$points
if points>0 then proc get_treasure
proc refresh
if get_2<>1 then note="Взял."
act=""
proc look
:get_end
end

:get_treasure
score=score+5 
if loc="inside_building" then score=score-points
if item#i$found=0 then 
	_ item#i$found=1 & 
	_ score=score+2 &
	_ treasures_found=treasures_found+1
end

:cant_get
note="Вы несете слишком много вещей. Еще одну взять не сможете. "
act=""
proc look
end

;----------------------------------------------------------------
; бросить предмет 

:drop
if loc="darkness" then droploc=prevloc else droploc=loc
proc find(drop_1) & i=find_res & if i=0 then goto drop_end
inv- #%item#i$inv$
item#i$loc=droploc
points=item#i$points
if points>0 then proc drop_treasure
proc refresh
if drop_2<>1 then note="Бросил."
act=""
proc look
:drop_end
end

:drop_treasure
score=score-5 
if loc="inside_building" then score=score+points
end

;----------------------------------------------------------------
; удалить предмет из игры

:delete
proc find(delete_1) & i=find_res & if i=0 then goto delete_end
inv- #%item#i$inv$ 
item#i$loc="" 
:delete_end
end

;----------------------------------------------------------------
; поместить предмет в локацию

:place
proc find(place_1) & i=find_res
if i<>0 then
	_ inv- #%item#i$inv$ &
	_ item#i$loc=place_2 
end

;----------------------------------------------------------------
; счетчик инвентаря

:inventory_count
i=1
i_count=0
:inventory_count_loop
if item#i$loc="inv" then i_count=i_count+1
if i<items_count then i=i+1 & goto inventory_count_loop
end

;----------------------------------------------------------------
; счетчик сокровищ

:treasure_count
i=1
t_count=0
:treasure_count_loop
if item#i$loc="inv" and item#i$points>0 then t_count=t_count+1
if i<items_count then i=i+1 & goto treasure_count_loop
end



;----------------------------------------------------------------
; вывод текста локации по шаблону

:look
cls
textfont = "sans-bold[#fontsize$]"
if name <> "" then pln      #%name$
textfont = "sans[#fontsize$]"
if descr <> "" then pln      #%descr$
if mark#%loc$ <> "" then pln      На камнях написано: ~#%mark#%loc$$~.
proc set_items_inits
if items_descr <> "" then pln      #%items_descr$
proc set_items_list
if items <> "" then pln      Здесь есть: #%items$
if exits <> "" then pln      Проходы: #%exits$ 
if note <> "" then pln & pln      #%note$  
if act <> "" then pln      > #%act$  
end


;----------------------------------------------------------------
; вставку пустой строки нужной высоты

:line
textfont1 = textfont
textfont = "sans[#line_1$]"
pln
textfont = textfont1
end

;----------------------------------------------------------------
; обновить локацию (с учетом изменившихся переменных)

:refresh
timer_pause=1 & proc #%loc$
end

;----------------------------------------------------------------
; ждать

:wait
proc #%loc$
end

;----------------------------------------------------------------
; вывод первоначальных описаний предметов в локации 

:set_items_inits
items_descr="" & i=1
:set_items_inits_loop
if item#i$loc=loc and item#i$init<>"" then items_descr=items_descr+item#i$init
if i<items_count then i=i+1 & goto set_items_inits_loop
end

;----------------------------------------------------------------
; список предметов в локации 

:set_items_list
items="" & i=1
:set_items_list_loop
if item#i$loc=loc and item#i$init="" then proc additem(item#i$name)
if i<items_count then i=i+1 & goto set_items_list_loop
end

;----------------------------------------------------------------
; найти предмет и вернуть его номер

:find
find_res=0 & i=1
:find_loop_begin	
	if item#i$=find_1 then find_res=i & goto find_loop_end
	if i<items_count then i=i+1 & goto find_loop_begin
:find_loop_end
end

;----------------------------------------------------------------
; добавление предметов

:additem
if items <> "" then items = items + ", #%additem_1$" else items = additem_1
end

;----------------------------------------------------------------
; добавление действий 

:do
if act <> "" then act = act + ", #%do_1$" else act = do_1
end

;----------------------------------------------------------------
; абзац в действиях 

:dopar
if act <> "" then act = act + "#/$#%dopar_1$" else act = dopar_1
end

;----------------------------------------------------------------
; добавление выходов 

:go
if exits <> "" then exits = exits + ", [[#%go_1$|#%go_2$]]" else exits = "[[#%go_1$|#%go_2$]]"
end

;----------------------------------------------------------------
; добавление выходов для лабиринтов (чисто для упрощения кода)
; порядок параметров: w, nw, n, ne, e, se, s, sw, u, d

:gomaze
if gomaze_1<>"" then proc go("запад","#%gomaze_1$")
if gomaze_2<>"" then proc go("северо-запад","#%gomaze_2$")
if gomaze_8<>"" then proc go("юго-запад","#%gomaze_8$")
if gomaze_3<>"" then proc go("север","#%gomaze_3$")
if gomaze_7<>"" then proc go("юг","#%gomaze_7$")
if gomaze_4<>"" then proc go("северо-восток","#%gomaze_4$")
if gomaze_6<>"" then proc go("юго-восток","#%gomaze_6$")
if gomaze_5<>"" then proc go("восток","#%gomaze_5$")
if gomaze_9<>"" then proc go("вверх","#%gomaze_9$")
if gomaze_10<>"" then proc go("вниз","#%gomaze_10$")
end


;----------------------------------------------------------------
; добавление доп. описания 

:addnote
if note <> "" then note = note + "#/$     #%addnote_1$" else note = "#%addnote_1$"
end

;----------------------------------------------------------------
; сброс переменных отображения

:clear
name = ""
descr = ""
exits = ""
items=""
note = ""
act = ""
end

;----------------------------------------------------------------
; установка переменных

:initialize
startgameflag=1
inv+ Шрифт
inv+ Сохранить 
inv+ -
inv+ Блокнот
inv+ Фломастер
turn=0
score=36
deaths=0
treasures_found=0
cave_close_timer=0
timer_pause=0
bottle_cont=0
vase_break=0
lamp=0
power=400
grate_opened=0
grate_unlocked=0
crystal_bridge=0
dragon_killed=0
snake_gone=0
hall_of_mists_visited=0
plant=0
giantdoor_opened=0
giantdoor_unlocked=0
bivalve_opened=0
dwarf_number=5

items_count=30

item1="keys"
item1name="связка [[ключей|keys]]"
item1inv="Ключи"
item1init="Прямо на полу лежит связка [[ключей|keys]]. "
item1loc="inside_building"

item2="lamp"
item2name="латунная [[лампа|lamp]]"
item2inv="Лампа"
item2init="Рядом тускло поблескивает латунная [[лампа|lamp]]. "
item2loc="inside_building"

item3="bottle"
item3name="[[бутылка|bottle]]"
item3inv="Бутылка"
item3init="Здесь лежит пустая [[бутылка|bottle]]. "
item3loc="inside_building"

item4="food"
item4name="немного [[еды|food]]"
item4inv="Еда"
item4init="Здесь имеется и кое-какая [[еда|food]]. "
item4loc="inside_building"

item5="cage"
item5name="плетеная [[клетка|cage]]"
item5inv="Клетка"
item5init="Небольшая плетеная [[клетка|cage]] лежит неподалеку. "
item5loc="cobble_crawl"

item6="blackrod"
item6name="черный [[жезл|blackrod]]"
item6inv="Жезл"
item6init="Черный [[жезл|blackrod]], один конец которого украшает ржавая железная звезда, лежит у Ваших ног."
item6loc="debris_room"

item7="axe"
item7name="маленький [[топор|axe]]"
item7inv="Топор"
item7init="На куче камней лежит маленький [[топор|axe]]. "
item7loc="nugget_of_gold_room"

item8="pillow"
item8name="бархатная [[подушка|pillow]]"
item8inv="Подушка"
item8init="Небольшая бархатная [[подушка|pillow]] валяется на полу. "
item8loc="soft_room"

item9="batteries"
item9name="[[батарейки|batteries]]"
item9inv="Батарейки"
item9init="Здесь лежит пара свежих [[батареек|batteries]]. "
item9loc=""

item10="magazine"
item10name="свежий номер ~[[Ежедневника кладоискателя|magazine]]~"
item10inv="Журнал"
item10init="Здесь лежит свежий номер ~[[Ежедневника кладоискателя|magazine]]~"
item10loc="anteroom"

item11="real_dinamite"
item11name="[[динамит|real_dinamite]]"
item11inv="Динамит"
item11init=""
item11loc=""

item12="bird"
item12name="[[птичка|bird]]"
item12inv="Птичка"
item12init="Здесь сидит маленькая [[птичка|bird]] и весело поет."
item12loc="bird_chamber"

;----------------------------------------------------------------
; сокровища

item15="nugget"
item15name="золотой [[самородок|nugget]]"
item15inv="Самородок"
item15init="На полу поблескивает большой золотой [[самородок|nugget]]. "
item15loc="nugget_of_gold_room"
item15points=10
item15found=0

item16="diamonds"
item16name="россыпь [[бриллиантов|diamonds]]"
item16inv="Бриллианты"
item16init="Прямо на полу сверкает россыпь [[бриллиантов|diamonds]]! "
item16loc="west_side_of_fissue"
item16points=10

item17="silver_bars"
item17name="серебрянные [[слитки|silver_bars]]"
item17inv="Серебрянные слитки"
item17init="На полу лежит груда [[серебряных слитков|silver_bars]]!"
item17loc="low_n_s_passage"
item17points=10

item18="jewelry"
item18name="[[самоцветы|jewelry]]"
item18inv="Самоцветы"
item18init="На полу лежит россыпь [[самоцветов|jewelry]]! "
item18loc="south_side_chamber"
item18points=10

item19="rare_coins"
item19name="редкие [[монеты|rare_coins]]"
item19inv="Редкие монеты"
item19init="На полу рассыпано множество [[монет|rare_coins]]! "
item19loc="west_side_chamber"
item19points=10

item20="carpet"
item20name="персидский [[ковер|carpet]]"
item20inv="Ковер"
item20init="Пол пещеры покрыт роскошным персидским [[ковром|carpet]]. "
item20loc="secret_canyon"
item20points=14

item21="eggs"
item21name="гнездо с золотыми [[яйцами|eggs]]"
item21inv="Золотые яйца"
item21init="Здесь лежит большое золотое гнездо, полное [[золотых яиц|eggs]]! "
item21loc="giant_room"
item21points=14

item22="trident"
item22name="[[трезубец|trident]]"
item22inv="Трезубец"
item22init="На берегу бассейна у самой воды лежит [[трезубец|trident]], усыпанный драгоценностями!"
item22loc="cavern_with_waterfall"
item22points=14

item23="vase"
item23name="китайская [[ваза|vase]]"
item23inv="Ваза"
item23init="На высоком камне, словно на витрине музея, стоит изящная китайская [[ваза|vase]]. "
item23loc="oriental_room"
item23points=14

item24="chest"
item24name="[[сундук|chest]] с сокровищами"
item24inv="Сундук"
item24init="На полу лежит пиратский [[сундук|chest]] с сокровищами!"
item24loc=""
item24points=12

item25="emerald"
item25name="большой [[изумруд|emerald]]"
item25inv="Изумруд"
item25init="Здесь лежит [[изумруд|emerald]] размером с утиное яйцо! "
item25loc="plover_room"
item25points=14

item26="piramid"
item26name="платиновая [[пирамида|piramid]]"
item26inv="Пирамида"
item26init="Здесь лежит [[пирамида|piramid]] из платины высотой в двадцать сантиметров!"
item26loc="dark_room"
item26points=14

item27="pearl"
item27name="перламутровая [[жемчужина|pearl]]"
item27inv="Жемчужина"
item27init="На полу лежит большая перламутровая [[жемчужина|pearl]]!"
item27loc=""
item27points=14

item28="spices"
item28name="экзотические [[пряности|spices]]"
item28inv="Пряности"
item28init="Среди камней лежит мешочек с экзотическими [[пряностями|spices]]. "
item28loc="chamber_of_boulders"
item28points=14

item29="chain"
item29name="золотая [[цепь|chain]]"
item29inv="Цепь"
item29init="Тяжелая золотая [[цепь|chain]] лежит на полу!"
item29loc=""
item29points=14

end