move #359

Parent #93Owner #361Flags readSource hellcore/hellcore.db

Aliases: walk

3 verbs · 19 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
_startthis none thisrxd#35930
_finishthis none thisrxd#35911
doing_msgthis none thisrxd#3596

Properties

PropertyDefinerFlagsOwnerValue
help_msg#93rc#361<clear>
duration#93rc#361<clear>
preemptible#93rc#361<clear>
unstoppable#93rc#361<clear>
dodge_mod#93rc#361<clear>
doing_msg#93rc#361"moving"
doing_to_msg#93rc#361"moving to %dl"
oabort_msg#93rc#361<clear>
can_parry#93rc#361<clear>
aliases#1rc#361{"walk"}
description#1rc#361<clear>
object_size#1r#29{0, 0}
hidden_verbs#1rc#361<clear>
phelp_msg#1rc#361<clear>
weight#1rc#361<clear>
owner_verbs#1rc#361<clear>
plural_name#1rc#361<clear>
client_image#1rc#361<clear>
listening#1rc#361<clear>

Ancestry

Ancestors (nearest first): #93 Generic Action#1 root

Children: none

Source

_start

Spec this none thisFlags rxdOwner #361Definer #359

Referenced by

none

Source

1who = args[1];
2exit = args[2][1];
3penalty = 0;
4if (typeof(exitstr = exit) == STR)
5exit = who.location:match_exit(exitstr);
6if (!valid(exit))
7who:tell("You can't go '", exitstr, "' from here.");
8who:clear_queue();
9return 0;
10else
11who:prequeue_action(this, {exit}, 1, "", 1);
12return E_NONE;
13endif
14endif
15if (!valid(exit))
16return 0;
17endif
18player = who;
19if ((e = (random(100) < 50) ? who:tell_encumbrance() | who:encumbrance()) < -3)
20who:tell("You're too weighted down to go anywhere.");
21return E_NONE;
22endif
23exit_try = exit:try_me(who);
24if (exit_try)
25time = `exit:speed(who) + ((e < -2) ? 1.0 | 0.0) ! ANY => 0.0';
26who.location:broadcast_event(1, this, @args);
27return {time, 1};
28else
29return E_NONE;
30endif

_finish

Spec this none thisFlags rxdOwner #361Definer #359

Referenced by

none

Source

1who = args[1];
2exit = args[2][1];
3if (typeof(exitstr = exit) == STR)
4exit = who.location:match_exit(exitstr);
5if (!is_a(exit, $exit))
6return 0;
7endif
8endif
9if (exit:try_me(who, 1))
10return exit:move(who);
11endif

doing_msg

Spec this none thisFlags rxdOwner #361Definer #359

Referenced by

none

Source

1who = args[1];
2if ((args[2] && (typeof(args[2][1]) == OBJ)) && gamevalid(args[2][1]))
3return "moving to " + args[2][1]:dname();
4else
5return "moving";
6endif