jacques/objects.lua
oreolek 3d78914378 Ещё одна линия объектов...
Всё ещё не могу придумать основную комбинацию.
2010-05-11 18:46:52 +07:00

188 lines
7.6 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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,
}
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 == 'rope') then
inv():del('stick');
inv():del('rope');
inv():add('club');
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 = 'Мех с водой.',
}
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 = 'В маленьком глиняном горшочке, доверху заполненном водой, лежит топор. Наверное, это будущая каша.',
}