# HG changeset patch # User Silverwing # Date 2016-09-09 16:52:31 # Node ID 245867e8665e6147a3562ac86c63da71c5a62a9b # Parent b03c40a64562691bca614b447919ce4eb8b7eedf More venaedanotrr logic diff --git a/journey_venaedanotrr.lua b/journey_venaedanotrr.lua --- a/journey_venaedanotrr.lua +++ b/journey_venaedanotrr.lua @@ -1071,6 +1071,134 @@ ven_temple_l1 = labyrinth { }; }; +ven_shark = obj { + var { + position = "00", + active = true; + }; + nam = "ven_shark"; + dsc = function(s) + --local d = 0; + local no = here().map[here().position].e1; + local ea = here().map[here().position].e2; + local so = here().map[here().position].e3; + local we = here().map[here().position].e4; + if (no and s.position == no) then + return [[ + На севере вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (no and s.position == here().map[no].e1) then + return [[ + Вдалеке на севере вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (ea and s.position == ea) then + return [[ + На востоке вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (ea and s.position == here().map[ea].e2) then + return [[ + Вдалеке на востоке вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (so and s.position == so) then + return [[ + На юге вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (so and s.position == here().map[so].e3) then + return [[ + Вдалеке на юге вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (we and s.position == we) then + return [[ + На западе вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (we and s.position == here().map[we].e4) then + return [[ + Вдалеке на западе вы видите {акулу}. Она мчится к вам. + ]]; + end; + + if (no and s.position == here().map[no].e2 or ea and s.position == here().map[ea].e1) then + return [[ + На северо-востоке вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (no and s.position == here().map[no].e4 or we and s.position == here().map[we].e1) then + return [[ + На северо-западе вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (so and s.position == here().map[so].e2 or ea and s.position == here().map[ea].e3) then + return [[ + На юго-востоке вы видите {акулу}. Она мчится к вам. + ]]; + end; + if (so and s.position == here().map[so].e4 or we and s.position == here().map[we].e3) then + return [[ + На юго-западе вы видите {акулу}. Она мчится к вам. + ]]; + end; + + return [[ + Где-то в лабиринте вас поджидает кровожадная акула. + ]]; + end; +}; + +ven_chest = obj { + var { + state = 0; + }; + nam = "ven_chest"; + dsc = [[ + В конце коридора стоит запертый {сундук}. + ]]; +}; + +ven_skeleton = obj { + nam = "ven_skeleton"; + dsc = [[ + У одной из стен вы видите {скелет навьяра}. + ]]; +}; + +item_ven_spear = obj { + var { + taken = false; + }; + nam = "item_ven_spear"; + dsc = [[ + В правой руке скелета вы видите {коралловое копье}. + ]]; + inv = [[ + Коралловое копье, найденное вами в лабиринте храма Венаэданотра. + ]]; + tak = function(s) + s.taken = true; + return [[ + Вы забираете копье себе. + ]]; + end; +}; + +ven_octopus = obj { + nam = "ven_octopus"; + dsc = [[ + Вы видите огромного {осьминога} на некотором расстоянии к северу от вас. + ]]; + act = [[ + "Лучше к нему не приближаться". + ]]; +}; + + + ven_temple_l2 = room { nam = "Венаэданотр, храм, второй этаж"; }; \ No newline at end of file diff --git a/main.lua b/main.lua --- a/main.lua +++ b/main.lua @@ -222,8 +222,12 @@ function init() move(submarine_leviathan, "atl_aqua_leviathan_dock"); submarine_leviathan:enable(); + --ven_temple_l1.position = "66"; + --ven_shark.position = "55"; pl.where = "ven_temple_l1"; move(submarine_leviathan, "ven_center"); + --move(ven_shark, "ven_temple_l1"); + --put(item_suit, pl); -- pl.where = warehouse_32;