コード例 #1
0
ファイル: aux2.c プロジェクト: anylonen/omega
/* Increase in level at appropriate experience gain */
void gain_level(void)
{
  int gained=FALSE;
  int hp_gain; /* FIXED! 12/30/98 */
  
  if (gamestatusp(SUPPRESS_PRINTING))
    return;
  while (expval(Player.level+1) <= Player.xp) {
    if (!gained)
      morewait();
    gained = TRUE;
    Player.level++;
    print1("You have attained a new experience level!");
    print2("You are now ");
    nprint2(getarticle(levelname(Player.level)));
    nprint2(levelname(Player.level));
    hp_gain = random_range(Player.con)+1; /* start fix 12/30/98 */
    if (Player.hp < Player.maxhp )
      Player.hp += hp_gain*Player.hp/Player.maxhp;
    else if (Player.hp < Player.maxhp + hp_gain)
      Player.hp = Player.maxhp + hp_gain;
    /* else leave current hp alone */
    Player.maxhp += hp_gain;
    Player.maxmana = calcmana();
    /* If the character was given a bonus, let him keep it.  Otherwise
     * recharge him. */
    Player.mana = max(Player.mana, Player.maxmana); /* end fix 12/30/98 */
    morewait();
  }
  if (gained) clearmsg();
  calc_melee();
}
コード例 #2
0
ファイル: aux1.cpp プロジェクト: Geozop/OmegaRPG
/* for the examine function */
void describe_player(void)
{
    if (Player.hp < (Player.maxhp /5))
        print1("A grievously injured ");
    else if (Player.hp < (Player.maxhp /2))
        print1("A seriously wounded ");
    else if (Player.hp < Player.maxhp)
        print1("A somewhat bruised ");
    else print1("A fit ");

    if (Player.status[SHADOWFORM])
        nprint1("shadow");
    else
        nprint1(levelname(Player.level));
    nprint1(" named ");
    nprint1(Player.name);
    if (State.getMounted())
        nprint1(" (riding a horse.)");
}
コード例 #3
0
std::string getheader(eLogLevel level)
{
   std::ostringstream ost;
   ost << "|" << levelname(level) << "|" << timeutils::getLogTimeStamp() << "| ";
   return ost.str();
}
コード例 #4
0
ファイル: pdump.c プロジェクト: anylonen/omega
short dump_basic( FILE *dumpfile )
{
  int curcol;
  long total_balance;
  char *cp;
  bank_account *account;
	
  /* reset "checksum" */
  dumpcheck = 0;

  strcpy( dump_buf, "[*] " );
  strcat( dump_buf, VERSIONSTRING );
  strcat( dump_buf, " character dump [*]\n\n" );
  if ( !dump( dumpfile, dump_buf, FALSE ) )
    return FALSE;
		
  curcol = sprintf( dump_buf, "Name      : %s\n", Player.name );
  if ( gamestatusp( CHEATED ) )
    {
      if ( 72 > strlen( dump_buf ) )
        cp = strrchr( dump_buf, '\n' );
      else
        cp = &(dump_buf[ 70 ]);
      strcpy( cp, " (WIZARD)\n" );
    }
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  sprintf( dump_buf, "Level     : %s [%d]\n", levelname( Player.level ), Player.level );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  sprintf( dump_buf, "Alignment : %s\n\n", alignment_string( Player.alignment ) );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
	
  /*
    sprintf( dump_buf, "Str : %5d [%d]%n%*sHP       : %5d [%d]%n%*sHit     : %d\n",
    Player.str, Player.maxstr, &curcol, 26 - curcol, spaces,
    Player.hp,  Player.maxhp,  &curcol, 57 - curcol, spaces,
    Player.hit );
    if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
  */
		
  curcol = sprintf( dump_buf, "Str : %5d [%d]", Player.str, Player.maxstr );
  cp = strrchr( dump_buf, '\0' );
  for ( ; curcol < 26; curcol++ )
    *cp++ = ' ';
  curcol += sprintf( cp, "HP       : %5d [%d]", Player.hp,  Player.maxhp );
  cp = strrchr( dump_buf, '\0' );
  for ( ; curcol < 57; curcol++ )
    *cp++ = ' ';
  sprintf( cp, "Hit     : %d\n", Player.hit );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  curcol = sprintf( dump_buf, "Con : %5d [%d]", Player.con, Player.maxcon );
  cp = strrchr( dump_buf, '\0' );
  for ( ; curcol < 26; curcol++ )
    *cp++ = ' ';
  curcol += sprintf( cp, "Mana     : %5ld [%ld]", Player.mana,  Player.maxmana );
  cp = strrchr( dump_buf, '\0' );
  for ( ; curcol < 57; curcol++ )
    *cp++ = ' ';
  sprintf( cp, "Damage  : %d\n", Player.dmg );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  curcol = sprintf( dump_buf, "Dex : %5d [%d]", Player.dex, Player.maxdex );
  cp = strrchr( dump_buf, '\0' );
  for ( ; curcol < 57; curcol++ )
    *cp++ = ' ';
  sprintf( cp, "Defense : %d\n", Player.defense );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  curcol = sprintf( dump_buf, "Agi : %5d [%d]", Player.agi, Player.maxagi );
  cp = strrchr( dump_buf, '\0' );
  for ( ; curcol < 26; curcol++ )
    *cp++ = ' ';
  sprintf( cp, "Exp      : %-10ld          Armor   : %d\n", Player.xp,  Player.absorption );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  curcol = sprintf( dump_buf, "Int : %5d [%d]", Player.iq, Player.maxiq );
  cp = strrchr( dump_buf, '\0' );
  for ( ; curcol < 26; curcol++ )
    *cp++ = ' ';
  sprintf( cp, "Carry    : %-10d          Speed   : %d.%d\n",
           Player.itemweight, 5 / Player.speed, 500 / Player.speed % 100 );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  curcol = sprintf( dump_buf, "Pow : %5d [%d]", Player.pow, Player.maxpow );
  cp = strrchr( dump_buf, '\0' );
  for ( ; curcol < 26; curcol++ )
    *cp++ = ' ';
  sprintf( cp, "Capacity : %d\n\n", Player.maxweight );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  total_balance = 0;
  for( account = bank; account; account = account->next_account )
    {
      if ( account->player )
        total_balance += account->balance;
    }
		
  sprintf( dump_buf, "Cash (carried/bank) : %ld / %ld\n", Player.cash, total_balance );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  sprintf( dump_buf, "Current Point Total : %ld\n", calc_points() );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  sprintf( dump_buf, "Elapsed Game Time   : %s\n\n", elapsed_time_string( Time ) );
  if ( !dump( dumpfile, dump_buf, TRUE ) )
    return FALSE;
		
  sprintf( dump_buf, "[Verification: %8.8lx]\n\n", dumpcheck );
  if ( !dump( dumpfile, dump_buf, FALSE ) )
    return FALSE;
		
  return TRUE;
}