/* Do not remove the headers from this file! see /USAGE for more info. */
inherit COMPLEX_EXIT_OBJ;
void award_points(object ob,string direction);
function award=(:award_points :);
void setup()
{
set_attached(1);
set_id("ocean","water","surf","waves");
set_long("There is nothing special about the ocean.");
/* set_base()
* Sets the base directory from which relative paths are figured. For this
* object, it should be the environment of this object, so pass that
* function pointer to it */
set_base((:environment():) );
/* add_method()
* The first argument is the method to be used. In this case we want to
* 'wade in the ocean'.
* The second argument is the destination that the body is going to be moved
* to when the method is invoked.
* The third is the check to see if the body can actually use the method,
* The fourth argument is an array of possible exit messages
* The fifth argument is an array of possible enter messages */
add_method("wade in",
"Outside_Cave",
1,
({ "$N $vwade into the ocean. Though the undercurrent is "
"strong, $n $vmanage to keep $p balance. $N $vwander "
"towards the east, where there is no beach, but there are "
"interesting mountains...",
"$N $vwade around in the ocean for a while, "
"eventually wandering out of sight to the east."}),
({ "$N $vwade into the ocean. Though the undercurrent is "
"strong, $n $vmanage to keep $p balance.",
"$N $vwander in from the west",
"$N $vwade over to you."}) );
}
void award_points(string direction)
{
if(evaluate(direction)=="the ocean")
QUEST_D->grant_points(this_body(),"pirate:foundCave");
}
void on_clone(mixed args...)
{
::on_clone(args...);
/* Add the hook to award quest points to the environment of this object */
environment()->add_hook("person_left",award);
}