2014-01-23 10:46:47 +00:00
|
|
|
//======== (C) Copyright 2002 Charles G. Cleveland All rights reserved. =========
|
|
|
|
//
|
|
|
|
// The copyright to the contents herein is the property of Charles G. Cleveland.
|
|
|
|
// The contents may be used and/or copied only with the written permission of
|
|
|
|
// Charles G. Cleveland, or in accordance with the terms and conditions stipulated in
|
|
|
|
// the agreement/contract under which the contents have been supplied.
|
|
|
|
//
|
|
|
|
// Purpose:
|
|
|
|
//
|
|
|
|
// $Workfile: AvHPlayerUpgrade.h $
|
|
|
|
// $Date: 2002/09/23 22:02:57 $
|
|
|
|
//
|
|
|
|
//-------------------------------------------------------------------------------
|
|
|
|
// $Log: AvHPlayerUpgrade.h,v $
|
|
|
|
// Revision 1.7 2002/09/23 22:02:57 Flayra
|
|
|
|
// - Fixed bug where damage upgrades were applying when they shouldn't (for aliens)
|
|
|
|
// - Added heavy armor
|
|
|
|
//
|
|
|
|
// Revision 1.6 2002/05/23 02:33:20 Flayra
|
|
|
|
// - Post-crash checkin. Restored @Backup from around 4/16. Contains changes for last four weeks of development.
|
|
|
|
//
|
|
|
|
//===============================================================================
|
|
|
|
#ifndef AVH_PLAYER_UPGRADE_H
|
|
|
|
#define AVH_PLAYER_UPGRADE_H
|
|
|
|
|
|
|
|
#include "util/nowarnings.h"
|
|
|
|
#include "types.h"
|
|
|
|
#include "mod/AvHSpecials.h"
|
|
|
|
|
|
|
|
class AvHPlayerUpgrade
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static float GetAlienMeleeDamageUpgrade(int inUpgrade, bool inIncludeFocus = false);
|
|
|
|
static float GetAlienRangedDamageUpgrade(int inUpgrade);
|
|
|
|
static float GetFocusDamageUpgrade(int inUpgrade);
|
|
|
|
|
|
|
|
static float GetArmorValue(int inNumHives = -1);
|
|
|
|
static float GetArmorAbsorption(AvHUser3 inUser3, int inUpgrade, int inNumHives = -1);
|
|
|
|
static int GetMaxArmorLevel(int inUpgrade, AvHUser3 inUser3);
|
|
|
|
static int GetMaxHealth(int inUpgrade, AvHUser3 inUser3, int inLevel = 1);
|
|
|
|
static int GetArmorUpgrade(AvHUser3 inUser3, int inUpgrade, float* outArmorMultiplier = NULL);
|
|
|
|
static float GetSilenceVolumeLevel(AvHUser3 inUser3, int inUpgrade);
|
|
|
|
static int GetWeaponUpgrade(int inUser3, int inUpgrade, float* theDamageMultiplier = NULL, int* theTracerFreq = NULL, float* theSpread = NULL);
|
|
|
|
static float CalculateDamageLessArmor(AvHUser3 inUser3, int inUser4, float flDamage, float& ioArmorValue, int bitsDamageType, int inNumHives = -1);
|
|
|
|
static float GetExperienceForLevel(int inLevel);
|
|
|
|
static int GetPlayerLevel(float inExperience);
|
|
|
|
static float GetPercentToNextLevel(float inExperience);
|
|
|
|
};
|
|
|
|
|
2005-03-09 01:31:56 +00:00
|
|
|
#endif
|