コード例 #1
0
ファイル: canalyze.c プロジェクト: salexa92/espl161
int main(int argc, char **argv) {
	namelist nl=make_namelist();
	int i;
	char c='f';
	if(strcmp(argv[1],"-p")==0){
		i=3;
		c='t';
	}
	else i=1;
	while(i<argc){
		FILE *file=fopen(argv[i],"r");
		char name[64];
		while(!feof(file)){
			if (fgetname(name,64,file)!= NULL && res_name(name)!=1){
				if(c=='f'||(c=='t'&& (name[0])!=*argv[2]))
				      add_name(nl,name);
				
			}
			
		}
		fclose(file);
		i++;
	}
	qsort(nl->names,nl->size,sizeof(struct namestat),cmpfunc);
	print_list(nl);
	return 0;
} 
コード例 #2
0
static void _character_dump(FILE* fff)
{
    int i;
    fprintf(fff, "\n\n=================================== Essences ==================================\n");
    fprintf(fff, "\n   %-22.22s Total  Need Bonus\n", "Stats");
    fprintf(fff, "   ---------------------- ----- ----- -----\n");
    for (i = 0; i < 6; i++) /* Assume in order */
        _dump_bonus_flag(fff, TR_STR + i, 3, 1, stat_name_true[A_STR + i]);

    fprintf(fff, "\n   %-22.22s Total  Need Bonus\n", "Skills");
    fprintf(fff, "   ---------------------- ----- ----- -----\n");
    _dump_bonus_flag(fff, _ESSENCE_TO_HIT, 1, 1, "To Hit");
    _dump_bonus_flag(fff, _ESSENCE_TO_DAM, 1, 1, "To Dam");
    _dump_bonus_flag(fff, _ESSENCE_AC, 2, 10, "To AC");
    _dump_bonus_flag(fff, TR_STEALTH, 2, 1, "Stealth");
    _dump_bonus_flag(fff, TR_SPEED, 1, 10, "Speed");
    if (_essences[TR_BLOWS])
    {
        int blows = _calc_amount(_essences[TR_BLOWS], _rank_decay(32), 1);

        blows = blows * _blows_mult();
        fprintf(fff, "   %-22.22s %5d %5d %5.5s\n", 
            "Attacks",
            _essences[TR_BLOWS], 
            _calc_needed(_essences[TR_BLOWS], _rank_decay(32), 1),
            blows ? format("+%d.%2.2d", blows / 100, blows % 100) : ""
        );
    }
    _dump_bonus_flag(fff, _ESSENCE_XTRA_DICE, _rank_decay(64), 1, "Slaying");
    _dump_bonus_flag(fff, TR_LIFE, 7, 1, "Life");
    _dump_bonus_flag(fff, TR_SEARCH, 2, 1, "Searching");
    _dump_bonus_flag(fff, TR_INFRA, 2, 1, "Infravision");
    _dump_bonus_flag(fff, TR_TUNNEL, 2, 1, "Digging");
    _dump_bonus_flag(fff, TR_MAGIC_MASTERY, 2, 1, "Magic Mastery");
    _dump_bonus_flag(fff, TR_LITE, 1, 1, "Light");
 
    fprintf(fff, "\n   %-22.22s Total  Need Bonus\n", "Slays");
    fprintf(fff, "   ---------------------- ----- ----- -----\n");
    for (i = 0; ; i++)
    {
        int j = _slay_flag_info[i].flag;
        if (j < 0) break;
        _dump_ability_flag(fff, j, _slay_power(i), _slay_flag_info[i].name);
    }

    fprintf(fff, "\n   %-22.22s Total  Need Bonus\n", "Resistances");
    fprintf(fff, "   ---------------------- ----- ----- -----\n");
    for (i = 0; i < RES_MAX; i++)
        _dump_bonus_flag(fff, res_get_object_flag(i), _res_power(i), 1, format("%^s", res_name(i)));

    _dump_ability_flag(fff, TR_IM_ACID, 3, "Immune Acid");
    _dump_ability_flag(fff, TR_IM_ELEC, 3, "Immune Elec");
    _dump_ability_flag(fff, TR_IM_FIRE, 3, "Immune Fire");
    _dump_ability_flag(fff, TR_IM_COLD, 3, "Immune Cold");

    fprintf(fff, "\n   %-22.22s Total  Need Bonus\n", "Abilities");
    fprintf(fff, "   ---------------------- ----- ----- -----\n");
    _dump_ability_flag(fff, TR_FREE_ACT, 2, "Free Action");
    _dump_ability_flag(fff, TR_SEE_INVIS, 3, "See Invisible");
    _dump_ability_flag(fff, TR_SLOW_DIGEST, 2, "Slow Digestion");
    _dump_ability_flag(fff, TR_REGEN, 7, "Regeneration");
    _dump_ability_flag(fff, TR_NO_MAGIC, 5, "Antimagic");
    _dump_ability_flag(fff, TR_REFLECT, 3, "Reflection");
    _dump_ability_flag(fff, TR_SH_FIRE, 7, "Aura Fire");
    _dump_ability_flag(fff, TR_SH_ELEC, 7, "Aura Elec");
    _dump_ability_flag(fff, TR_SH_COLD, 7, "Aura Cold");
    for (i = 0; i < 6; i++) /* Assume in order */
        _dump_ability_flag(fff, TR_SUST_STR + i, 5, format("Sustain %s", stat_name_true[A_STR + i]));

    fprintf(fff, "\n   %-22.22s Total  Need Bonus\n", "ESP");
    fprintf(fff, "   ---------------------- ----- ----- -----\n");
    _dump_ability_flag(fff, TR_TELEPATHY, 2, "Telepathy");
    _dump_ability_flag(fff, TR_ESP_ANIMAL, 2, "ESP Animals");
    _dump_ability_flag(fff, TR_ESP_UNDEAD, 2, "ESP Undead");
    _dump_ability_flag(fff, TR_ESP_DEMON, 2, "ESP Demon");
    _dump_ability_flag(fff, TR_ESP_ORC, 2, "ESP Orc");
    _dump_ability_flag(fff, TR_ESP_TROLL, 2, "ESP Troll");
    _dump_ability_flag(fff, TR_ESP_GIANT, 2, "ESP Giant");
    _dump_ability_flag(fff, TR_ESP_DRAGON, 2, "ESP Dragon");
    _dump_ability_flag(fff, TR_ESP_HUMAN, 2, "ESP Human");
    _dump_ability_flag(fff, TR_ESP_EVIL, 2, "ESP Evil");
    _dump_ability_flag(fff, TR_ESP_GOOD, 2, "ESP Good");
    _dump_ability_flag(fff, TR_ESP_NONLIVING, 2, "ESP Nonliving");
    _dump_ability_flag(fff, TR_ESP_UNIQUE, 2, "ESP Unique");
}