aarushgupta's picture
Deploy FATHOM-DM Space bundle
2803d7e verified
type fixture : t {
predicates {
fixture_requires(fixture, o);
reveals_item(fixture, o);
reveals_readable(fixture, readable);
hidden_readable(readable);
sealed(fixture);
fixture_keeps_use(fixture);
fixture_consumes_use(fixture);
}
rules {
use/fixture/item/keep :: $at(P, r) & $at(fixture, r) & sealed(fixture) & $in(o, I) & $fixture_requires(fixture, o) & $fixture_keeps_use(fixture) & stored_item(o') & $reveals_item(fixture, o') -> at(o', r);
use/fixture/item/consume :: $at(P, r) & $at(fixture, r) & sealed(fixture) & in(o, I) & $fixture_requires(fixture, o) & $fixture_consumes_use(fixture) & stored_item(o') & $reveals_item(fixture, o') -> at(o', r);
use/fixture/readable/keep :: $at(P, r) & $at(fixture, r) & sealed(fixture) & $in(o, I) & $fixture_requires(fixture, o) & $fixture_keeps_use(fixture) & hidden_readable(readable) & $reveals_readable(fixture, readable) -> at(readable, r);
use/fixture/readable/consume :: $at(P, r) & $at(fixture, r) & sealed(fixture) & in(o, I) & $fixture_requires(fixture, o) & $fixture_consumes_use(fixture) & hidden_readable(readable) & $reveals_readable(fixture, readable) -> at(readable, r);
}
reverse_rules {
use/fixture/item/keep :: use/fixture/item/keep;
use/fixture/item/consume :: use/fixture/item/consume;
use/fixture/readable/keep :: use/fixture/readable/keep;
use/fixture/readable/consume :: use/fixture/readable/consume;
}
inform7 {
type {
kind :: "fixture-like";
definition :: "fixture-like is a kind of thing. fixture-like is fixed in place.";
}
predicates {
fixture_requires(fixture, o) :: "";
reveals_item(fixture, o) :: "";
reveals_readable(fixture, readable) :: "";
hidden_readable(readable) :: "";
sealed(fixture) :: "";
fixture_keeps_use(fixture) :: "";
fixture_consumes_use(fixture) :: "";
}
commands {
use/fixture/item/keep :: "use {o} on {fixture}" :: "unlocking the {fixture} with the {o}";
use/fixture/item/consume :: "use {o} on {fixture}" :: "unlocking the {fixture} with the {o}";
use/fixture/readable/keep :: "use {o} on {fixture}" :: "unlocking the {fixture} with the {o}";
use/fixture/readable/consume :: "use {o} on {fixture}" :: "unlocking the {fixture} with the {o}";
}
code :: """
Understand "use [something] on [something]" as unlocking it with.
""";
}
}