#include <bit.h> #define SHADOW "/std/races/shadows/troll_race" inherit "/std/races/humanoid"; void setup() { int i; set_name( "stone giant" ); set_long( "The stone giants of the Ramtops are similar to trolls in the " "sense that they are made of stone. They are much taller than " "your average troll though, roughly thirteen feet.\n" ); set_height( 400 ); set_weight( 80000 ); set_desc( "a big looking giant apparantly made from stone" ); remove_bit( "skin" ); /* ** Actually, it'd be nice to have all of these made of stone, so that ** stone-eaters (e.g. other trolls) can still eat them, but until then... */ inedible = ({ }); for( i = 0; i < sizeof( bits ); i += BIT_SIZE ) inedible += ({ bits[ i + BIT_NAME ] }); unrottable = ({ }); for( i = 0; i < sizeof( bits ); i += BIT_SIZE ) unrottable += ({ bits[ i + BIT_NAME ] }); add_ac( "blunt", "blunt", 50 ); add_ac( "pierce", "pierce", 15 ); add_ac( "sharp", "sharp", 25 ); set_sight( ({ 0, 5, 100, 125 }) ); set_stats( ({ 14, -6, -6, 16, -4 }) ); } /* setup() */ 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->add_attack( "hands", 75, ({ 40, 8, 10 }), "blunt", "unarmed", "unarmed_hands" ); thing->add_attack( "feet", 25, ({ 60, 10, 40 }), "blunt", "unarmed", 0 ); thing->set_combat_attitude("offensive"); } /* set_unarmed_attacks() */ void start_player( object thing ) { ::start_player( thing ); clone_object( SHADOW )->setup_shadow( thing ); } /* start_player() */