push = move?

1 view
Skip to first unread message

Eric F.

unread,
Aug 4, 2011, 1:23:16 AM8/4/11
to jacl-discuss
Hello it's me again :)

I'm just wondering...
There is a little problem in the manual (or in the verbs.library).

Page 103 to illustrate functions, there is this example:

{take : push : turn
write "The boulder is way too heavy to move.^"
set time = false
}

The problem is push is not a registered action you can use like that:

grammar push *present >move

It gives stranges results:

> push boulder
You can't take the boulder.

> turn boulder
The boulder is way too heavy to move.

> move boulder
You can't take the boulder.

> take boulder
The boulder is way too heavy to move.

You should either correct the manual or the verb, but I think pushing
is enough different to pulling (pushing / pulling a lever for example)
that it could have its own action, like the manual suggests (it was
probably the case before)

Stuart Allen

unread,
Aug 4, 2011, 3:01:03 AM8/4/11
to jacl-d...@googlegroups.com
Hi Eric

I'll have to look at this a bit closer later on as I have to run now,
but yes, you are right something is definitely wrong. 'push' isn't an
action and shouldn't be in the function name, at the moment all those
verbs are mapped to 'move':

grammar wiggle *present >move
grammar jiggle *present >move
grammar move *present >move
grammar push *present >move

I think it is the manual that is wrong. Push, pull and take are all
different actions.

More soon...

Stuart

--
http://dangarstu.tumblr.com

Stuart Allen

unread,
Aug 5, 2011, 1:07:13 AM8/5/11
to jacl-d...@googlegroups.com
Hi Eric

The bad "You can't take the boulder" message when you try to push it
comes from this function:

{+move_scenery
if arg[0] has LOCATION
write "That would be an impressive feat of strength.^"
set time = false
return true
endif
if arg[0](mass) => heavy
set noun3 = noun1(parent)
set INDEX = noun3
if noun3 has LOCATION
write "You can't take " noun1{the} ".^"
return true
else
write noun1{The} " " noun1{is} " attached to " noun3{the} .^
endif
set time = false
return true
endif
return false
}

It is called when the player attempts to manipulate objects in a
variety of ways so it shouldn't use the word take. I need to put
something more abstract in there, but messages like, "The boulder is
way too heavy." don't always work because the object may be something
else untakeable like a drawing on a wall.

Maybe just a message like, "The boulder is immovable." would be
better. I think that would work for all verbs and all types of
objects.

Stuart

--
http://dangarstu.tumblr.com

Reply all
Reply to author
Forward
0 new messages