dbna/clans/
dbna/councils/
dbna/deity/
dbna/gods/
dbna/houses/
dbna/space/
#include <sys/types.h>
#include <ctype.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include "mud.h"

/* Place holder */

void do_shakkahou( CHAR_DATA * ch, char *argument )
{
  CHAR_DATA *victim;

  if( IS_NPC( ch ) && IS_AFFECTED( ch, AFF_CHARM ) )
  {
    send_to_char( "You can't concentrate enough for that.\n\r", ch );
    return;
  }
  if( !IS_NPC( ch ) && ch->exp < skill_table[gsn_shakkahou]->skill_level[ch->class] )
  {
    send_to_char( "You better leave the martial arts to fighters.\n\r", ch );
    return;
  }

  if( ( victim = who_fighting( ch ) ) == NULL )
  {
    send_to_char( "You aren't fighting anyone.\n\r", ch );
    return;
  }

  if( !IS_NPC( ch ) && ch->mana < skill_table[gsn_shakkahou]->min_mana )
  {
    send_to_char( "You don't have enough energy.\n\r", ch );
    return;
  }
  if( ch->focus < skill_table[gsn_shakkahou]->focus )
  {
    send_to_char( "You need to focus more.\n\r", ch );
    return;
  }
  else
    ch->focus -= skill_table[gsn_shakkahou]->focus;

  WAIT_STATE( ch, skill_table[gsn_shakkahou]->beats );

  if( !is_android_h( ch ) )
    ch->mana -= skill_table[gsn_shakkahou]->min_mana;

  if( can_use_skill( ch, number_percent(  ), gsn_shakkahou ) )
  {
    act( AT_RED, "Closing your eyes you begin to chant 'Open, oh, flames of hell and begin", ch, NULL, victim, TO_CHAR );
    act( AT_RED, "to spin around my body.  Enhance my power; help me dispose of my foe!  Art", ch, NULL, victim, TO_CHAR );
    act( AT_RED, "of the demon!  Skill 21!  Errupt!  ' You toss your hand out and the aura", ch, NULL, victim, TO_CHAR );
    act( AT_RED, "around your body explodes into that of a red flame the ground begins to", ch, NULL, victim, TO_CHAR );
    act( AT_RED, "rumble with energy.  Suddenly a spiraling red ball forms in your palm.", ch, NULL, victim, TO_CHAR );
    act( AT_RED, "Tossing your arm out the ball begins to glow.  Your eyes begin to nerrow", ch, NULL, victim, TO_CHAR );
    act( AT_RED, "upon your enemy.  The blast ejects as a red beam crashing directly into $N.", ch, NULL, victim, TO_CHAR );

    act( AT_RED, "$n closes $s eyes and begins to chant 'Open, oh, flames of hell and begin", ch, NULL, victim, TO_NOTVICT );
    act( AT_RED, "to spin around my body.  Enhance my power; help me dispose of my foe!  Art", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_RED, "of the demon!  Skill 21!  Errupt!' $n toss $s hand out and the aura", ch, NULL, victim, TO_NOTVICT );
    act( AT_RED, "around their body explodes into that of a red flame the ground begins to", ch, NULL, victim, TO_NOTVICT );
    act( AT_RED, "rumble with energy.  Suddenly a spiraling red ball forms in $s palm. ", ch, NULL, victim, TO_NOTVICT );
    act( AT_RED, "Tossing their arm out the ball begins to glow.  $n's eyes begin to nerrow", ch, NULL, victim, TO_NOTVICT );
    act( AT_RED, "upon their enemy.  The blast ejects as a red beam crashing directly into $N.", ch, NULL, victim,
         TO_NOTVICT );

    act( AT_RED, "$n closes $s eyes and begins to chant 'Open, oh, flames of hell and begin", ch, NULL, victim, TO_VICT );
    act( AT_RED, "to spin around my body.  Enhance my power; help me dispose of my foe!  Art", ch, NULL, victim, TO_VICT );
    act( AT_RED, "of the demon!  Skill 21!  Errupt!' $n toss $s hand out and the aura", ch, NULL, victim, TO_VICT );
    act( AT_RED, "around their body explodes into that of a red flame the ground begins to", ch, NULL, victim, TO_VICT );
    act( AT_RED, "rumble with energy.  Suddenly a spiraling red ball forms in $s palm. ", ch, NULL, victim, TO_VICT );
    act( AT_RED, "Tossing their arm out the ball begins to glow.  $n's eyes begin to nerrow", ch, NULL, victim, TO_VICT );
    act( AT_RED, "upon you.  The blast ejects as a red beam crashing directly into you.", ch, NULL, victim, TO_VICT );

    learn_from_success( ch, gsn_shakkahou );
    global_retcode = damage( ch, victim, ( get_attmod( ch, victim ) * number_range( 8, 12 ) ), gsn_shakkahou );
  }
  else
  {
    act( AT_RED, "Chanting franticly you mess up the wording, causing your tounge to slip and your beam to miss your enemy.",
         ch, NULL, victim, TO_CHAR );
    act( AT_RED, "Chanting franticly $n mess up the wording, causing their tounge to slip and the red beam to miss you.", ch,
         NULL, victim, TO_VICT );
    act( AT_RED, "Chanting franticly $n mess up the wording, causing their tounge to slip and the red beam to miss $N.", ch,
         NULL, victim, TO_NOTVICT );
    learn_from_failure( ch, gsn_shakkahou );
    global_retcode = damage( ch, victim, 0, gsn_shakkahou );
  }
  return;
}
void do_raizou( CHAR_DATA * ch, char *argument )
{
  CHAR_DATA *victim;

  if( IS_NPC( ch ) && IS_AFFECTED( ch, AFF_CHARM ) )
  {
    send_to_char( "You can't concentrate enough for that.\n\r", ch );
    return;
  }
  if( !IS_NPC( ch ) && ch->exp < skill_table[gsn_raizou]->skill_level[ch->class] )
  {
    send_to_char( "You better leave the martial arts to fighters.\n\r", ch );
    return;
  }

  if( ( victim = who_fighting( ch ) ) == NULL )
  {
    send_to_char( "You aren't fighting anyone.\n\r", ch );
    return;
  }

  if( !IS_NPC( ch ) && ch->mana < skill_table[gsn_raizou]->min_mana )
  {
    send_to_char( "You don't have enough energy.\n\r", ch );
    return;
  }
  if( ch->focus < skill_table[gsn_raizou]->focus )
  {
    send_to_char( "You need to focus more.\n\r", ch );
    return;
  }
  else
    ch->focus -= skill_table[gsn_raizou]->focus;

  WAIT_STATE( ch, skill_table[gsn_raizou]->beats );

  if( !is_android_h( ch ) )
    ch->mana -= skill_table[gsn_raizou]->min_mana;

  if( can_use_skill( ch, number_percent(  ), gsn_raizou ) )
  {
    act( AT_YELLOW, "Closing your eyes you and begins to chant ' Sky, earth, planet, lend me", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "the energy to dispose of my foe.  Surround me with your most powerful", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "element, lightning! Art of the demon! Skill 19! Roar!' You toss your", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "hands into the air as clouds surround the area and a storm begins to brew. ", ch, NULL, victim,
         TO_CHAR );
    act( AT_YELLOW, "Lightning crashes and rain begins to pour. Several flashes of thunder", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "crash into the ground scaring it, thunder roars and rocks the air around", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "you and $N. One very large strike crashes into you forcing $N to jump", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "back. After you reappears you have a ball of lightning in your palm,", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "crackling with the element of lightning. You grin wildly as you thrust", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "your hand, with the lightning, into the ground. The ground breaks in two", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "and you screams 'Raizou Ikazuchi wo utte!!!' from the ground the strike of", ch, NULL, victim,
         TO_CHAR );
    act( AT_YELLOW, "lightning flys back into the sky through $N's body causing them to scream", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "in pain.", ch, NULL, victim, TO_CHAR );

    act( AT_YELLOW, "$n closes thier eyes and begins to chant 'Sky, earth, planet, lend me", ch, NULL, victim, TO_NOTVICT );
    act( AT_YELLOW, "the energy to dispose of my foe. Surround me with your most powerful", ch, NULL, victim, TO_NOTVICT );
    act( AT_YELLOW, "element, lightning!  Art of the demon!  Skill 19!  Roar!' $n toss their", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "hands into the air as clouds surround the area and a storm begins to brew. ", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "Lightning crashes and rain begins to pour. Several flashes of thunder", ch, NULL, victim, TO_NOTVICT );
    act( AT_YELLOW, "crash into the ground scaring it, thunder roars and rocks the air around", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "the two fighters one very large strike crashes into $n forcing $N to jump", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "back. After $n reappears they have a ball of lightning in their palm,", ch, NULL, victim, TO_NOTVICT );
    act( AT_YELLOW, "crackling with the element of lightning. $n grins wildly as they thrust", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "their hand, with the lightning, into the ground. The ground breaks in two", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "and $n screams 'Raizou Ikazuchi wo utte!!!' from the ground the strike of", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "lightning flys back into the sky through $N's body ccausing them to scream", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "in pain.", ch, NULL, victim, TO_NOTVICT );

    act( AT_YELLOW, "$n closes their eyes and begins to chant 'Sky, earth, planet, lend me", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "the energy to dispose of my foe. Surround me with your most powerful", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "element, lightning! Art of the demon! Skill 19!  Roar!' $n toss $s", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "hands into the air as clouds surround the area and a storm begins to brew. ", ch, NULL, victim,
         TO_VICT );
    act( AT_YELLOW, "Lightning crashes and rain begins to pour. Several flashes of thunder", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "crash into the ground scaring it, thunder roars and rocks the air around", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "$n and yourself. One very large strike crashes into you forcing you to", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "jump back.  After $n reappears $n has a ball of lightning in $s palm,", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "crackling with the element of lightning. $n grins wildly as they thrust", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "their hand, with the lightning, into the ground.  The ground breaks in two", ch, NULL, victim,
         TO_VICT );
    act( AT_YELLOW, "and $n screams 'Raizou Ikazuchi wo utte!!!' from the ground the strike of", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "lightning flys back into the sky through your body causing you to scream", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "in pain.", ch, NULL, victim, TO_VICT );
    learn_from_success( ch, gsn_raizou );
    global_retcode = damage( ch, victim, ( get_attmod( ch, victim ) * number_range( 8, 12 ) ), gsn_raizou );
  }
  else
  {
    act( AT_RED,
         "Chanting franticly you mess up the wording, causing your tounge to slip and your storm to miss your enemy.", ch,
         NULL, victim, TO_CHAR );
    act( AT_RED, "Chanting franticly $n mess up the wording, causing their tounge to slip and the storm to miss you.", ch,
         NULL, victim, TO_VICT );
    act( AT_RED, "Chanting franticly $n mess up the wording, causing their tounge to slip and the storm to miss $N.", ch,
         NULL, victim, TO_NOTVICT );
    learn_from_failure( ch, gsn_raizou );
    global_retcode = damage( ch, victim, 0, gsn_raizou );
  }
  return;
}
void do_raikyuu( CHAR_DATA * ch, char *argument )
{
  CHAR_DATA *victim;

  if( IS_NPC( ch ) && IS_AFFECTED( ch, AFF_CHARM ) )
  {
    send_to_char( "You can't concentrate enough for that.\n\r", ch );
    return;
  }
  if( !IS_NPC( ch ) && ch->exp < skill_table[gsn_raikyuu]->skill_level[ch->class] )
  {
    send_to_char( "You better leave the martial arts to fighters.\n\r", ch );
    return;
  }

  if( ( victim = who_fighting( ch ) ) == NULL )
  {
    send_to_char( "You aren't fighting anyone.\n\r", ch );
    return;
  }

  if( !IS_NPC( ch ) && ch->mana < skill_table[gsn_raikyuu]->min_mana )
  {
    send_to_char( "You don't have enough energy.\n\r", ch );
    return;
  }
  if( ch->focus < skill_table[gsn_raikyuu]->focus )
  {
    send_to_char( "You need to focus more.\n\r", ch );
    return;
  }
  else
    ch->focus -= skill_table[gsn_raikyuu]->focus;

  WAIT_STATE( ch, skill_table[gsn_raikyuu]->beats );

  if( !is_android_h( ch ) )
    ch->mana -= skill_table[gsn_raikyuu]->min_mana;

  if( can_use_skill( ch, number_percent(  ), gsn_raikyuu ) )
  {
    act( AT_YELLOW, "Tossing your palm out a yellow ball of energy forms into the palm of", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "your hand and then errupts with crakling bolts of electricity.  The energy", ch, NULL, victim,
         TO_CHAR );
    act( AT_YELLOW, "bolts form and pop at the front of the energy ball starting to spiral", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "slowly then back into your palm the same way it came.  Then with the force", ch, NULL, victim,
         TO_CHAR );
    act( AT_YELLOW, "of a rocket it is suddenly found in $N's chest spinning an crackling, but", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "not harming yet.  You say 'Silent chant.  Art of the demon.  Skill 45. ", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "Lightning ball!  EXPLODE!  ' The ball explodes violently surrounding $N in", ch, NULL, victim,
         TO_CHAR );
    act( AT_YELLOW, "a cloud of dust.", ch, NULL, victim, TO_CHAR );

    act( AT_YELLOW, "$n tosses their palm out and a yellow ball of energy forms into the palm of", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "their hand and then errupts with crakling bolts of electricity.  The energy", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "bolts form and pop at the front of the energy ball starting to spiral", ch, NULL, victim, TO_NOTVICT );
    act( AT_YELLOW, "slowly then back into $s palm the same way it came.  Then with the force", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "of a rocket it is suddenly found in $N's chest spinning and crackling, but", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "not harming yet.  $n says 'Silent chant.  Art of the demon.  Skill 45. ", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "Lightning ball!  EXPLODE!  ' The ball explodes violently surrounding $N in", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "a cloud of dust.", ch, NULL, victim, TO_NOTVICT );

    act( AT_YELLOW, "$n tosses their palm out and a yellow ball of energy forms into the palm of", ch, NULL, victim,
         TO_VICT );
    act( AT_YELLOW, "their hand and then errupts with crakling bolts of electricity.  The energy", ch, NULL, victim,
         TO_VICT );
    act( AT_YELLOW, "bolts form and pop at the front of the energy ball starting to spiral", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "slowly then back into $s palm the same way it came.  Then with the force", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "of a rocket it is suddenly found in your chest spinning and crackling, but", ch, NULL, victim,
         TO_VICT );
    act( AT_YELLOW, "not harming yet.  $n says 'Silent chant.  Art of the demon.  Skill 45. ", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "Lightning ball!  EXPLODE!  ' The ball explodes violently surrounding you in", ch, NULL, victim,
         TO_VICT );
    act( AT_YELLOW, "a cloud of dust.", ch, NULL, victim, TO_VICT );

    learn_from_success( ch, gsn_raikyuu );
    global_retcode = damage( ch, victim, ( get_attmod( ch, victim ) * number_range( 8, 12 ) ), gsn_raikyuu );
  }
  else
  {
    act( AT_BLUE, "You toss your hand out but you are blocked by $N.", ch, NULL, victim, TO_CHAR );
    act( AT_BLUE, "You notice $n's attack and quickly kick their arm.", ch, NULL, victim, TO_VICT );
    act( AT_BLUE, "$N notices $n's attack and kicks their arm into the air.", ch, NULL, victim, TO_NOTVICT );
    learn_from_failure( ch, gsn_raikyuu );
    global_retcode = damage( ch, victim, 0, gsn_raikyuu );
  }
  return;
}
void do_riku( CHAR_DATA * ch, char *argument )
{
  CHAR_DATA *victim;

  if( IS_NPC( ch ) && IS_AFFECTED( ch, AFF_CHARM ) )
  {
    send_to_char( "You can't concentrate enough for that.\n\r", ch );
    return;
  }
  if( !IS_NPC( ch ) && ch->exp < skill_table[gsn_riku]->skill_level[ch->class] )
  {
    send_to_char( "You better leave the martial arts to fighters.\n\r", ch );
    return;
  }

  if( ( victim = who_fighting( ch ) ) == NULL )
  {
    send_to_char( "You aren't fighting anyone.\n\r", ch );
    return;
  }

  if( !IS_NPC( ch ) && ch->mana < skill_table[gsn_riku]->min_mana )
  {
    send_to_char( "You don't have enough energy.\n\r", ch );
    return;
  }
  if( ch->focus < skill_table[gsn_riku]->focus )
  {
    send_to_char( "You need to focus more.\n\r", ch );
    return;
  }
  else
    ch->focus -= skill_table[gsn_riku]->focus;

  WAIT_STATE( ch, skill_table[gsn_riku]->beats );

  if( !is_android_h( ch ) )
    ch->mana -= skill_table[gsn_riku]->min_mana;

  if( can_use_skill( ch, number_percent(  ), gsn_riku ) )
  {
    act( AT_YELLOW, "Pointing your finger toward $N the tip flashes quickly then fades as if", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "nothing happened.  Suddenly lances of pure ki slams into $N pursing them", ch, NULL, victim, TO_CHAR );
    act( AT_YELLOW, "quickly then shatters away as if nothing happened.", ch, NULL, victim, TO_CHAR );

    act( AT_YELLOW, "$n points their finger toward $N the tip flashes quickly then fades as if", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "nothing happened.  Suddenly lances of pure ki slams into $N pursing them", ch, NULL, victim,
         TO_NOTVICT );
    act( AT_YELLOW, "quickly then shatters away as if nothing happened.", ch, NULL, victim, TO_NOTVICT );

    act( AT_YELLOW, "$n points their finger toward you the tip flashes quickly then fades as if", ch, NULL, victim,
         TO_VICT );
    act( AT_YELLOW, "nothing happened.  Suddenly lances of pure ki slams into you pursing them", ch, NULL, victim, TO_VICT );
    act( AT_YELLOW, "quickly then shatters away as if nothing happened.", ch, NULL, victim, TO_VICT );

    learn_from_success( ch, gsn_riku );
    global_retcode = damage( ch, victim, ( get_attmod( ch, victim ) * number_range( 8, 12 ) ), gsn_riku );
  }
  else
  {
    act( AT_BLUE, "&cYou point at $M accusingly.", ch, NULL, victim, TO_CHAR );
    act( AT_BLUE, "&c$n points at you accusingly.", ch, NULL, victim, TO_VICT );
    act( AT_BLUE, "&c$n points at $N accusingly.", ch, NULL, victim, TO_NOTVICT );
    learn_from_failure( ch, gsn_riku );
    global_retcode = damage( ch, victim, 0, gsn_riku );
  }
  return;
}