22 #ifndef ULTIMA8_WORLD_FIRETYPE_H 23 #define ULTIMA8_WORLD_FIRETYPE_H 36 constexpr
FireType(uint16 typeNo, uint16 minDamage, uint16 maxDamage, uint8 range,
37 uint8 numShots, uint16 shieldCost, uint8 shieldMask,
bool accurate,
38 uint16 cellsPerRound, uint16 roundDuration,
bool nearSprite) :
39 _typeNo(typeNo), _minDamage(minDamage), _maxDamage(maxDamage),
40 _range(range), _numShots(numShots), _shieldCost(shieldCost),
41 _shieldMask(shieldMask), _accurate(accurate),
42 _cellsPerRound(cellsPerRound), _roundDuration(roundDuration),
43 _nearSprite(nearSprite) {}
45 uint16 getTypeNo()
const {
49 uint16 getMinDamage()
const {
53 uint16 getMaxDamage()
const {
57 uint8 getRange()
const {
61 uint8 getNumShots()
const {
65 uint16 getShieldCost()
const {
69 uint8 getShieldMask()
const {
73 bool getAccurate()
const {
77 uint16 getCellsPerRound()
const {
78 return _cellsPerRound;
81 uint16 getRoundDuration()
const {
82 return _roundDuration;
85 bool getNearSprite()
const {
89 uint16 getRandomDamage()
const;
91 void applySplashDamageAround(
const Point3 &pt,
int damage,
int rangediv,
92 const Item *exclude,
const Item *src)
const;
94 void makeBulletSplashShapeAndPlaySound(int32 x, int32 y, int32 z)
const;
105 uint16 _cellsPerRound;
106 uint16 _roundDuration;
Definition: detection.h:27
Definition: fire_type.h:34