Files
oboe/osx/boe.combat.h
Celtic Minstrel 94d8717a0b Nuke as many warnings as possible, and several globals as well
- Warnings completely suppressed for the included TinyXML and gzstream libraries
- Parentheses warnings are now errors, since there were several that looked like bugs
- Ditto for dangling else warnings

Some of these warnings were actually bugs:
- Town wandering monsters would have never spawned, because the code to do so was accidentally nested within a check for overall_mode == MODE_OUTDOORS
---> boe.monster.cpp, lines 105-137
- Monster's behaviour with respect to elemental fields did not correctly depend on their immunities (this is the same precedence issue Sylae messed up fixing in the Windows code)
---> boe.monsters.cpp, lines 345-359
- Display of damage blocked by armour appeared to be incorrect (needs verification)
---> boe.newgraph.cpp, line 1079
- Three-choice dialogs probably weren't dealing with unusual button types correctly, though that's a minor point since they aren't expected to use such buttons
2014-12-04 12:44:17 -05:00

55 lines
2.4 KiB
C

void start_outdoor_combat(cOutdoors::cCreature encounter,ter_num_t in_which_terrain,short num_walls);
bool pc_combat_move(location destination);
void char_parry();
void char_stand_ready();
void pc_attack(short who_att,short target);
short calc_spec_dam(short abil,short abil_str,cCreature *monst);
void place_target(location target);
void do_combat_cast(location target);
void handle_marked_damage();
void load_missile();
void fire_missile(location target);
bool combat_next_step();
bool pick_next_pc();
void combat_run_monst();
void do_monster_turn();
void monster_attack_pc(short who_att,short target);
void monster_attack_monster(short who_att,short attackee);
void monst_fire_missile(short m_num,short bless,short level,location source,short target);
bool monst_breathe(cCreature *caster,location targ_space,short dam_type);
bool monst_cast_mage(cCreature *caster,short targ);
bool monst_cast_priest(cCreature *caster,short targ);
void damage_target(short target,short dam,eDamageType type);
location find_fireball_loc(location where,short radius,short mode,short *m);
location closest_pc_loc(location where);
short count_levels(location where,short radius);
bool pc_near(short pc_num,location where,short radius);
bool monst_near(short m_num,location where,short radius,short active);
void fireball_space(location loc,short dam);
void place_spell_pattern(effect_pat_type pat,location center,short type,short who_hit);
void handle_item_spell(location loc,short num);
void modify_pattern(effect_pat_type *pat,short type);
void do_shockwave(location target);
void radius_damage(location target,short radius, short dam, eDamageType type);
void hit_pcs_in_space(location target,short dam,eDamageType type,short report,short hit_all);
void hit_space(location target,short dam,eDamageType type,short report,short hit_all);
void do_poison();
void handle_disease();
void handle_acid();
bool no_pcs_left();
bool hit_end_c_button();
bool out_monst_all_dead();
void end_combat();
bool combat_cast_mage_spell();
bool combat_cast_priest_spell();
void start_spell_targeting(short num);
void start_fancy_spell_targeting(short num);
void spell_cast_hit_return();
void process_fields();
void scloud_space(short m,short n);
void web_space(short m,short n);
void sleep_cloud_space(short m,short n);
void take_m_ap(short num,cCreature *monst);
void add_new_action(short pc_num);
short get_monst_sound(cCreature *attacker,short which_att);