- Remove all field booleans except quickfire and belt, which have been moved to cCurTown - Alter and extend place_spell_pattern, to allow arbitrary damage types and to make it more clear in the code what's happening when it's called - Delete fields.cpp file; a few things moved to locutils.cpp, but most are now part of cCurTown - set_terrain function automatically updates belt present boolean if setting to a conveyor.
68 lines
2.7 KiB
C
68 lines
2.7 KiB
C
|
|
#ifndef BOE_GAME_COMBAT_H
|
|
#define BOE_GAME_COMBAT_H
|
|
|
|
#include "location.h"
|
|
#include "monster.h"
|
|
#include "outdoors.h"
|
|
#include "boe.global.h"
|
|
|
|
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 who_hit);
|
|
void place_spell_pattern(effect_pat_type pat,location center,eFieldType type,short who_hit);
|
|
void place_spell_pattern(effect_pat_type pat,location center,eDamageType type, short dice,short who_hit);
|
|
void handle_item_spell(location loc,short num);
|
|
void modify_pattern(effect_pat_type *pat,unsigned 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);
|
|
|
|
#endif
|