# HG changeset patch # User Silverwing # Date 2017-10-01 19:08:38 # Node ID f5d8f03ee37ba2fa0f8b5e83276591522ffa3b29 # Parent bd9caffc4c5a026a603b61ee3adba17793d5e8d8 Learr behaviour on iyh improved diff --git a/atlantis_iyhehevjiarr.lua b/atlantis_iyhehevjiarr.lua --- a/atlantis_iyhehevjiarr.lua +++ b/atlantis_iyhehevjiarr.lua @@ -275,7 +275,18 @@ iyh_fight_torpedo_temple = obj { return [[Цель слишком далеко. ]]; else atl_iyh_entrance_destroyed = true; - return [[Торпеда попадает в аккурат над храмом и вход оказывается завален тяжелыми глыбами. ]]; + + pr [[Торпеда попадает в аккурат над храмом и вход оказывается завален тяжелыми глыбами. ]]; + if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then + pr [[Леарр в ярости поднимается в рубку и кричит на вас: "Что ты делаешь?!"^Она с неприязнью смотрит на вас и удаляется к себе в каюту. ]]; + rel_learr = rel_learr - 1; + char_learr.home = "leviathan_cabin_3"; + leviathan_cabin_3.lock = true; + elseif (ArrayUtils.indexOf(pl.party, 'aikerjarr') ~= 0) then + pr [[Аикерьярр отворачивается от иллюминатора и со злобой смотрит на вас: "Ты за-это-ответишь he'rr". ]]; + atl_rep_iraa = atl_rep_iraa - 1; + atl_rep_dyp = atl_rep_dyp - 1; + end; end; end; }; @@ -309,6 +320,7 @@ iyh_fight_torpedo = obj { atl_rep_iraa = atl_rep_iraa - 1; atl_rep_dyp = atl_rep_dyp - 1; char_learr.home = "leviathan_cabin_3"; + leviathan_cabin_3.lock = true; elseif (ArrayUtils.indexOf(pl.party, 'aikerjarr') ~= 0) then pr [[Аикерьярр отворачивается от иллюминатора и со злобой смотрит на вас: "Ты за-это-ответишь he'rr". ]]; end; @@ -1445,6 +1457,7 @@ iyh_outro_learr_shockfish_dead = room { break; end; end; + leviathan_cabin_3.lock = false; remove(char_learr, where(char_learr)); remove(item_statuette); remove(item_temple_disk); @@ -1474,6 +1487,8 @@ iyh_outro_learr_temple_destroyed = room break; end; end; + leviathan_cabin_3.lock = false; + char_learr.home = "leviathan_wardroom"; remove(item_statuette); remove(item_temple_disk); remove(item_legend_of_temple); diff --git a/leviathan.lua b/leviathan.lua --- a/leviathan.lua +++ b/leviathan.lua @@ -235,6 +235,9 @@ leviathan_cabin_2 = darkroom { }; leviathan_cabin_3 = darkroom { + var { + lock = false; + }; nam = "leviathan_cabin_3"; has_light = function(s) return submarine_leviathan.power_on and submarine_leviathan.battery and submarine_leviathan.circuit_breaks == 0; @@ -329,7 +332,13 @@ leviathan_corridor = darkroom { kh_vroom("В каюту капитана", "leviathan_captains_cabin", 1); kh_vroom("В каюту №1", "leviathan_cabin_1", 1); kh_vroom("В каюту №2", "leviathan_cabin_2", 1); - kh_vroom("В каюту №3", "leviathan_cabin_3", 1); + kh_vroom("В каюту №3", function(s) + if not leviathan_cabin_3.lock then + return "leviathan_cabin_3"; + else + return false; + end; + end, 1); kh_vroom("В каюту №4", "leviathan_cabin_4", 1); kh_vroom("В каюту №5", "leviathan_cabin_5", 1); kh_vroom("В кают-компанию", "leviathan_wardroom", 1);