@@ -131,6 +131,10 @@ static_assert(DEF_TEAMPLAYERTHRES <= ((MAX_PLAYERS - 1) / 2));
131131ConVar sv_neo_readyup_teamplayersthres (" sv_neo_readyup_teamplayersthres" , V_STRINGIFY(DEF_TEAMPLAYERTHRES), FCVAR_REPLICATED, "The exact total players per team to be in and ready up to start a game.", true, 0.0f, true, (MAX_PLAYERS - 1 ) / 2);
132132ConVar sv_neo_readyup_skipwarmup (" sv_neo_readyup_skipwarmup" , " 1" , FCVAR_REPLICATED, " Skip the warmup round when already using ready up." , true , 0 .0f , true , 1 .0f );
133133ConVar sv_neo_readyup_autointermission (" sv_neo_readyup_autointermission" , " 0" , FCVAR_REPLICATED, " If disabled, skips the automatic intermission at the end of the match." , true , 0 .0f , true , 1 .0f );
134+ ConVar sv_neo_cap_reward (" sv_neo_cap_reward" , " 0" , FCVAR_REPLICATED, " How much XP to reward for capturing the ghost or escaping as VIP. 0 = Rank up." , true , 0 .0f , false , 0 .0f );
135+ ConVar sv_neo_cap_reward_dead (" sv_neo_cap_reward_dead" , " 0" , FCVAR_REPLICATED, " Whether dead players should receive the ghost capture or escape reward." , true , 0 .0f , true , 1 .0f );
136+ ConVar sv_neo_survivor_bonus (" sv_neo_survivor_bonus" , " 1" , FCVAR_REPLICATED, " Whether surviving players on the winning team in CTG and VIP should receive extra XP." , true , 0 .0f , true , 1 .0f );
137+ ConVar sv_neo_ghost_carrier_bonus (" sv_neo_ghost_carrier_bonus" , " 1" , FCVAR_REPLICATED, " Whether the ghost carrier on the winning team should receive extra XP." , true , 0 .0f , true , 1 .0f );
134138#endif // GAME_DLL
135139
136140// Both CLIENT_DLL + GAME_DLL, but server-side setting so it's replicated onto client to read the values
@@ -1323,44 +1327,6 @@ void CNEORules::Think(void)
13231327 }
13241328 }
13251329
1326- auto awardWinningTeamExperience = [&](int winningTeam)
1327- {
1328- for (int i = 1 ; i <= gpGlobals->maxClients ; i++)
1329- {
1330- auto player = UTIL_PlayerByIndex (i);
1331- if (player && player->GetTeamNumber () == winningTeam)
1332- {
1333- auto * neoPlayer = static_cast <CNEO_Player*>(player);
1334-
1335-
1336- // Player takeover logic
1337- auto playerControllingMe = neoPlayer->m_hSpectatorTakeoverPlayerImpersonatingMe .Get ();
1338- if (playerControllingMe)
1339- {
1340- // Will get XP from player possessing me based on their win conditions
1341- continue ;
1342- }
1343- auto playerPossessedByMe = neoPlayer->m_hSpectatorTakeoverPlayerTarget .Get ();
1344- if (playerPossessedByMe)
1345- {
1346- // Award takeover player as if they were dead
1347- neoPlayer->AddPoints (1 , false , true );
1348- }
1349- auto playerToRankUp = playerPossessedByMe ? playerPossessedByMe : neoPlayer;
1350-
1351-
1352- if (player->IsAlive ())
1353- {
1354- AwardRankUp (playerToRankUp);
1355- }
1356- else
1357- {
1358- neoPlayer->AddPoints (1 , false );
1359- }
1360- }
1361- }
1362- };
1363-
13641330 if (m_pGhost)
13651331 {
13661332 // Update ghosting team info
@@ -1422,12 +1388,6 @@ void CNEORules::Think(void)
14221388 // And then announce team victory
14231389 SetWinningTeam (captorTeam, NEO_VICTORY_GHOST_CAPTURE, false , true , false , false );
14241390
1425- if (m_iEscortingTeam && m_iEscortingTeam == captorTeam)
1426- {
1427- break ;
1428- }
1429-
1430- awardWinningTeamExperience (captorTeam);
14311391 break ;
14321392 }
14331393 }
@@ -1541,7 +1501,6 @@ void CNEORules::Think(void)
15411501 gameeventmanager->FireEvent (event);
15421502 }
15431503
1544- awardWinningTeamExperience (captorTeam);
15451504 break ;
15461505 }
15471506 }
@@ -1688,13 +1647,13 @@ void CNEORules::AwardRankUp(CNEO_Player *pClient)
16881647 {
16891648 if (pClient->m_iXP .Get () < ranks[i])
16901649 {
1691- pClient->AddPoints (ranks[i] - pClient->m_iXP , false );
1650+ pClient->AddPoints (ranks[i] - pClient->m_iXP , false , true );
16921651 return ;
16931652 }
16941653 }
16951654
16961655 // If we're beyond max rank, just award +1 point.
1697- pClient->AddPoints (1 , false );
1656+ pClient->AddPoints (1 , false , true );
16981657}
16991658
17001659// Return remaining time in seconds. Zero means there is no time limit.
@@ -1878,7 +1837,7 @@ void CNEORules::SpawnTheGhost(const Vector *origin)
18781837 }
18791838 m_hGhost = m_pGhost;
18801839 m_bGhostExists = true ;
1881-
1840+
18821841 Assert (UTIL_IsValidEntity (m_pGhost));
18831842
18841843 if (origin)
@@ -3627,43 +3586,59 @@ void CNEORules::SetWinningTeam(int team, int iWinReason, bool bForceMapReset, bo
36273586 player->EmitSound (soundFilter, i, soundParams);
36283587 }
36293588
3630- // Ghost-caps and VIP-escorts are handled separately
3631- if (winningTeamNum != TEAM_SPECTATOR && iWinReason != NEO_VICTORY_GHOST_CAPTURE && iWinReason != NEO_VICTORY_VIP_ESCORT && player->GetTeamNumber () == winningTeamNum)
3589+ if (winningTeamNum != TEAM_SPECTATOR && player->GetTeamNumber () == winningTeamNum)
36323590 {
36333591 int xpAward = 1 ; // Base reward for being on winning team
3634-
3635-
3636- // Player takeover logic
3637- auto playerControllingMe = player->m_hSpectatorTakeoverPlayerImpersonatingMe .Get ();
3638- if (playerControllingMe)
3639- {
3640- // Will get XP from player possessing me based on their win conditions
3641- continue ;
3642- }
3643- auto playerPossessedByMe = player->m_hSpectatorTakeoverPlayerTarget .Get ();
3644- if (playerPossessedByMe)
3592+ if (iWinReason == NEO_VICTORY_GHOST_CAPTURE || iWinReason == NEO_VICTORY_VIP_ESCORT || m_bTeamBeenAwardedDueToCapPrevent)
36453593 {
3646- // Award takeover player as if they were dead
3647- player->AddPoints (xpAward, false , true );
3594+ auto cap_reward = sv_neo_cap_reward.GetInt ();
3595+ if (!cap_reward) // Rank up
3596+ {
3597+ if (sv_neo_cap_reward_dead.GetBool () || player->IsAlive ())
3598+ {
3599+ // Swap controller and controlee for the purposes of rankup
3600+ auto playerPossessedByMe = player->m_hSpectatorTakeoverPlayerTarget .Get ();
3601+ auto playerControllingMe = player->m_hSpectatorTakeoverPlayerImpersonatingMe .Get ();
3602+ auto playerToRankUp = player;
3603+ if (playerPossessedByMe)
3604+ playerToRankUp = playerPossessedByMe;
3605+ if (playerControllingMe)
3606+ playerToRankUp = playerControllingMe;
3607+ AwardRankUp (playerToRankUp);
3608+ xpAward = 0 ;
3609+ }
3610+ }
3611+ else
3612+ {
3613+ if (sv_neo_cap_reward_dead.GetBool () || player->IsAlive ())
3614+ {
3615+ xpAward = cap_reward;
3616+ }
3617+ }
36483618 }
3649- auto playerToRankUp = playerPossessedByMe ? playerPossessedByMe : player;
3650-
3651-
3652- if (player->IsAlive ())
3619+ else if (GetGameType () == NEO_GAME_TYPE_CTG || GetGameType () == NEO_GAME_TYPE_VIP)
36533620 {
3654- if (m_bTeamBeenAwardedDueToCapPrevent )
3621+ if (sv_neo_survivor_bonus. GetBool () && player-> IsAlive () )
36553622 {
3656- AwardRankUp (playerToRankUp);
3657- xpAward = 0 ; // Already been rewarded rank-up XPs
3658- ++iRankupCapPrev;
3623+ ++xpAward;
36593624 }
3660- else
3625+ if (sv_neo_ghost_carrier_bonus. GetBool () && player-> IsCarryingGhost ())
36613626 {
36623627 ++xpAward;
3663- xpAward += static_cast <int >(player->IsCarryingGhost ());
36643628 }
36653629 }
3666- player->AddPoints (xpAward, false );
3630+
3631+ auto playerControllingMe = player->m_hSpectatorTakeoverPlayerImpersonatingMe .Get ();
3632+ if (playerControllingMe)
3633+ {
3634+ // Controlling player will be awarded as if they were dead
3635+ playerControllingMe->AddPoints (xpAward, false , true );
3636+ }
3637+ else
3638+ {
3639+ // This will award the controlled player, if any
3640+ player->AddPoints (xpAward, false );
3641+ }
36673642 }
36683643
36693644 // Any human player still alive, show them damage stats in round end
@@ -4064,7 +4039,7 @@ void CNEORules::DeathNotice(CBasePlayer* pVictim, const CTakeDamageInfo& info)
40644039 event->SetInt (" priority" , 7 );
40654040 event->SetBool (" headshot" , pVictim->LastHitGroup () == HITGROUP_HEAD);
40664041 event->SetBool (" suicide" , pKiller == pVictim || !pKiller->IsPlayer ());
4067-
4042+
40684043 if (isGrenade)
40694044 {
40704045 event->SetString (" deathIcon" , " 2" ); // NEO TODO (Adam) get from enum
@@ -4282,7 +4257,7 @@ void CNEORules::SetRoundStatus(NeoRoundStatus status)
42824257
42834258#ifdef GAME_DLL
42844259 if (status == NeoRoundStatus::PreRoundFreeze)
4285- { // we clear these so people who rejoin on a different round to the round when they left aren't prevented from spawning. This is done before all players are
4260+ { // we clear these so people who rejoin on a different round to the round when they left aren't prevented from spawning. This is done before all players are
42864261 // spawned on the new round so these values will be overwritten for those players who are still in the game
42874262 auto currentHandle = m_pRestoredInfos.FirstHandle ();
42884263 while (m_pRestoredInfos.IsValidHandle (currentHandle))
@@ -4534,8 +4509,8 @@ void CNEORules::InitDefaultAIRelationships( void )
45344509 // ------------------------------------------------------------
45354510 // > CLASS_BULLSEYE
45364511 // ------------------------------------------------------------
4537- CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_NONE, D_NU, 0 );
4538- CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_PLAYER, D_NU, 0 );
4512+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_NONE, D_NU, 0 );
4513+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_PLAYER, D_NU, 0 );
45394514 CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_BULLSEYE, D_NU, 0 );
45404515 CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_FLARE, D_NU, 0 );
45414516 CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_HEADCRAB, D_NU, 0 );
@@ -4545,12 +4520,12 @@ void CNEORules::InitDefaultAIRelationships( void )
45454520 CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_EARTH_FAUNA, D_NU, 0 );
45464521 CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_PLAYER_ALLY, D_NU, 0 );
45474522 CBaseCombatCharacter::SetDefaultRelationship (CLASS_BULLSEYE, CLASS_PLAYER_ALLY_VITAL,D_NU, 0 );
4548-
4523+
45494524 // ------------------------------------------------------------
45504525 // > CLASS_FLARE
45514526 // ------------------------------------------------------------
4552- CBaseCombatCharacter::SetDefaultRelationship (CLASS_FLARE, CLASS_NONE, D_NU, 0 );
4553- CBaseCombatCharacter::SetDefaultRelationship (CLASS_FLARE, CLASS_PLAYER, D_NU, 0 );
4527+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_FLARE, CLASS_NONE, D_NU, 0 );
4528+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_FLARE, CLASS_PLAYER, D_NU, 0 );
45544529 CBaseCombatCharacter::SetDefaultRelationship (CLASS_FLARE, CLASS_BULLSEYE, D_NU, 0 );
45554530 CBaseCombatCharacter::SetDefaultRelationship (CLASS_FLARE, CLASS_FLARE, D_NU, 0 );
45564531 CBaseCombatCharacter::SetDefaultRelationship (CLASS_FLARE, CLASS_HEADCRAB, D_NU, 0 );
@@ -4565,8 +4540,8 @@ void CNEORules::InitDefaultAIRelationships( void )
45654540 // ------------------------------------------------------------
45664541 // > CLASS_HEADCRAB
45674542 // ------------------------------------------------------------
4568- CBaseCombatCharacter::SetDefaultRelationship (CLASS_HEADCRAB, CLASS_NONE, D_NU, 0 );
4569- CBaseCombatCharacter::SetDefaultRelationship (CLASS_HEADCRAB, CLASS_PLAYER, D_HT, 0 );
4543+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_HEADCRAB, CLASS_NONE, D_NU, 0 );
4544+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_HEADCRAB, CLASS_PLAYER, D_HT, 0 );
45704545 CBaseCombatCharacter::SetDefaultRelationship (CLASS_HEADCRAB, CLASS_BULLSEYE, D_NU, 0 );
45714546 CBaseCombatCharacter::SetDefaultRelationship (CLASS_HEADCRAB, CLASS_FLARE, D_NU, 0 );
45724547 CBaseCombatCharacter::SetDefaultRelationship (CLASS_HEADCRAB, CLASS_HEADCRAB, D_NU, 0 );
@@ -4580,8 +4555,8 @@ void CNEORules::InitDefaultAIRelationships( void )
45804555 // ------------------------------------------------------------
45814556 // > CLASS_MILITARY
45824557 // ------------------------------------------------------------
4583- CBaseCombatCharacter::SetDefaultRelationship (CLASS_MILITARY, CLASS_NONE, D_NU, 0 );
4584- CBaseCombatCharacter::SetDefaultRelationship (CLASS_MILITARY, CLASS_PLAYER, D_HT, 0 );
4558+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_MILITARY, CLASS_NONE, D_NU, 0 );
4559+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_MILITARY, CLASS_PLAYER, D_HT, 0 );
45854560 CBaseCombatCharacter::SetDefaultRelationship (CLASS_MILITARY, CLASS_BULLSEYE, D_NU, 0 );
45864561 CBaseCombatCharacter::SetDefaultRelationship (CLASS_MILITARY, CLASS_FLARE, D_NU, 0 );
45874562 CBaseCombatCharacter::SetDefaultRelationship (CLASS_MILITARY, CLASS_HEADCRAB, D_HT, 0 );
@@ -4595,8 +4570,8 @@ void CNEORules::InitDefaultAIRelationships( void )
45954570 // ------------------------------------------------------------
45964571 // > CLASS_MISSILE
45974572 // ------------------------------------------------------------
4598- CBaseCombatCharacter::SetDefaultRelationship (CLASS_MISSILE, CLASS_NONE, D_NU, 0 );
4599- CBaseCombatCharacter::SetDefaultRelationship (CLASS_MISSILE, CLASS_PLAYER, D_HT, 0 );
4573+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_MISSILE, CLASS_NONE, D_NU, 0 );
4574+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_MISSILE, CLASS_PLAYER, D_HT, 0 );
46004575 CBaseCombatCharacter::SetDefaultRelationship (CLASS_MISSILE, CLASS_BULLSEYE, D_NU, 0 );
46014576 CBaseCombatCharacter::SetDefaultRelationship (CLASS_MISSILE, CLASS_FLARE, D_NU, 0 );
46024577 CBaseCombatCharacter::SetDefaultRelationship (CLASS_MISSILE, CLASS_HEADCRAB, D_HT, 0 );
@@ -4610,9 +4585,9 @@ void CNEORules::InitDefaultAIRelationships( void )
46104585 // ------------------------------------------------------------
46114586 // > CLASS_NONE
46124587 // ------------------------------------------------------------
4613- CBaseCombatCharacter::SetDefaultRelationship (CLASS_NONE, CLASS_NONE, D_NU, 0 );
4614- CBaseCombatCharacter::SetDefaultRelationship (CLASS_NONE, CLASS_PLAYER, D_NU, 0 );
4615- CBaseCombatCharacter::SetDefaultRelationship (CLASS_NONE, CLASS_BULLSEYE, D_NU, 0 );
4588+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_NONE, CLASS_NONE, D_NU, 0 );
4589+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_NONE, CLASS_PLAYER, D_NU, 0 );
4590+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_NONE, CLASS_BULLSEYE, D_NU, 0 );
46164591 CBaseCombatCharacter::SetDefaultRelationship (CLASS_NONE, CLASS_FLARE, D_NU, 0 );
46174592 CBaseCombatCharacter::SetDefaultRelationship (CLASS_NONE, CLASS_HEADCRAB, D_NU, 0 );
46184593 CBaseCombatCharacter::SetDefaultRelationship (CLASS_NONE, CLASS_MILITARY, D_NU, 0 );
@@ -4624,8 +4599,8 @@ void CNEORules::InitDefaultAIRelationships( void )
46244599 // ------------------------------------------------------------
46254600 // > CLASS_PLAYER
46264601 // ------------------------------------------------------------
4627- CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER, CLASS_NONE, D_NU, 0 );
4628- CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER, CLASS_PLAYER, D_NU, 0 );
4602+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER, CLASS_NONE, D_NU, 0 );
4603+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER, CLASS_PLAYER, D_NU, 0 );
46294604 CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER, CLASS_BULLSEYE, D_HT, 0 );
46304605 CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER, CLASS_FLARE, D_NU, 0 );
46314606 CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER, CLASS_HEADCRAB, D_HT, 0 );
@@ -4639,8 +4614,8 @@ void CNEORules::InitDefaultAIRelationships( void )
46394614 // ------------------------------------------------------------
46404615 // > CLASS_PLAYER_ALLY
46414616 // ------------------------------------------------------------
4642- CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY, CLASS_NONE, D_NU, 0 );
4643- CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY, CLASS_PLAYER, D_LI, 0 );
4617+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY, CLASS_NONE, D_NU, 0 );
4618+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY, CLASS_PLAYER, D_LI, 0 );
46444619 CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY, CLASS_BULLSEYE, D_NU, 0 );
46454620 CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY, CLASS_FLARE, D_NU, 0 );
46464621 CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY, CLASS_HEADCRAB, D_FR, 0 );
@@ -4654,8 +4629,8 @@ void CNEORules::InitDefaultAIRelationships( void )
46544629 // ------------------------------------------------------------
46554630 // > CLASS_PLAYER_ALLY_VITAL
46564631 // ------------------------------------------------------------
4657- CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY_VITAL, CLASS_NONE, D_NU, 0 );
4658- CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY_VITAL, CLASS_PLAYER, D_LI, 0 );
4632+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY_VITAL, CLASS_NONE, D_NU, 0 );
4633+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY_VITAL, CLASS_PLAYER, D_LI, 0 );
46594634 CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY_VITAL, CLASS_BULLSEYE, D_NU, 0 );
46604635 CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY_VITAL, CLASS_FLARE, D_NU, 0 );
46614636 CBaseCombatCharacter::SetDefaultRelationship (CLASS_PLAYER_ALLY_VITAL, CLASS_HEADCRAB, D_HT, 0 );
@@ -4668,9 +4643,9 @@ void CNEORules::InitDefaultAIRelationships( void )
46684643
46694644 // ------------------------------------------------------------
46704645 // > CLASS_ZOMBIE
4671- // ------------------------------------------------------------
4672- CBaseCombatCharacter::SetDefaultRelationship (CLASS_ZOMBIE, CLASS_NONE, D_NU, 0 );
4673- CBaseCombatCharacter::SetDefaultRelationship (CLASS_ZOMBIE, CLASS_PLAYER, D_HT, 0 );
4646+ // ------------------------------------------------------------
4647+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_ZOMBIE, CLASS_NONE, D_NU, 0 );
4648+ CBaseCombatCharacter::SetDefaultRelationship (CLASS_ZOMBIE, CLASS_PLAYER, D_HT, 0 );
46744649 CBaseCombatCharacter::SetDefaultRelationship (CLASS_ZOMBIE, CLASS_BULLSEYE, D_NU, 0 );
46754650 CBaseCombatCharacter::SetDefaultRelationship (CLASS_ZOMBIE, CLASS_FLARE, D_NU, 0 );
46764651 CBaseCombatCharacter::SetDefaultRelationship (CLASS_ZOMBIE, CLASS_HEADCRAB, D_NU, 0 );
@@ -4686,7 +4661,7 @@ void CNEORules::InitDefaultAIRelationships( void )
46864661 //
46874662 // Hates pretty much everything equally except other earth fauna.
46884663 // This will make the critter choose the nearest thing as its enemy.
4689- // ------------------------------------------------------------
4664+ // ------------------------------------------------------------
46904665 CBaseCombatCharacter::SetDefaultRelationship (CLASS_EARTH_FAUNA, CLASS_NONE, D_HT, 0 );
46914666 CBaseCombatCharacter::SetDefaultRelationship (CLASS_EARTH_FAUNA, CLASS_PLAYER, D_HT, 0 );
46924667 CBaseCombatCharacter::SetDefaultRelationship (CLASS_EARTH_FAUNA, CLASS_BULLSEYE, D_NU, 0 );
@@ -4699,4 +4674,4 @@ void CNEORules::InitDefaultAIRelationships( void )
46994674 CBaseCombatCharacter::SetDefaultRelationship (CLASS_EARTH_FAUNA, CLASS_PLAYER_ALLY, D_HT, 0 );
47004675 CBaseCombatCharacter::SetDefaultRelationship (CLASS_EARTH_FAUNA, CLASS_PLAYER_ALLY_VITAL,D_HT, 0 );
47014676}
4702- #endif
4677+ #endif
0 commit comments