#if defined(macintosh) #include <types.h> #else #include <sys/types.h> #endif #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "player.h" #include "rok.h" /************* NOT FINISHED ******************/ cheerios /* Mummies? Ideas Only: 1. low offense, high defense. (parry/dodge) 2. better fighting ability in desert area... 3. rot. -??? 4. Ra. - offense power. -5. engulf. - uses sand to attack, only in desert.. -6. wrap. - damage command. -7. creep. - hide? 8. protection - damage protection. (25%) -9. resurrect - regen. 10. shadowplane - can enter/leave shadowplane 11. life of the immortals - damage resistance (again) (50%) 12. Stealth/Speed more to come... (hopefully) */ /* void do_mummygain(CHAR_DATA *ch, char *argument) { } */ /* void do_mummify(CHAR_DATA *ch, char *argument) { CHAR_DATA *victim; char arg[MAX_STRING_LENGTH]; char buf[MAX_STRING_LENGTH]; argument = one_argument (argument, arg); if (( victim = get_char_room(ch, arg)) == NULL) { send_to_char("They are not here.\r\n", ch); return; } if (victim->class != 0) { send_to_char("But they are already classed.\r\n", ch); return; } act("You place your hands upon $N and chants some ancient words.", ch, NULL, victim, TO_CHAR); act("$N's flesh begins to crisp, slowly rotting, until bones are left.", ch, NULL, victim, TO_CHAR); act("Mum victim->class = CLASS_MUMMY; save_char_obj(ch); save_char_obj(victim); return; } */ void do_resurrect(CHAR_DATA *ch, char *argument) { if (!IS_CLASS(ch, CLASS_MUMMY) || IS_NPC(ch)) { send_to_char("Huh?\r\n", ch); return; } werewolf_regen(ch); reg_mend(ch); if (ch->hit < ch->max_hit || ch->mana < ch->max_mana || ch->move < ch->max_move) send_to_char("You body slowly resurrects.\r\n", ch); return; } void do_creep(CHAR_DATA *ch, char *argument) { if (!IS_CLASS(ch, CLASS_MUMMY) || IS_NPC(ch)) { send_to_char("Huh?\r\n", ch); return; } if (IS_SET(ch->act, PLR_WIZINVIS)) { REMOVE_BIT(ch->act, PLR_WIZINVIS); send_to_char("You will no longer creep in silence.\r\n", ch); return; } else { SET_BIT(ch->act, PLR_WIZINVIS); send_to_char("You will now creep in silence.\r\n", ch); return; } return; } void do_engulf(CHAR_DATA *ch, char *argument) { int dam = 0; CHAR_DATA *victim; if (!IS_CLASS(ch, CLASS_MUMMY) || IS_NPC(ch)) { send_to_char("Huh?\r\n", ch); return; } if (ch->fighting == NULL) { send_to_char("But you are not fighting.\r\n", ch); return; } if (ch->in_room->sector_type != SECT_DESERT) { send_to_char("Only in the desert will you be able to engulf.\r\n", ch); return; } victim = ch->fighting; dam = number_range( 10, 20); dam += char_damroll(ch); dam += get_age(ch); // dam += ch->pcdata->stats[MUMMY_AGE]; if (IS_AFFECTED(victim, AFF_SANCTUARY) ) dam *= 0.5; act("A sandstorm rises, engulfing $N.", ch, victim, NULL, TO_CHAR); act("A sandstorm creeps towards, engulfing you into the center.", ch, NULL, victim, TO_VICT); act("A sandstorm appears out of nowhere, engulfing $N into it.", ch, NULL, victim, TO_ROOM); hurt_person(ch, victim, dam); return; } void do_wrap(CHAR_DATA *ch, char *argument) { int dam = 0; CHAR_DATA *victim; if (!IS_CLASS(ch, CLASS_MUMMY) || IS_NPC(ch)) { send_to_char("But you have no wrappings.\r\n", ch); return; } if (ch->fighting == NULL) { send_to_char("You are not fighting.\r\n", ch); return; } victim = ch->fighting; dam = number_range( 10, 20); dam += char_damroll(ch); dam += get_age(ch); // dam += ch->pcdata->stats[MUMMY_AGE]; if (IS_AFFECTED(victim, AFF_SANCTUARY ) ) dam *= 0.5; hurt_person(ch, victim, dam); send_to_char("You let your wrappings fly, striking your opponent\r\n", ch); act("You hear a painful cry as $n's wrapping strikes $N", ch, victim, NULL, TO_ROOM); act("You tried to dodge $n's wrappings, but failed.", ch, NULL, NULL, TO_VICT); return; }