From the NannyMUD documentation

LAST CHANGE

2001-01-04

NAME

        value_line_cost_hook - Value line cost hook

LOCATION

    /obj/player

AVAILABILITY

    Any object can use hooks.

FUNCTIONS

OTHER FUNCTIONS

    value_line_cost_hook

DESCRIPTION

    When the hooked player is about to get a cost on a line based
    on the stdline standard.

NOTE

    Use of this hook requires approval, which shall be noted with
    the guild (or other object) in which the hook is established.

    Lines can prevent this hook from being executed on their costs.

NOTE

    Deduction of a cost here may mean that the player pays a cost
    even though in the end he can't send the message anyway,
    if you return 0 here, or if there is more than one of this
    hook resident at a time.

SEE ALSO

        line_control in std/line/line_control

FUNCTION


NAME

        value_line_cost_hook - Value line cost hook

SYNTAX

int value_line_cost_hook(mixed arr, object player)

DESCRIPTION

    When the hooked player is about to get a cost on a line based
    on the stdline standard.

    The arguments to the hook are as follows:
      ({the line controller (object),
        the cost in sp (int),
        the raw message sent (string)})
      The player who is sending the message.

RETURN VALUES

int: 0: A line cost might have been paid, but the player is still
        expected to owe spell points.  Just keep going.

     1: The player paid a line cost, and they don't owe sp or
        anything else.  We're finished, let the player send the
        message.

    -1: The player was not able to pay a cost that they are
        required to pay.  Don't allow the player to send the message.
        You must use your own notify_fail() here; no other will be
        sent.

NOTE

    Use of this hook requires approval, which shall be noted with
    the guild (or other object) in which the hook is established.

    Lines can prevent this hook from being executed on their costs.

NOTE

    Deduction of a cost here may mean that the player pays a cost
    even though in the end he can't send the message anyway,
    if you return 0 here, or if there is more than one of this
    hook resident at a time.