inherit "/std/races/fish_base";
void setup() {
set_name( "shark" );
set_long( "A big mean shark.\n" );
set_height( 15 );
set_weight( 8000 );
set_desc( "a fish, the kind with fins" );
set_stats( ({ 10, 14, 2, 21, -4 }) );
} /* setup() */
void check_water( object player ) {
if( player && !environment( player )->query_water() )
call_out( "do_drown", 4, player );
} /* check_water() */
void do_drown( object player ) {
int i;
if(!player || !environment(player) || environment(player)->query_water() )
return;
tell_room( environment( player ) , player->one_short() + " gasps for "
"air.\n" );
i = player->query_max_hp() / 5;
if( i < 20 ) i = 20;
player->adjust_hp( -i );
call_out( "do_drown", 4, player );
} /* do_drown() */
void start_player( object thing ) {
::start_player( thing );
thing->add_property( "gills", 1 );
//thing->add_property("lives in water", 1);
thing->add_enter_commands( (: check_water :) );
thing->set_default_position( ({ "lying" }) );
thing->return_to_default_position( 0 );
} /* start_player() */
void set_unarmed_attacks( object thing ) {
int number;
number = (int)thing->query_skill_bonus( "fighting.combat.melee.unarmed" );
number = 4 + sqrt( number ) * 2;
thing->remove_attack( "hands" );
thing->remove_attack( "feet" );
thing->remove_attack( "bite" );
thing->add_attack( "bite", 100, ({ 2 * number, 5, number }),
"pierce", "unarmed", 0 );
thing->tactics( "response dodge" );
} /* set_unarmed_attacks() */
//int lives_in_water() { return 1; }