//======== (C) Copyright 2001 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: AvHConstants.h$ // $Date: 2002/11/12 02:23:01 $ // //------------------------------------------------------------------------------- // $Log: AvHConstants.h,v $ // Revision 1.61 2002/11/12 02:23:01 Flayra // - Renamed avhplayer for 3rd party compatibility (adminmod, etc.) // // Revision 1.60 2002/11/06 01:39:48 Flayra // - Regeneration now heals a percentage // // Revision 1.59 2002/11/05 06:17:25 Flayra // - Balance changes // // Revision 1.58 2002/11/03 04:50:19 Flayra // - Hard-coded gameplay constants instead of putting in skill.cfg // // Revision 1.57 2002/10/24 21:23:01 Flayra // - Reworked jetpacks // - Added alien easter eggs // // Revision 1.56 2002/10/18 22:18:44 Flayra // - Added alien easter egg sayings // - Added sensory chamber sayings // - Limit number of buildings in radius // - Fixed motd.txt length crash // // Revision 1.55 2002/10/16 20:51:44 Flayra // - Hive health while gestating // // Revision 1.54 2002/10/16 00:52:45 Flayra // - Added "need order" alert // - Added authentication mask // - Updated alien building sounds // - Removed a couple unneeded sounds // // Revision 1.53 2002/10/03 18:41:58 Flayra // - Added alien HUD sounds // - Added more order sounds // // Revision 1.52 2002/09/25 20:43:40 Flayra // - Removed use order, sound update // // Revision 1.51 2002/09/23 22:12:07 Flayra // - New CC sounds // - Regular update // // Revision 1.50 2002/09/09 19:49:25 Flayra // - Added deathmessage cheat // // Revision 1.49 2002/08/31 18:01:01 Flayra // - Work at VALVe // // Revision 1.48 2002/08/16 02:33:57 Flayra // - Regular update // // Revision 1.47 2002/08/09 00:56:18 Flayra // - Added "adjustscore" cheat for testing new scoreboard // // Revision 1.46 2002/08/02 22:01:04 Flayra // - Regular update // // Revision 1.45 2002/07/28 19:38:59 Flayra // - Linux path fixes // // Revision 1.44 2002/07/26 23:04:08 Flayra // - Generate numerical feedback for damage events // // Revision 1.43 2002/07/23 17:01:02 Flayra // - Regular update // // Revision 1.42 2002/07/08 16:50:20 Flayra // - Reworked team colors, #define a few more sounds, weapon spread // // Revision 1.41 2002/07/01 22:41:40 Flayra // - Removed outdated overwatch target and tension events // // Revision 1.40 2002/07/01 21:25:26 Flayra // - Added new alien weapons, added build ranges // // Revision 1.39 2002/06/25 17:53:19 Flayra // - Regular update (cleanup, new entities, new classnames) // // Revision 1.38 2002/06/10 19:51:29 Flayra // - Regular update // // Revision 1.37 2002/06/03 16:41:50 Flayra // - Removed duplicate hive class name, added more player class types for scoreboard info // // Revision 1.36 2002/05/28 17:37:48 Flayra // - Reinforcment refactoring, renamed role sounds to be less confusing // // Revision 1.35 2002/05/23 02:34:00 Flayra // - Post-crash checkin. Restored @Backup from around 4/16. Contains changes for last four weeks of development. // //=============================================================================== #ifndef AVHCONSTANTS_H #define AVHCONSTANTS_H #include "types.h" #include "game_shared/teamconst.h" // Basic constants const int kMaxPlayers = 32; const int kMaxEntities = 1500; const int kSelectionStartRange = 50; const int kSelectionEndRange = 8012; const int kSelectionExtreme = 8012; const float kSelectionNetworkConstant = 1000.0f; const float kBuildInvalidRangeMultiplier = 2.0f; const float kWorldPosNetworkConstant = 6.0f; const float kNumericNetworkConstant = 100.0f; const int kWorldMinimumZ = -4096; const int kMaxGroundPlayerSpeed = 1200; const int kNumHotkeyGroups = 5; const int kSelectAllHotGroup = kNumHotkeyGroups + 1; const int kNumRequestTypes = 3; const int kPendingIdleSoldiers = (kNumHotkeyGroups + 1); const int kPendingAmmoRequests = (kNumHotkeyGroups + 2); const int kPendingHealthRequests = (kNumHotkeyGroups + 3); const int kMaxHives = 3; const int kMaxUpgradeCategories = 3; const int kMaxUpgradeLevel = 3; const int kFuncResourceMaxResources = 300; //const float kPlayerResourceScalar = 2.0f; // 1.5 might be better const int kVictoryIntermission = 12; const int kResetPlayersPerSecond = 8; const float kBuildingUseWarmupTime = 2.0f; const float kRedeemInvulnerableTime = 1.0f; const float kMaxBuildingDropSlope = 1.0f; const float kMaxEquipmentDropSlope = 1.0f; // Used to be cl_forwardspeed, cl_backspeed, cl_sidespeed. const float kForwardSpeed = 1000.0f; const float kBackSpeed = 1000.0f; const float kSideSpeed = 1000.0f; // Name this guy for custom propagation, maybe typedef int EntityInfo; typedef vector EntityListType; typedef pair EntityFloatPairType; typedef vector EntityFloatPairListType; typedef map EntityMap; typedef vector IntList; #define kAvHGameName ((const char*)("Natural Selection")) #define kAvHGameAcronymn ((const char*)("NS")) #define kInvalidTeamName "Invalid team name" #define kAvHPlayerClassName "player" #define kwsWeldableClassName "avhweldable" #define kwsMapInfoClassName "avhmapinfo" #define kwsGameplayClassName "avhgameplay" #define kwsGammaClassName "avhgamma" #define kNumAlienLifeforms 5 #define kNumAlienUpgrades 12 #define kNumAlienUpgradeCategories 3 #define kNumUpgradesInCategory 3 #define kNumUpgradeLevelsInCategory 3 #define kMaxAlienHives 3 #define kMaxAlienEnergy 100 #define kMaxAlienResources 100 typedef enum { AVH_CLASS_TYPE_UNDEFINED = 0, AVH_CLASS_TYPE_MARINE = 1, AVH_CLASS_TYPE_ALIEN = 2, AVH_CLASS_TYPE_AUTOASSIGN = 3 } AvHClassType; typedef enum { MAP_MODE_UNDEFINED = 0, MAP_MODE_NS = 1, MAP_MODE_CS = 2, MAP_MODE_DM = 3, MAP_MODE_CO = 4 } AvHMapMode; #define kUndefinedTeam "undefinedteam" #define kMarine1Team "marine1team" #define kAlien1Team "alien1team" #define kMarine2Team "marine2team" #define kAlien2Team "alien2team" #define kSpectatorTeam "spectatorteam" #define kTeamString "undefinedteam;marine1team;alien1team;marine2team;alien2team;spectatorteam" #define kMarinePrettyName "Frontiersmen" #define kAlienPrettyName "Kharaa" #define kUndefPrettyName "Undefined" typedef enum { AUTH_ACTION_JOIN_TEAM = 0, AUTH_ACTION_ADJUST_BALANCE = 1 } AvHAuthAction; typedef enum { PLAYMODE_UNDEFINED = 0, PLAYMODE_READYROOM = 1, PLAYMODE_PLAYING = 2, PLAYMODE_AWAITINGREINFORCEMENT = 3, // Player is dead and waiting in line to get back in PLAYMODE_REINFORCING = 4, // Player is in the process of coming back into the game PLAYMODE_OBSERVER = 5, PLAYMODE_REINFORCINGCOMPLETE = 6 // Combat only: 'press fire to respawn' } AvHPlayMode; typedef enum { TEAM_IND = 0, TEAM_ONE = 1, TEAM_TWO = 2, TEAM_THREE = 3, TEAM_FOUR = 4, TEAM_SPECT = 5, TEAM_ACTIVE_BEGIN = 1, TEAM_ACTIVE_END = 5 } AvHTeamNumber; typedef enum { ALERT_NONE = 0, ALERT_PLAYER_ENGAGE = 1, ALERT_UNDER_ATTACK = 2, ALERT_RESEARCH_COMPLETE = 3, ALERT_UPGRADE_COMPLETE = 4, ALERT_LOW_RESOURCES = 5, ALERT_SOLDIER_NEEDS_AMMO = 6, ALERT_SOLDIER_NEEDS_HEALTH = 7, ALERT_PLAYER_DIED = 8, ALERT_SENTRY_FIRING = 9, ALERT_SENTRY_DAMAGED = 10, ALERT_HIVE_COMPLETE = 11, ALERT_HIVE_DYING = 12, ALERT_NEW_TRAIT = 13, ALERT_ORDER_NEEDED = 14, ALERT_ORDER_COMPLETE = 15, ALERT_MAX_ALERTS = 16 } AvHAlertType; typedef enum { PLAYERCLASS_NONE = 0, PLAYERCLASS_ALIVE_MARINE, PLAYERCLASS_ALIVE_JETPACK_MARINE, PLAYERCLASS_ALIVE_HEAVY_MARINE, PLAYERCLASS_ALIVE_LEVEL1, PLAYERCLASS_ALIVE_LEVEL2, PLAYERCLASS_ALIVE_LEVEL3, PLAYERCLASS_ALIVE_LEVEL4, PLAYERCLASS_ALIVE_LEVEL5, PLAYERCLASS_ALIVE_DIGESTING, PLAYERCLASS_ALIVE_GESTATING, PLAYERCLASS_DEAD_MARINE, PLAYERCLASS_DEAD_ALIEN, PLAYERCLASS_COMMANDER, PLAYERCLASS_REINFORCING, PLAYERCLASS_SPECTATOR, PLAYERCLASS_REINFORCINGCOMPLETE } AvHPlayerClass; // puzl: 0001073 #ifdef USE_OLDAUTH // This is a mask because players can have more then one of these typedef enum { PLAYERAUTH_NONE = 0, PLAYERAUTH_DEVELOPER = 1, PLAYERAUTH_GUIDE = 2, PLAYERAUTH_SERVEROP = 4, PLAYERAUTH_PLAYTESTER = 8, PLAYERAUTH_CONTRIBUTOR = 16, PLAYERAUTH_CHEATINGDEATH = 32, PLAYERAUTH_VETERAN = 64, PLAYERAUTH_BETASERVEROP = 128, PLAYERAUTH_PENDING = 256, PLAYERAUTH_CUSTOM = 512, PLAYERAUTH_UPP_MODE = 16384 } AvHPlayerAuthentication; #else // Mask replaced with explicit string set for GetIsMember function const static string PLAYERAUTH_DEVELOPER("dev"); const static string PLAYERAUTH_PLAYTESTER("pt"); const static string PLAYERAUTH_GUIDE("guide"); const static string PLAYERAUTH_CONTRIBUTOR("const"); const static string PLAYERAUTH_SERVEROP("op"); const static string PLAYERAUTH_VETERAN("vet"); const static string PLAYERAUTH_BETASERVEROP("betaop"); #endif typedef enum { HUD_SOUND_INVALID = 0, HUD_SOUND_POINTS_SPENT, HUD_SOUND_COUNTDOWN, HUD_SOUND_SELECT, HUD_SOUND_SQUAD1, HUD_SOUND_SQUAD2, HUD_SOUND_SQUAD3, HUD_SOUND_SQUAD4, HUD_SOUND_SQUAD5, HUD_SOUND_PLACE_BUILDING, HUD_SOUND_MARINE_RESEARCHCOMPLETE, HUD_SOUND_MARINE_SOLDIER_UNDER_ATTACK, HUD_SOUND_MARINE_BASE_UNDER_ATTACK, HUD_SOUND_MARINE_UPGRADE_COMPLETE, HUD_SOUND_MARINE_MORE, HUD_SOUND_MARINE_SOLDIERLOST, HUD_SOUND_MARINE_CCONLINE, HUD_SOUND_MARINE_CCUNDERATTACK, HUD_SOUND_MARINE_COMMANDER_EJECTED, HUD_SOUND_MARINE_RESOURCES_LOW, HUD_SOUND_MARINE_NEEDS_AMMO, HUD_SOUND_MARINE_NEEDS_HEALTH, HUD_SOUND_MARINE_NEEDS_ORDER, HUD_SOUND_MARINE_POINTS_RECEIVED, HUD_SOUND_MARINE_SOLDIER_LOST, HUD_SOUND_MARINE_SENTRYFIRING, HUD_SOUND_MARINE_SENTRYDAMAGED, HUD_SOUND_MARINE_GIVEORDERS, HUD_SOUND_MARINE_NEEDPORTAL, HUD_SOUND_MARINE_GOTOALERT, HUD_SOUND_MARINE_COMMANDERIDLE, HUD_SOUND_MARINE_ARMORYUPGRADING, HUD_SOUND_ALIEN_ENEMY_APPROACHES, HUD_SOUND_ALIEN_GAMEOVERMAN, HUD_SOUND_ALIEN_HIVE_ATTACK, HUD_SOUND_ALIEN_HIVE_COMPLETE, HUD_SOUND_ALIEN_HIVE_DYING, HUD_SOUND_ALIEN_LIFEFORM_ATTACK, HUD_SOUND_ALIEN_RESOURCES_LOW, HUD_SOUND_ALIEN_MESS, HUD_SOUND_ALIEN_MORE, HUD_SOUND_ALIEN_NEED_BETTER, HUD_SOUND_ALIEN_NEED_BUILDERS, HUD_SOUND_ALIEN_NEW_TRAIT, HUD_SOUND_ALIEN_NOW_DONCE, HUD_SOUND_ALIEN_POINTS_RECEIVED, HUD_SOUND_ALIEN_RESOURCES_ATTACK, HUD_SOUND_ALIEN_STRUCTURE_ATTACK, HUD_SOUND_ALIEN_UPGRADELOST, HUD_SOUND_ORDER_MOVE, HUD_SOUND_ORDER_ATTACK, HUD_SOUND_ORDER_BUILD, HUD_SOUND_ORDER_WELD, HUD_SOUND_ORDER_GUARD, HUD_SOUND_ORDER_GET, HUD_SOUND_ORDER_COMPLETE, HUD_SOUND_GAMESTART, HUD_SOUND_YOU_WIN, HUD_SOUND_YOU_LOSE, HUD_SOUND_TOOLTIP, // joev: bug 0000767 HUD_SOUND_PLAYERJOIN, // :joev HUD_SOUND_MAX } AvHHUDSound; typedef vector HUDSoundListType; //typedef enum //{ // ARMOR_BASE = 1, // ARMOR_HEAVY = 2, // ARMOR_LIFESUPPORT = 4, // ARMOR_JETPACK = 8, // ARMOR_MOTIONTRACK = 16 //} AvHMarineArmor; // Location orders, global orders typedef enum { ORDERTYPE_UNDEFINED = 0, ORDERTYPEL_DEFAULT, ORDERTYPEL_MOVE, ORDERTYPET_ATTACK, ORDERTYPET_BUILD, ORDERTYPET_GUARD, ORDERTYPET_WELD, ORDERTYPET_GET, ORDERTYPEG_HOLD_POSITION, ORDERTYPEG_CODE_DEPLOY_MINES, ORDERTYPEG_CODE_GREEN, ORDERTYPEG_CODE_YELLOW, ORDERTYPEG_CODE_RED, ORDERTYPE_MAX } AvHOrderType; typedef enum { ORDERTARGETTYPE_UNDEFINED = 0, ORDERTARGETTYPE_GLOBAL = 1, ORDERTARGETTYPE_LOCATION = 2, ORDERTARGETTYPE_TARGET = 3 } AvHOrderTargetType; extern const char* getModDirectory(void); extern const char* getModName(void); #define kSpriteDirectory "sprites" #define kMiniMapSpritesDirectory "sprites/minimaps" #define kTechTreeSpriteDirectory "sprites/techtree" #define kTechTreeSpritePrefix "tech" #define kScriptsDirectory "scripts" #define kSoundDirectory "sound" #define kMapDirectory "maps" #define kMusicDirectory "music" #define kBasePSName "ns.ps" // Entities #define kesDeathMatchStart "info_player_deathmatch" #define kesTerroristStart "info_player_deathmatch" #define kesCounterTerroristStart "info_player_start" #define kesFuncDoor "func_door" #define kesFuncWall "func_wall" #define kesEnvSprite "env_sprite" #define kesFuncIllusionary "func_illusionary" #define kesReadyRoomStart "info_player_start" #define keTeamStart info_team_start #define kesTeamStart "info_team_start" #define keLeaveGame info_leave_game #define keJoinTeam info_join_team #define keSpectate info_spectate #define keAutoAssign info_join_autoassign #define keMapInfo info_mapinfo #define kesMapInfo "info_mapinfo" #define keGameplay info_gameplay #define kesGameplay "info_gameplay" //#define keGlow glow #define keGamma env_gamma #define kesGamma "env_gamma" #define keParticles env_particles #define kesParticles "env_particles" #define keParticlesCustom env_particles_custom #define kesParticlesCustom "env_particles_custom" //#define keResource resource #define keWeldable func_weldable #define kesWeldable "func_weldable" #define keSeethrough func_seethrough #define kesSeethrough "func_seethrough" #define keSeethroughDoor func_seethroughdoor #define kesSeethroughDoor "func_seethroughdoor" //#define keWaypoint func_waypoint //#define kesWaypoint "func_waypoint" #define keNoBuild func_nobuild #define kesNoBuild "func_nobuild" #define keFuncResource func_resource #define kesFuncResource "func_resource" #define keMP3Audio target_mp3audio #define kesMP3Audio "target_mp3audio" #define keFog env_fog #define kesFog "env_fog" #define keInfoLocation info_location #define kesInfoLocation "info_location" #define keTeamHive team_hive #define kesTeamHive "team_hive" #define keTeamEgg team_egg #define kesTeamEgg "team_egg" #define keTriggerRandom trigger_random #define kesTriggerRandom "trigger_random" #define keTriggerPresence trigger_presence #define kesTriggerPresence "trigger_presence" #define keTriggerScript trigger_script #define kesTriggerScript "trigger_script" #define keTeamWebStrand team_webstrand #define kesTeamWebStrand "team_webstrand" // Targets fired by game #define ktGameStartedStatus "gamestartedstatus" #define ktGameReset "gamereset" // Weapons/Equipment #define kwsKnife "weapon_knife" #define kwKnife weapon_knife #define kwsGrenade "weapon_grenade" #define kwGrenade weapon_grenade #define kwsMachineGun "weapon_machinegun" #define kwMachineGun weapon_machinegun #define kwsPistol "weapon_pistol" #define kwPistol weapon_pistol #define kwsShotGun "weapon_shotgun" #define kwShotGun weapon_shotgun #define kwsHeavyMachineGun "weapon_heavymachinegun" #define kwHeavyMachineGun weapon_heavymachinegun #define kwsGrenadeGun "weapon_grenadegun" #define kwGrenadeGun weapon_grenadegun #define kwsNukeGun "weapon_nukegun" #define kwNukeGun weapon_nukegun #define kwsFlameGun "weapon_flamegun" #define kwFlameGun weapon_flamegun // Weapon that dispenses mines #define kwsMine "weapon_mine" #define kwMine weapon_mine // Deployed mines #define kwDeployedMine item_mine #define kwsDeployedMine "item_mine" #define kwsDeployedTurret "turret" #define kwDeployedTurret turret #define kwsHealth "item_health" #define kwHealth item_health #define kwsCatalyst "item_catalyst" #define kwCatalyst item_catalyst #define kwsGenericAmmo "item_genericammo" #define kwGenericAmmo item_genericammo #define kwsHeavyArmor "item_heavyarmor" #define kwHeavyArmor item_heavyarmor #define kwsJetpack "item_jetpack" #define kwJetpack item_jetpack #define kwsAmmoPack "item_ammopack" #define kwAmmoPack item_ammopack // Alien weapons #define kwsParalysisGun "weapon_paralysis" #define kwParalysisGun weapon_paralysis #define kwsSpitGun "weapon_spit" #define kwSpitGun weapon_spit #define kwClaws weapon_claws #define kwsClaws "weapon_claws" #define kwSwipe weapon_swipe #define kwsSwipe "weapon_swipe" #define kwSporeGun weapon_spore #define kwsSporeGun "weapon_spore" // Alien projectiles #define kwsSpitProjectile "spitgunprojectile" #define kwSpitProjectile spitgunprojectile #define kwSporeProjectile sporegunprojectile #define kwsSporeProjectile "sporegunprojectile" #define kwSpikeGun weapon_spikegun #define kwsSpikeGun "weapon_spikegun" #define kwBiteGun weapon_bitegun #define kwsBiteGun "weapon_bitegun" #define kwBite2Gun weapon_bite2gun #define kwsBite2Gun "weapon_bite2gun" #define kwResourceTowerGun weapon_resourcetowergun #define kwsResourceTowerGun "weapon_resourcetowergun" #define kwOffenseChamberGun weapon_offensechambergun #define kwsOffenseChamberGun "weapon_offensechambergun" #define kwDefenseChamberGun weapon_defensechambergun #define kwsDefenseChamberGun "weapon_defensechambergun" #define kwSensoryChamberGun weapon_sensorychambergun #define kwsSensoryChamberGun "weapon_sensorychambergun" #define kwMovementChamberGun weapon_movementchambergun #define kwsMovementChamberGun "weapon_movementchambergun" #define kwHiveGun weapon_hivegun #define kwsHiveGun "weapon_hivegun" #define kwHealingSpray weapon_healingspray #define kwsHealingSpray "weapon_healingspray" #define kwMetabolize weapon_metabolize #define kwsMetabolize "weapon_metabolize" #define kwWebSpinner weapon_webspinner #define kwsWebSpinner "weapon_webspinner" #define kwsWebProjectile "webgunprojectile" #define kwWebProjectile webgunprojectile #define kwBabblerGun weapon_babblergun #define kwsBabblerGun "weapon_babblergun" #define kwBabblerProjectile weapon_babblerprojectile #define kwsBabblerProjectile "weapon_babblerprojectile" #define kwPrimalScream weapon_primalscream #define kwsPrimalScream "weapon_primalscream" #define kwLeap weapon_leap #define kwsLeap "weapon_leap" #define kwAmplify weapon_amplify #define kwsAmplify "weapon_amplify" #define kwStomp weapon_stomp #define kwsStomp "weapon_stomp" #define kwStompProjectile stompprojectile #define kwsStompProjectile "stompprojectile" #define kwDevour weapon_devour #define kwsDevour "weapon_devour" #define kwCharge weapon_charge #define kwsCharge "weapon_charge" #define kwsParasiteGun "weapon_parasite" #define kwParasiteGun weapon_parasite #define kwsUmbraCloud "umbracloud" #define kwUmbraCloud umbracloud #define kwsUmbraProjectile "umbraprojectile" #define kwUmbraProjectile umbraprojectile #define kwsUmbraGun "weapon_umbra" #define kwUmbraGun weapon_umbra #define kwsBlinkGun "weapon_blink" #define kwBlinkGun weapon_blink #define kwsDivineWind "weapon_divinewind" #define kwDivineWind weapon_divinewind #define kwBileBomb weapon_bilebomb #define kwsBileBomb "weapon_bilebomb" #define kwBileBombGun weapon_bilebombgun #define kwsBileBombGun "weapon_bilebombgun" #define kwAcidRocket weapon_acidrocket #define kwsAcidRocket "weapon_acidrocket" #define kwAcidRocketGun weapon_acidrocketgun #define kwsAcidRocketGun "weapon_acidrocketgun" // Debug item #define kwsDebugEntity "item_genericammo" // Filenames #define kMOTDName "motd.txt" // Tech node prefix (skill.cfg) #define kTechCostPrefix "avh_techcost_" #define kTechHealthPrefix "avh_techhealth_" #define kTechTimePrefix "avh_techtime_" // Player models #define kNullModel "models/null.mdl" #define kReadyRoomModel "models/player.mdl" #define kMarineSoldierModel "models/player/soldier/soldier.mdl" #define kHeavySoldierModel "models/player/heavy/heavy.mdl" #define kMarineCommanderModel "models/player/commander/commander.mdl" #define kAlienLevelOneModel "models/player/alien1/alien1.mdl" #define kAlienLevelTwoModel "models/player/alien2/alien2.mdl" #define kAlienLevelThreeModel "models/player/alien3/alien3.mdl" #define kAlienLevelFourModel "models/player/alien4/alien4.mdl" #define kAlienLevelFiveModel "models/player/alien5/alien5.mdl" #define kAlienGestateModel "models/player/gestate/gestate.mdl" //#define kAlienAbilitiesGrantedSound "misc/a-abilities_granted.wav" //#define kAlienAbilitiesLostSound "misc/a-abilities_lost.wav" #define kAlienBuildingSound1 "misc/a-build1.wav" #define kAlienBuildingSound2 "misc/a-build2.wav" #define kDistressBeaconSound "misc/distressbeacon.wav" #define kBuildableRecycleSound "misc/b_recycle.wav" #define kBuildableHurt1Sound "misc/b_hurt1.wav" #define kBuildableHurt2Sound "misc/b_hurt2.wav" #define kElectricalSprite "sprites/lgtning.spr" // Model names for key #define kSoldierName "soldier" #define kHeavyName "heavy" #define kCommanderName "commander" #define kAlien1Name "alien1" #define kAlien2Name "alien2" #define kAlien3Name "alien3" #define kAlien4Name "alien4" #define kAlien5Name "alien5" #define kAlienGestationName "gestate" // Sound lists #define kPlayerLevelAttackSoundList "player/role%d_attack" #define kPlayerLevelDieSoundList "player/role%d_die" #define kPlayerLevelIdleSoundList "player/role%d_idle" #define kPlayerLevelMoveSoundList "player/role%d_move" #define kPlayerLevelPainSoundList "player/role%d_pain" #define kPlayerLevelSpawnSoundList "player/role%d_spawn" #define kPlayerLevelWoundSoundList "player/role%d_wound" #define kHiveWoundSoundList "misc/hive_wound" #define kFallPainSoundFormat "player/pl_fallpain3-%d.wav" #define kDigestingSound "player/digesting.wav" // Not quite a sound list //#define kHiveWoundSoundPrefix "misc/hive_wound" #define kPieSelectForwardSound "hud/select_node_forward.wav" #define kPieSelectBackwardSound "hud/select_node_backward.wav" #define kPieSelectForwardAlienSound "hud/select_node_forward-a.wav" #define kPieSelectBackwardAlienSound "hud/select_node_backward-a.wav" #define kSelectSound "hud/select.wav" #define kSelectAlienSound "hud/select-a.wav" #define kSquad1Sound "hud/squad1.wav" #define kSquad2Sound "hud/squad2.wav" #define kSquad3Sound "hud/squad3.wav" #define kSquad4Sound "hud/squad4.wav" #define kSquad5Sound "hud/squad5.wav" #define kMarineSquad1Sound "hud/m-squad1.wav" #define kMarineSquad2Sound "hud/m-squad2.wav" #define kMarineSquad3Sound "hud/m-squad3.wav" #define kMarineSquad4Sound "hud/m-squad4.wav" #define kMarineSquad5Sound "hud/m-squad5.wav" #define kPlaceBuildingSound "hud/place_building.wav" #define kCountdownSound "hud/countdown.wav" #define kPointsSpentSound "hud/points_spent.wav" #define kAlienPointsReceivedSound "hud/alien_points_received.wav" #define kMarinePointsReceivedSound "hud/marine_points_received.wav" #define kMarineResearchComplete "hud/marine_research_complete.wav" #define kMarineSoldierUnderAttack "hud/marine_soldierunderattack.wav" #define kMarineCCOnline1 "hud/marine_cconline1.wav" #define kMarineCCOnline2 "hud/marine_cconline2.wav" #define kMarineCCUnderAttack1 "hud/marine_ccunderattack1.wav" #define kMarineCCUnderAttack2 "hud/marine_ccunderattack2.wav" #define kMarineCommanderEjected "hud/marine_commander_ejected.wav" #define kMarineBaseUnderAttack1 "hud/marine_baseattack1.wav" #define kMarineBaseUnderAttack2 "hud/marine_baseattack2.wav" #define kMarineMoreResources "hud/marine_more.wav" #define kMarineLowResources "hud/marine_lowresources.wav" #define kMarineNeedsAmmo1 "hud/marine_needsammo1.wav" #define kMarineNeedsAmmo2 "hud/marine_needsammo2.wav" #define kMarineNeedsHealth1 "hud/marine_needshealth1.wav" #define kMarineNeedsHealth2 "hud/marine_needshealth2.wav" #define kMarineNeedsOrder1 "hud/marine_needsorder1.wav" #define kMarineNeedsOrder2 "hud/marine_needsorder2.wav" #define kMarineSoldierLost1 "hud/marine_soldierlost1.wav" #define kMarineSoldierLost2 "hud/marine_soldierlost2.wav" #define kMarineSentryFiring1 "hud/marine_sentryfiring1.wav" #define kMarineSentryFiring2 "hud/marine_sentryfiring2.wav" #define kMarineSentryTakingDamage1 "hud/marine_sentrytakingdamage1.wav" #define kMarineSentryTakingDamage2 "hud/marine_sentrytakingdamage2.wav" #define kMarineUpgradeComplete "hud/marine_upgradecomplete.wav" #define kMarineGiveOrders "hud/marine_giveorders.wav" #define kMarineNeedPortal1 "hud/marine_needportal1.wav" #define kMarineNeedPortal2 "hud/marine_needportal2.wav" #define kMarineGotoAlert "hud/marine_gotoalert.wav" #define kMarineCommanderIdle1 "hud/marine_commanderidle1.wav" #define kMarineCommanderIdle2 "hud/marine_commanderidle2.wav" #define kMarineArmoryUpgrading "hud/marine_armoryupgrading.wav" #define kAlienEnemyApproaches1 "hud/alien_enemyapproaches1.wav" #define kAlienEnemyApproaches2 "hud/alien_enemyapproaches2.wav" #define kAlienGameOverMan "hud/alien_gameoverman.wav" #define kAlienHiveAttack "hud/alien_hiveattack.wav" #define kAlienHiveComplete1 "hud/alien_hivecomplete1.wav" #define kAlienHiveComplete2 "hud/alien_hivecomplete2.wav" #define kAlienHiveDying1 "hud/alien_hivedying1.wav" #define kAlienHiveDying2 "hud/alien_hivedying2.wav" #define kAlienLifeformAttack1 "hud/alien_lifeformattack1.wav" #define kAlienLifeformAttack2 "hud/alien_lifeformattack2.wav" #define kAlienLowResources "hud/alien_lowresources.wav" #define kAlienMess "hud/alien_mess.wav" #define kAlienMoreResources1 "hud/alien_more1.wav" #define kAlienMoreResources2 "hud/alien_more2.wav" #define kAlienNeedBetter "hud/alien_needbetter.wav" #define kAlienNeedBuilders1 "hud/alien_needbuilders1.wav" #define kAlienNeedBuilders2 "hud/alien_needbuilders2.wav" #define kAlienNewTrait1 "hud/alien_newtrait1.wav" #define kAlienNewTrait2 "hud/alien_newtrait2.wav" #define kAlienNowDonce "hud/alien_now.wav" #define kAlienResourceAttack1 "hud/alien_resourceattack1.wav" #define kAlienResourceAttack2 "hud/alien_resourceattack2.wav" #define kAlienSeeDead "hud/alien_seedead.wav" #define kAlienStructureAttack1 "hud/alien_structureattack1.wav" #define kAlienStructureAttack2 "hud/alien_structureattack2.wav" #define kAlienUpgradeLost "hud/alien_upgrade_lost.wav" #define kSoundOrderMove1 "hud/marine_order_move1.wav" #define kSoundOrderMove2 "hud/marine_order_move2.wav" #define kSoundOrderMove3 "hud/marine_order_move3.wav" #define kSoundOrderMove4 "hud/marine_order_move4.wav" #define kSoundOrderAttack "hud/marine_order_attack.wav" #define kSoundOrderBuild "hud/marine_order_build.wav" #define kSoundOrderWeld "hud/marine_order_weld.wav" #define kSoundOrderGuard "hud/marine_order_guard.wav" #define kSoundOrderGet "hud/marine_order_get.wav" #define kSoundOrderComplete1 "hud/marine_order_complete1.wav" #define kSoundOrderComplete2 "hud/marine_order_complete2.wav" #define kSoundOrderComplete3 "hud/marine_order_complete3.wav" #define kSoundOrderComplete4 "hud/marine_order_complete4.wav" #define kSoundOrderComplete5 "hud/marine_order_complete5.wav" #define kSoundOrderComplete6 "hud/marine_order_complete6.wav" #define kAlienGameStart1 "hud/alien_gamestart1.wav" #define kAlienGameStart2 "hud/alien_gamestart2.wav" #define kMarineGameStart1 "hud/marine_gamestart1.wav" #define kMarineGameStart2 "hud/marine_gamestart2.wav" #define kYouWinSound "hud/you_win.wav" #define kYouLoseSound "hud/you_lose.wav" #define kTooltipSound "hud/tooltip.wav" #define kMyHiveEasterEgg "hud/alien_myhive.wav" // Tech category names #define kWeaponTechCategory "WeaponCategory" #define kArmorTechCategory "ArmorCategory" #define kBuildTechCategory "BuildCategory" #define kRadioTechCategory "RadioCategory" // Tech button components are the category plus this suffix //#define kMessageButtonsSuffix "Buttons" #define kTechNodeLabelPrefix "TechNodeLabel_" #define kTechNodeHelpPrefix "TechNodeHelp_" #define kPrerequisitePrefix "Prerequisite" #define kUser3Name "User3Name_" #define kUser3Description "User3Desc_" #define kUser3FriendlyDescription "User3FriendlyDesc_" #define kUser3CommanderDescription "User3CommanderDesc_" #define kBlipStatusPrefix "BlipStatus_" #define kMessageButtonCost "Cost" #define kNotFullyBuilt "NotFullyBuilt" #define kPointsSuffix "Points" const float kSquadHierarchyScaleFactor = .0001f; const float kCommanderHierarchyScaleFactor = .0002f; // Sayings #define kSoldierSayingList "vox/ssay%d" #define kCommanderSayingList "vox/csay%d" #define kAlienSayingList "vox/asay%d" #define kSoldierOrderRequestList "vox/sreq" #define kSoldierOrderAckList "vox/sack" // Other sounds #define kJetpackSound "misc/jetpack.wav" //#define kAdrenalineSound "misc/adren.wav" #define kGestationSound "misc/gestate.wav" #define kConnectSound "misc/connect.wav" //#define kDisconnectSound "misc/disconnect.wav" #define kEmptySound "weapons/357_cock1.wav" #define kInvalidSound "misc/invalid.wav" #define kLevelUpMarineSound "misc/levelup.wav" #define kLevelUpAlienSound "misc/a-levelup.wav" // joev: bug 0000767 #define kPlayerJoinedSound "player/jointeam.wav" // :joev // Events #define kJetpackEvent "events/Jetpack.sc" #define kStartOverwatchEvent "events/StartOverwatch.sc" #define kEndOverwatchEvent "events/EndOverwatch.sc" #define kStopVoiceSoundEvent "events/StopVoice.sc" #define kRegenerationEvent "events/Regeneration.sc" #define kStartCloakEvent "events/StartCloak.sc" #define kEndCloakEvent "events/EndCloak.sc" #define kWallJumpEvent "events/WallJump.sc" #define kFlightEvent "events/Flight.sc" #define kTeleportEvent "events/Teleport.sc" #define kSiegeHitEvent "events/SiegeHit.sc" #define kSiegeViewHitEvent "events/SiegeViewHit.sc" #define kPhaseInEvent "events/PhaseIn.sc" #define kCommanderPointsAwardedEvent "events/CommandPoints.sc" #define kEmptySoundEvent "events/Empty.sc" #define kNumericalInfoEvent "events/NumericalInfo.sc" #define kAlienSightOnEvent "events/AlienSightOn.sc" #define kAlienSightOffEvent "events/AlienSightOff.sc" #define kInvalidActionEvent "events/InvalidAction.sc" #define kParticleEvent "events/Particle.sc" #define kDistressBeaconEvent "events/DistressBeacon.sc" #define kWeaponAnimationEvent "events/WeaponAnimation.sc" #define kLevelUpEvent "events/LevelUp.sc" #define kAbilityEventName "events/Ability.sc" // Targets #define kTargetCommandStationUseTeamOne "commandstationuse1" #define kTargetCommandStationUseTeamTwo "commandstationuse2" #define kTargetCommandStationLogoutTeamOne "commandstationlogout1" #define kTargetCommandStationLogoutTeamTwo "commandstationlogout2" #define kTargetCommandStationDestroyedTeamOne "commandstationdestroyed1" #define kTargetCommandStationDestroyedTeamTwo "commandstationdestroyed2" #define kReadyNotification "ready" #define kNotReadyNotification "notready" const int kOverwatchBreakingVelocity = 5; const float kOverwatchAcquireTime = 6.0f; const float kOverwatchLostTargetTime = 4.0f; const float kOverwatchKeepFiringAfterMissingTargetTime = 1.0f; const float kSpeakingTime = 4.0f; const float kEnemySightedTime = 2.0f; const int kDefaultViewHeight = 0; const float kDefaultMinMapExtent = -4000; const float kDefaultMaxMapExtent = 4000; // Energy constants for marine structures const float kMarineStructureEnergyRate = .33f; const float kMarineStructureMaxEnergy = 100; const int kShellRenderAmount = 50; const int kInvulShellRenderAmount = 15; // This is one less then 4096 because we need top bit for sign. // Only allow map dimensions of this size or lower const float kMaxMapDimension = 4095; const float kDefaultMapGamma = 1.0f; const float kNormalizationNetworkFactor = 1000.0f; const float kHotKeyNetworkFactor = 100.0f; const int kDetectionDistance = 500; const float kMaxRelevantCullDistance = 1024; const int kHiveXYDistanceTolerance = 400; const float kBaseHealthPercentage = .5f; const float kHUDSoundVolume = .3f; #define kHotKeyPrefix "hotkey" // How many directions can bullets travel in within spread vector? //const int kBulletSpreadGranularity = 15; const int iNumberOfTeamColors = 6; extern int kTeamColors[iNumberOfTeamColors][3]; extern float kFTeamColors[iNumberOfTeamColors][3]; // Random resource constants const int kNumSharesPerPlayer = 3; const int kTotalShares = MAX_PLAYERS_PER_TEAM*kNumSharesPerPlayer; const int kNumericalInfoResourcesEvent = 0; const int kNumericalInfoHealthEvent = 1; const int kNumericalInfoResourcesDonatedEvent = 2; const int kNumericalInfoAmmoEvent = 3; const int kGameStatusReset = 0; const int kGameStatusResetNewMap = 1; const int kGameStatusEnded = 2; const int kGameStatusGameTime = 3; const int kGameStatusUnspentLevels = 4; // Max message length is 192, take into account rest of message const int kMaxPlayerSendMessageLength = 160; const int kTopDownYaw = 90; const int kTopDownPitch = 0; const int kTopDownRoll = -90; // Extra fudge factor to make sure players don't get stuck when respawning const int kRespawnFudgeFactorHeight = 1; #endif