This file is indexed.

/usr/share/doc/instead/manual/examples/menu-demo/main.lua is in instead-doc-base 1.9.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
instead_version "1.6.3"
require "proxymenu"
require "hideinv"

game.forcedsc = true

minv = obj_menu('С СОБОЙ', 'exam', false, true);
mlook = obj_menu('ОСМОТРЕТЬ', 'exam', true);
mtake = obj_menu('ВЗЯТЬ', 'take', true);
mdrop = obj_menu('БРОСИТЬ', 'drop', false, true);
meat = obj_menu('ЕСТЬ', 'eat', true, true);
mpush = obj_menu('ТОЛКАТЬ', 'push', true);
muse = use_menu('ИСПОЛЬЗОВАТЬ', 'useon', 'used', 'useit', true, true);
mgive = use_menu('ОТДАТЬ', 'give', 'accept', false, true, true, true);
mwalk = obj_menu('ИДТИ', 'walk', false, false, true);

game.useit = 'Не помогло.'
game.use = 'Не сработает.'
game.give = 'Отдать? Ни за что!'
game.eat = 'Не буду это есть.'
game.drop = 'Еще пригодится.'
game.exam = 'Ничего необычного.'
game.take = 'Стоит ли это брать?'
game.push = 'Ничего не произошло.'

game.after_take = function(s, w)
	take(w)
end

game.after_drop = function(s, w)
	drop(w)
end

put(minv, me())
put(mlook, me())
put(mtake, me())
put(mdrop, me())
put(meat, me())
put(mpush, me())
put(muse, me())
put(mgive, me())
-- put(mwalk, me())

status = stat {
	_Turns = 0,
	life = function(s)
		s._Turns = s._Turns + 1;
	end;
	nam = function(s)
		return 'Статус игрока: '..s._Turns..'^';
	end
};
lifeon 'status'

put(status, me());

knife = obj {
	nam = 'ножик',
	dsc = 'На полу валяется ножик.',
	exam = 'Бесполезный перочинный ножик.',
}

main = room {
	nam = 'intro',
	hideinv = "true",
	dsc = 'Введение',
	exit = function(s)		
		inv():add('knife');
	end,
	obj = { vway('next','{Дальше}.', 'r1') }
}

cube = obj {
	nam = 'куб',
	dsc = 'В центре комнаты находится куб.',
	take = 'Вы взяли куб',
	exam = 'Мультифункциональный куб -- написано на кубе.',
	drop = 'Вы положили куб.',
	useit = 'Как можно использовать куб?',
	talk = 'Вы поговорили с кубом.',
	eat = function(s)
		return 'Вы не можете разгрызть куб.', false;
	end,
	open = 'Вы открыли куб.',
	close = 'Вы закрыли куб.',
	push = 'Вы толкаете куб.',
	give = function(s, w)
		return 'Вы пытаетесь отдать куб объекту: '..deref(w)..'.', false
	end,
	useon = function(s, w)
		return 'Вы пытаетесь юзать куб на объект: '..deref(w)..'. Получилось!'
	end,
	used = 'Куб поюзан.',
};

sphere = obj {
	nam = 'сфера',
	dsc = 'В центре комнаты находится сфера.',
	take = 'Вы взяли сферу',
	exam = 'Мультифункциональная сфера -- написано на сфере.',
	drop = 'Вы положили сферу.',
	useit = 'Как можно использовать сферу?',
	talk = 'Вы поговорили с сферой.',
	eat = function(s)
		return 'Вы не можете разгрызть сферу.', false;
	end,
	open = 'Вы открыли сферу.',
	close = 'Вы закрыли сферу.',
	push = 'Вы толкаете сферу.',
	give = function(s, w)
		return 'Вы пытаетесь отдать сферу объекту: '..nameof(w)..'.', false
	end,
	useon = function(s, w)
		return 'Вы пытаетесь юзать сферу на объект: '..nameof(w)..'. Получилось!'
	end,
	used = 'Сфера поюзана.',
};

r1 = room {
	nam = 'комната',
	dsc = 'Вы в комнате',
	obj = { cube, sphere },
}