Exemplo n.º 1
0
int main(void)
{
	range_select();

	init_timer0();
	init_ADC();	
	init_7Seg();
	init_led();
	
	while(1)
	{
		int r = 0;
		if(read_ADC()) r = calc_resist(read_ADC());
		
		test_limits(r);
		
		printbuf(r);
        _delay_ms(150);

	}
}
Exemplo n.º 2
0
void lose_level( char_data* ch )
{
  char       tmp  [ ONE_LINE ];
  int     add_hp;
  int   add_mana;
  int   add_move;

  if( ch->pcdata == NULL || ch->shdata->level < 2 )
    return;

  if( ch->pcdata->max_level == -1 ) {
    ch->pcdata->max_level  = ch->shdata->level;
    ch->pcdata->level_hit  = ch->base_hit;
    ch->pcdata->level_mana = ch->base_mana;
    ch->pcdata->level_move = ch->base_move;
    }

  ch->shdata->level--;
  ch->pcdata->pfile->level = ch->shdata->level;

  if( ch->shdata->level < LEVEL_BUILDER ) {
    sprintf( tmp, "%s has lost a level.", ch->descr->name );
    info( tmp, LEVEL_BUILDER, tmp, IFLAG_LEVELS, 2, ch );
    }

  add_hp   = ( ch->base_hit-20 )/( ch->shdata->level );
  add_mana = ( ch->base_mana-50 )/( ch->shdata->level );
  add_move = ( ch->base_move-100 )/( ch->shdata->level );

  ch->base_hit   -= add_hp;
  ch->base_mana  -= add_mana;
  ch->base_move  -= add_move;

  calc_resist( ch );
  update_maxes( ch );
 
  send( ch, "You have lost a level!\r\n" );
}   
Exemplo n.º 3
0
void advance_level( char_data* ch, bool message )
{
  char        buf  [ MAX_STRING_LENGTH ];
  int        clss  = ch->pcdata->clss;
  int      add_hp;
  int    add_mana;
  int    add_move;
  int       pracs  = 0;
  bool     regain;

  if( ch->species != NULL )
    return;

  ch->shdata->level++;

  regain = ( ch->pcdata->max_level != -1 );

  if( message ) {
    send( ch, "\r\n-=-= CONGRATS!!! =-=-\r\n\r\n" );
    send( ch, "You have %sgained level %d.\r\n",
      regain ? "re" : "",  ch->shdata->level );
    send( ch, "You need %d exp for the next level.\r\n",
      exp_for_level( ch )-ch->exp );

    sprintf( buf, "%s has %sgained level %d.", ch->descr->name,
      regain ? "re" : "", ch->shdata->level );
    info( buf, LEVEL_BUILDER, buf, IFLAG_LEVELS, regain ? 2 : 1, ch );
    }

  if( ch->pcdata->max_level == ch->shdata->level ) {
    ch->pcdata->max_level  = -1;
    ch->base_hit           = ch->pcdata->level_hit;
    ch->base_mana          = ch->pcdata->level_mana;
    ch->base_move          = ch->pcdata->level_move;
    }
  else {
    add_hp  = number_range( clss_table[ clss ].hit_min,
      clss_table[ clss ].hit_max );
    add_mana = number_range( clss_table[ clss ].mana_min,
      clss_table[ clss ].mana_max );
    add_move = number_range( clss_table[ clss ].move_min,
      clss_table[ clss ].move_max );

    ch->base_hit   += add_hp;
    ch->base_mana  += add_mana;
    ch->base_move  += add_move;

    if( ch->pcdata->max_level == -1 ) {      
      if( ( pracs = 12-ch->shdata->level ) > 0 ) {
        if( message )
          send( ch, "\r\n>> You gain %d practice point%s. <<\r\n\r\n",
            pracs, pracs == 1 ? "" : "s" );
        ch->pcdata->practice += pracs;
        }
      remove_bit( ch->pcdata->pfile->flags, PLR_FAMILIAR );
      }
    } 

  if( message ) {
    sprintf( buf, "%sained level %d.",
      regain ? "Reg" : "G", ch->shdata->level );
    player_log( ch, buf );
    }

  ch->pcdata->pfile->level = ch->shdata->level;
  calc_resist( ch );
  update_maxes( ch );
}