/* one way of doing a "racially" customized weapon, in this case a dwarf axe */ /* The Goblins dagger is made out of the code dwarf_axe.c by Calamari*/ /* The todays date when compiled this little code is 18.05 1995*/ /* Thanks to: Taniwha, & Goodfoot plus testcal who tested out this dager!*/ #define RACE_BONUS 2 inherit "/baseobs/weapons/dagger"; void setup() { /* not we call this existing setup command first, then override the thing we want to change */ ::setup(); set_long("This is a goblin dagger. The special about it is that the old Goblin" " Golliom made this out of evil bones of the old Mage Sabeltooth Many hundred " " centries ago. Rumour says that this weapons that after he made the daggers, " "He boiled them in the Sabeltooths blood and lots of magic in it.But then for " "other races than Goblins it will nealry funcionate as a normal dagger,but for" " Goblins it will work GREAT!\n"); } /* if the wielder is a dwarf, and this is his only weapon, he gets a bonus */ int weapon_attack(object him,object me) { int rv; ::weapon_attack(him,me); if((string)me->query_race() == "half-orc") { /* this checks to make sure that this is the ONLY wielded weapon then 50% of the time awards a bonus attack */ if( sizeof(me->query_weapons_wielded()) == 2 && !random(RACE_BONUS) ) { tell_object(me,"You use your dagger with skills learned by generations of goblin masters.\n"); tell_object(him,"The nasty goblin does something clever with an sneaks an extra low blow in !\n"); ::weapon_attack(him,me); } } /* Hmm, wonder if this will work....*/ else if((string)me->query_race() != "half-orc") { if( sizeof(me->query_weapons_wielded()) == 1) { tell_object(me,"You try to hit him hard but fails...There is something worng with this dagger \n"); tell_object(him,"There seems like the dagger is taking control over him\n"); ::weapon_attack(him,me); } } }