!addto game
command <blow in #@quest.objects#>
command <borrow>
command <buy #quest.objects#> msg <#quest.error.article# is not for sale>
command <bring>
command <cancel>
command <cast>
command <carve, dig, pick>
command <change>
command <clean>
command <climb>
command <close>
command <comb>
command <complain> msg <Don't complain all the time !>
command <cook> msg <Maybe it's not time to cook now ?>
command <cough> msg <Reuf, reuf>
command <count>
command <commit suicide> playerlose
command <cry> msg <You don't need to do that now. Crying can't be made on command.>
command <cut #@quest.objects#> {
if property <#quest.objects#; breakable> then {
msg <You torn #quest.error.gender# #quest.objects# to pieces, and nothing usefull remains.>
conceal <#quest.objects#>
}
}
command <change #@quest.objects#> msg <Change what ?>
command <crawl>
command <dance> msg <You dance a bit for your own pleasure>
command <desire>
command <detach>
command <dive>
command <dig>
command <draw>
command <dream>
command <drive>
command <drink #@quest.objects#> {
if property <#quest.objects#; drinkable> then {
msg <You drink #quest.error.gender# #quest.objects#>
conceal <#quest.objects#>
}
else msg <#quest.error.gender# #quest.objects# doesn't seem good to drink, you should forget this.>
}
command <eat #@quest.objects#> {
if property <#quest.objects#; edible> then {
msg <You eat #quest.error.gender# #quest.objects#>
conceal <#quest.objects#>
}
else {
msg <#quest.error.gender# #quest.objects# doesn't appear appetizing, you shouldn't do this.>
}
}
command <erode>
command <edit>
command <enter>
command <escape>
command <explain>
command <empty>
command <fill>
command <find>
command <finish>
command <fix>
command <fly>
command <glitter>
command <help #@object#>
command <hit #@quest.objects#> msg <What do you plan to use for this courageous action ?>
command <hurt>
command <jump>
command <kiss>
command <laugh> msg <Ha ha ha |n Ha ha ha ha>
command <love #quest.objects# ; like #quest.objects# ; enjoy #quest.objects#> msg <We're glad you enjoy #quest.error.article#.>
command <learn>
command <leave>
command <lift>
command <listen>
command <lose>
command <pay>
command <pick, pluck>
command <plant>
' command <put>
' command <put on>
' put = drop
command <drop #@thing# on #@support#> {
if property <#support#; supporter> then {
msg <You put #quest.error.gender# #thing# on #support#>
}
else {
msg <You can't put #quest.error.gender# #thing# on this>
}
}
' command <put #@thing# and #@otherthing# in #@container#>
command <radiate>
command <rain>
command <read>
command <release>
command <reply>
command <ride>
command <rub>
command <run> msg <Where could you run ?>
command <say>
command <see>
command <seek>
command <sell>
command <send>
command <show>
command <sit>
command <sing> msg <You sing a bit>
command <sleep>
command <smell> msg <You smell nothing unexpected here.>
command <smell #quest.objects#> msg <You smell nothing unexpected here.>
command <smoke>
command <smile> msg <You're smiling now>
command <shout> msg <You don't need to shout now>
command <spend>
command <stand up, get up>
command <start>
command <steal>
command <swim> msg <You don't want to wet your clothes.>
command <take>
command <take, receive>
command <teach>
command <throw>
command <wear>
command <travel>
command <try>
command <turn off>
command <turn on>
command <undo>
command <wait> msg <You wait for a while.>
command <wake>
command <walk>
command <wash>
command <weep>
command <work>
command <worry>
command <write>
!end
!addto synonyms
inspect = examine
leave = drop
swallow = eat
fetch = bring
!end
I'd recommend not using #quest.objects# in a command though...
Er, "radiate"...?!
MaDbRiT's library is good for object put in. I could try to change it a bit for handling objects put on.
So I thought we could make available a library for Quest, with many commands. Authors could modify it, or better add his / her modified commands to suit the game's needs, and even if the author doesn't modify it much, at least there would be more interesting replies and it would give a better opinion of Quest to other people.
You don't need to change it to do that
all you need it to add a command in your own ASL
!addto game
command <give #TLSdObj# to #TLSiObj#;give #TLSiObj# the #TLSdObj#> exec <give #TLSdObj# to #TLSiObj#;normal>
' nodebug
command <drop #TLSdObj# on #support#> exec <drop #TLSdObj# on #support#;normal>
!endI have a new much enhanced version of that library in test at the moment, I could quite easily add a new object type of 'surface' for an object things could be placed ON rather than IN if it is thought generally worthwhile.
Actually this idea is exactly the one used by the ALAN I-F system, there is a library of 'verb stubs' that just provide simple default messages for a LOT of relatively routine game playing input. Authors are expected to expand the stubs where they want more than the default response.
I didn't say it correctly, I wanted to say "copy a part of this lib. code, change it, and add it to a new library".
I prefer not to alter your own library. For my game I override some of your synonyms and verbs in typelib by creating a new library
I have a new much enhanced version of that library in test at the moment, I could quite easily add a new object type of 'surface' for an object things could be placed ON rather than IN if it is thought generally worthwhile.
yes, it'd be great ! In Inform the property is called "supporter" for an object that can receive other things. I think it's an usefull feature since players are likely to put things ON other things as much as they can put them IN. For ex. only the act of sitting somewhere, even if this can be coded in an other way...
!addto game
command <give #TLSdObj# to #TLSiObj#;give #TLSiObj# the #TLSdObj#> exec <give #TLSdObj# to #TLSiObj#;normal>
' nodebug
command <drop #TLSdObj# on #support#> exec <drop #TLSdObj# on #support#;normal>
!endall you need it to add a command in your own ASL that makes 'put jug on shelf' (for example) call the put jug IN shelf routine, and then change the shelf's 'header for listing' to read something more appropriate That will have the effect you need (albeit it would be a little clumsy).
I have a new much enhanced version of that library in test at the moment, I could quite easily add a new object type of 'surface' for an object things could be placed ON rather than IN if it is thought generally worthwhile.
The above code that Farvardin offered is incomplete.