00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(AFX_TargetDamageCalc_H__3B055B6D_C8E7_42C7_9D29_FBBFD88457D1__INCLUDED_)
00022 #define AFX_TargetDamageCalc_H__3B055B6D_C8E7_42C7_9D29_FBBFD88457D1__INCLUDED_
00023
00024 #include <engine/ScorchedContext.h>
00025 #include <common/FixedVector.h>
00026
00027 class Target;
00028 class Weapon;
00029 class WeaponFireContext;
00030 class TargetDamageCalc
00031 {
00032 public:
00033 static void explosion(ScorchedContext &context,
00034 Weapon *weapon, WeaponFireContext &weaponContext,
00035 FixedVector &position, fixed radius,
00036 fixed damageAmount,
00037 bool checkFall,
00038 bool shieldOnlyDamage);
00039 static void damageTarget(ScorchedContext &context,
00040 Target *target,
00041 Weapon *weapon, WeaponFireContext &weaponContext,
00042 fixed damage,
00043 bool useShieldDamage, bool checkFall,
00044 bool shieldOnlyDamage);
00045
00046 private:
00047 TargetDamageCalc();
00048 virtual ~TargetDamageCalc();
00049
00050 };
00051
00052 #endif // !defined(AFX_TargetDamageCalc_H__3B055B6D_C8E7_42C7_9D29_FBBFD88457D1__INCLUDED_)