PK Mode fix
This commit is contained in:
@@ -13,6 +13,4 @@ This repository contains the source code necessary to compile the game client ex
|
|||||||
## 📋 Changelog
|
## 📋 Changelog
|
||||||
|
|
||||||
### 🐛 Bug Fixes
|
### 🐛 Bug Fixes
|
||||||
* **Debug mode:** Fly effects are now registering when using Debug mode.
|
* **PK Mode:** Resolved conflict for Hostile mode when both players have negative alignment, added PK_PROTECT mode safeguards.
|
||||||
* **Fix effect rendering in low opacity models:** Effects now appear normally on semi-transparent meshes.
|
|
||||||
* **Fly targeting fixed for buff/healing skills:** Fixed an issue where fly target effect would render in the buffer's selected target even if the target was unbuffable (if viewing from another client).
|
|
||||||
|
|||||||
@@ -2116,7 +2116,6 @@ void CInstanceBase::SetStateFlags(DWORD dwStateFlags)
|
|||||||
// MR-4: Fix PK Mode Bug
|
// MR-4: Fix PK Mode Bug
|
||||||
// Prevent killer mode for same-guild attacks in GUILD PK mode
|
// Prevent killer mode for same-guild attacks in GUILD PK mode
|
||||||
bool skipKiller = false;
|
bool skipKiller = false;
|
||||||
|
|
||||||
|
|
||||||
if ((dwStateFlags & ADD_CHARACTER_STATE_KILLER) && PK_MODE_GUILD == GetPKMode()) {
|
if ((dwStateFlags & ADD_CHARACTER_STATE_KILLER) && PK_MODE_GUILD == GetPKMode()) {
|
||||||
CPythonPlayer& rkPlayer = CPythonPlayer::Instance();
|
CPythonPlayer& rkPlayer = CPythonPlayer::Instance();
|
||||||
@@ -2225,6 +2224,7 @@ bool CInstanceBase::IsAttackableInstance(CInstanceBase& rkInstVictim)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PK_MODE_GUILD == GetPKMode())
|
if (PK_MODE_GUILD == GetPKMode())
|
||||||
if (GetGuildID() == rkInstVictim.GetGuildID())
|
if (GetGuildID() == rkInstVictim.GetGuildID())
|
||||||
return false;
|
return false;
|
||||||
@@ -2255,6 +2255,9 @@ bool CInstanceBase::IsAttackableInstance(CInstanceBase& rkInstVictim)
|
|||||||
if (IsPVPInstance(rkInstVictim))
|
if (IsPVPInstance(rkInstVictim))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
if (rkInstVictim.GetPKMode() == PK_MODE_PROTECT)
|
||||||
|
return false;
|
||||||
|
|
||||||
// MR-4: Fix PK Mode Bug
|
// MR-4: Fix PK Mode Bug
|
||||||
if (PK_MODE_REVENGE == GetPKMode())
|
if (PK_MODE_REVENGE == GetPKMode())
|
||||||
{
|
{
|
||||||
@@ -2262,12 +2265,13 @@ bool CInstanceBase::IsAttackableInstance(CInstanceBase& rkInstVictim)
|
|||||||
{
|
{
|
||||||
if (
|
if (
|
||||||
(GetGuildID() == 0 || GetGuildID() != rkInstVictim.GetGuildID()) &&
|
(GetGuildID() == 0 || GetGuildID() != rkInstVictim.GetGuildID()) &&
|
||||||
IsConflictAlignmentInstance(rkInstVictim) &&
|
|
||||||
rkInstVictim.GetAlignment() < 0
|
rkInstVictim.GetAlignment() < 0
|
||||||
)
|
)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
// MR-4: -- END OF -- Fix PK Mode Bug
|
// MR-4: -- END OF -- Fix PK Mode Bug
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user