220 lines
9.4 KiB
Lua
220 lines
9.4 KiB
Lua
door1_obj = obj{
|
||
nam = 'дверь 1',
|
||
dsc = 'Здесь есть {дверь 1}, ',
|
||
act = 'Табличка на двери гласит: "За этой дверью находится смерть."',
|
||
}
|
||
door2_obj = obj{
|
||
nam = 'дверь 2',
|
||
dsc = '{дверь 2} и ',
|
||
act = 'Табличка на двери гласит: "Это - безопасная дверь"',
|
||
}
|
||
door3_obj = obj{
|
||
nam = 'дверь 3',
|
||
dsc = '{дверь 3}.',
|
||
act = 'Табличка на двери гласит: "Смерть за дверью 2"',
|
||
}
|
||
-- === Испытание 2 ===
|
||
cobj = function(v)
|
||
v.use = function(this,that)
|
||
if (here() == end_fall) then return 'Нет, вы уже пропустили свой шанс.' end;
|
||
return call(this, 'fuse', that);
|
||
end;
|
||
v.used = v.use;
|
||
return obj(v);
|
||
end
|
||
rope = cobj{
|
||
nam = 'верёвка',
|
||
inv = 'Длинная крепкая пеньковая верёвка.',
|
||
fuse = function(this, that)
|
||
if (that == 'lock') then
|
||
inv():del('lock');
|
||
inv():del('rope');
|
||
inv():add('rope_with_lock');
|
||
return 'Вы привязываете к концу верёвки замок.'
|
||
end;
|
||
end,
|
||
}
|
||
boat = cobj{
|
||
nam = 'лодка',
|
||
inv = 'Складная одноместная лодка с вёслами.',
|
||
fuse = function(this, that)
|
||
if (that == 'stick') then
|
||
inv():del('stick');
|
||
inv():del('boat');
|
||
inv():add('boat_with_stick');
|
||
return 'Вы раскладываете лодку и укрепляете на ней палку, как мачту.'
|
||
end;
|
||
end,
|
||
}
|
||
cape = cobj{
|
||
nam = 'плащ',
|
||
inv = function()
|
||
local response = 'Заботливо сложенный коричневый плотный плащ. Хорош в сырую погоду и неплох для скрытного лазания по лесу.';
|
||
if cape.wet == true then response = response.." Да, ещё плащ промок до нитки." end;
|
||
return response;
|
||
end,
|
||
wet = false,
|
||
}
|
||
boat_with_stick = cobj{
|
||
nam = 'лодка с палкой',
|
||
inv = 'Одноместная лодка с вёслами; рядом с сиденьем прикреплена палка, как мачта. От этого сидеть внутри ещё неудобнее, но возможно; впрочем, куда вам уплыть в свободном полёте.',
|
||
fuse = function(this, that)
|
||
if (that == 'cape') then
|
||
inv():del('cape');
|
||
inv():add('sailboat');
|
||
inv():del('boat_with_stick');
|
||
return 'Вы прикрепляете на мачту плащ и получаете... парусную лодку!';
|
||
end;
|
||
end,
|
||
}
|
||
sailboat = obj{
|
||
nam = 'парусная лодка',
|
||
inv = 'Одноместная лодка с двумя вёслами и самодельным парусом из плаща и палки. Трудно сказать, далеко ли вы уплывёте.'
|
||
}
|
||
rope_with_lock = cobj{
|
||
nam = 'верёвка с замком',
|
||
inv = 'Длинная пеньковая верёвка, на конце которой болтается тяжеленный амбарный замок. В принципе, это можно использовать как оружие..возможно, метательное.',
|
||
}
|
||
pot = cobj{
|
||
nam = 'горшок',
|
||
inv = 'Пустой глиняный коричневый горшочек.',
|
||
fuse = function(this, that)
|
||
if (that == 'waterskin') then
|
||
inv():del('pot');
|
||
inv():del('waterskin');
|
||
inv():add('pot_with_water');
|
||
return 'Вы заполняете горшок водой.';
|
||
elseif(that == 'rope') then
|
||
inv():del('pot');
|
||
inv():del('rope');
|
||
inv():add('pot_with_rope');
|
||
return 'Вы кладёте в горшок верёвку.';
|
||
elseif(that == 'black_powder') then
|
||
inv():del('pot');
|
||
inv():del('black_powder');
|
||
inv():add('pot_with_powder');
|
||
return 'Вы заполняете горшок чёрным порохом.';
|
||
end;
|
||
end,
|
||
}
|
||
stick = cobj{
|
||
nam = 'палка',
|
||
inv = 'Толстая ветка средней длины. На неё хорошо опираться во время ходьбы по горам.',
|
||
fuse = function(this, that)
|
||
if (that == 'rope') then
|
||
inv():del('stick');
|
||
inv():del('rope');
|
||
inv():add('club');
|
||
return 'Вы обвязываете верёвкой палку. Такой дубинушкой можно и пришибить!';
|
||
elseif (that == 'rope_with_lock') then
|
||
inv():del('stick');
|
||
inv():del('rope_with_lock');
|
||
inv():add('mace');
|
||
return 'Вы привязываете свободный конец верёвки к палке. У вас получилось настоящее оружие!';
|
||
end;
|
||
end,
|
||
}
|
||
lock = cobj{
|
||
nam = 'амбарный замок',
|
||
inv = 'Амбарный навесной замок. Большой и увесистый.'
|
||
}
|
||
club = cobj{
|
||
nam = 'дубина',
|
||
inv = 'Толстая палка, обмотанная верёвкой вполне может послужить как хорошая дубинка.',
|
||
fuse = function(this, that)
|
||
if (that == 'lock') then
|
||
inv():del('club');
|
||
inv():del('lock');
|
||
inv():add('mace');
|
||
return 'Вы разматываете верёвку и навешиваете на неё замок. У вас получилась недурная булава.';
|
||
end;
|
||
end,
|
||
}
|
||
mace = cobj{
|
||
nam = 'булава',
|
||
inv = 'Один конец верёвки привязан к палке, на втором болтается тяжёлый замок. Это же настоящая цепная булава!',
|
||
}
|
||
pot_with_powder = cobj{
|
||
nam = 'горшочек с порохом',
|
||
inv = 'Горшок из коричневой глины, заполненный чёрным порохом. Не переворачивать.',
|
||
fuse = function(this, that)
|
||
if (that == 'rope') then
|
||
inv():del('pot_with_powder');
|
||
inv():del('rope');
|
||
inv():add('bomb');
|
||
return 'Вы кладёте в порох верёвку как фитиль. У вас получилась самодельная бомба.';
|
||
end;
|
||
end,
|
||
}
|
||
pot_with_rope = cobj{
|
||
nam = 'горшок с верёвкой',
|
||
inv = 'Горшок из коричневой глины, в котором лежит верёвка.',
|
||
fuse = function(this, that)
|
||
if (that == 'black_powder') then
|
||
inv():del('pot_with_rope');
|
||
inv():del('black_powder');
|
||
inv():add('bomb');
|
||
return 'Вы заполняете горшок чёрным порохом и вытаскиваете верёвку как фитиль. У вас получилась самодельная бомба.';
|
||
end;
|
||
end,
|
||
}
|
||
black_powder = cobj{
|
||
nam = 'чёрный порох',
|
||
inv = 'Небольшой мешочек с чёрным порохом. Хранить в сухом и холодном месте. Вблизи лучше не чихать.',
|
||
}
|
||
bomb = cobj{
|
||
nam = 'бомба',
|
||
inv = 'Горшок, доверху наполненный чёрным порохом, из которого высовывается отрезок верёвки. Настоящая самодельная бомба. Если порох будет сухим, такая сможет взорвать небольшое каменное здание.'
|
||
}
|
||
waterskin = cobj{
|
||
nam = 'мех с водой',
|
||
inv = 'Мех с водой.',
|
||
fuse = function(this, that)
|
||
if (that == 'cape') then
|
||
inv():del('waterskin');
|
||
cape.wet = true;
|
||
return 'Вы выливаете воду на плащ и он становится мокрым.';
|
||
end;
|
||
end,
|
||
}
|
||
plantain = cobj{
|
||
nam = 'листья подорожника',
|
||
inv = 'Несколько листьев подорожника большого (Plantago major), травянистого растения семейства Подорожниковые.',
|
||
fuse = function(this, that)
|
||
if (that == 'cape' and cape.wet) then
|
||
inv():del('cape');
|
||
inv():del('plantain');
|
||
inv():add('compress');
|
||
return 'Вы заворачиваете листья в мокрый плащ и получаете лечебный компресс с листьями подорожника. Хотя немного не угадали с размером. ';
|
||
end;
|
||
end,
|
||
}
|
||
compress = cobj{
|
||
nam = 'компресс',
|
||
inv = 'Лечебный компресс с листьями подорожника. Если вы ушибнетесь всей спиной (что вполне возможно в вашей ситуации), то может быть, он потом вас вылечит...хотя в вашем случае, вряд ли.',
|
||
}
|
||
knife = cobj{
|
||
nam = 'нож',
|
||
inv = 'Охотничий нож с резной рукоятью.',
|
||
}
|
||
axe = cobj{
|
||
nam = 'топор',
|
||
inv = 'Большой железный топор для рубки деревьев...может быть, и для чего другого сгодится.',
|
||
}
|
||
pot_with_water = cobj{
|
||
nam = 'горшок с водою',
|
||
inv = 'Глиняный коричневый горшочек, заполненный водой.',
|
||
fuse = function(this, that)
|
||
if (that == 'axe') then
|
||
inv():del('pot_with_water');
|
||
inv():del('axe');
|
||
inv():add('axe_porridge');
|
||
return 'Вы кладёте в горшок топор. Часть воды выливается.';
|
||
end;
|
||
end,
|
||
}
|
||
axe_porridge = cobj{
|
||
nam = 'каша из топора',
|
||
inv = 'В маленьком глиняном горшочке, доверху заполненном водой, лежит топор. Наверное, это будущая каша.',
|
||
}
|