Pferd GDF Bug

08/31/2021 01:16 MaLLaH95#1
Hallo, mir ist vor kurzem ein Problem mit Sura aufgefallen. Wenn ich auf dem Pferd sitze und GDF anhabe, macht das kein DMG an den Mob oder Spielern.
Wie kann man das ganze via Source fixen?

[Only registered and activated users can see links. Click Here To Register...]
08/31/2021 11:13 ThaRielFliege#2
Das:

HTML Code:
int CHARACTER::ComputeSkill(DWORD dwVnum, LPCHARACTER pkVictim, BYTE bSkillLevel)
{
	const bool bCanUseHorseSkill = CanUseHorseSkill();

	if (false == bCanUseHorseSkill && true == IsRiding())
		return BATTLE_NONE;

	if (IsPolymorphed())
		return BATTLE_NONE;

	CSkillProto* pkSk = CSkillManager::instance().Get(dwVnum);

	if (!pkSk)
		return BATTLE_NONE;

	if (bCanUseHorseSkill && pkSk->dwType != SKILL_TYPE_HORSE)
		return BATTLE_NONE;

	if (!bCanUseHorseSkill && pkSk->dwType == SKILL_TYPE_HORSE)
		return BATTLE_NONE; 
	
	if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY))
		pkVictim = this;
zu dem ändern:

HTML Code:
int CHARACTER::ComputeSkill(DWORD dwVnum, LPCHARACTER pkVictim, BYTE bSkillLevel)
{
	const bool bCanUseHorseSkill = CanUseHorseSkill();

	if (IsPolymorphed())
		return BATTLE_NONE;

	CSkillProto* pkSk = CSkillManager::instance().Get(dwVnum);

	if (!pkSk)
		return BATTLE_NONE;

	if (pkSk->dwVnum != SKILL_MUYEONG)
	{
		if (false == bCanUseHorseSkill && true == IsRiding())
			return BATTLE_NONE;

		if (bCanUseHorseSkill && pkSk->dwType != SKILL_TYPE_HORSE)
			return BATTLE_NONE;

		if (!bCanUseHorseSkill && pkSk->dwType == SKILL_TYPE_HORSE)
			return BATTLE_NONE;
	}
	
	if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY))
		pkVictim = this;
Ist jetzt auf die schnelle gemacht, ist getestet und funzt habe es aber nicht richtig durchgetestet, sollte aber eigentlich keine Probleme machen da nur der eine Skill dort abgefragt ist.