Skip to content

Commit bc59026

Browse files
authored
Add cvars for controlling XP rewards. (#1639)
* Add cvars for controlling XP rewards. * Add gamemode check for survivor and ghost carrier bonus.
1 parent 2a78129 commit bc59026

3 files changed

Lines changed: 89 additions & 103 deletions

File tree

src/game/client/neo/c_neo_player.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -722,8 +722,19 @@ void C_NEO_Player::AddEntity( void )
722722
BaseClass::AddEntity();
723723
}
724724

725-
void C_NEO_Player::AddPoints(int score, bool bAllowNegativeScore)
725+
void C_NEO_Player::AddPoints(int score, bool bAllowNegativeScore, bool bIgnorePlayerTakeover)
726726
{
727+
if (!bIgnorePlayerTakeover && m_hSpectatorTakeoverPlayerTarget.Get())
728+
{
729+
if (score >= 0)
730+
{
731+
// Reward possessed/bot for takeover player's actions
732+
m_hSpectatorTakeoverPlayerTarget->AddPoints(score, false);
733+
return;
734+
}
735+
// If a player made a mistake while taking over another player, continue to penalize them
736+
}
737+
727738
// Positive score always adds
728739
if (score < 0)
729740
{

src/game/client/neo/c_neo_player.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class C_NEO_Player : public C_HL2MP_Player
4040

4141
virtual int DrawModel( int flags );
4242
virtual void AddEntity( void );
43-
virtual void AddPoints(int score, bool bAllowNegativeScore);
43+
virtual void AddPoints(int score, bool bAllowNegativeScore, bool bIgnorePlayerTakeover = false);
4444

4545
virtual void PreDataUpdate(DataUpdateType_t updateType) OVERRIDE;
4646

src/game/shared/neo/neo_gamerules.cpp

Lines changed: 76 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,10 @@ static_assert(DEF_TEAMPLAYERTHRES <= ((MAX_PLAYERS - 1) / 2));
131131
ConVar 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);
132132
ConVar 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);
133133
ConVar 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

Comments
 (0)