In der Mover.cpp in der Funktion void CMover::ProcessRecovery()
ersetzen wir das
Code:
if( IsAttackMode() == FALSE ) // IsActAttack은 공격동작일 때만, IsAttackMode는 전투중
{
// 어택상태가 아닐때만 일정시간마다 피찬다.
if( dwCurTick > m_dwTickRecoveryStand )
{
m_dwTickRecoveryStand = dwCurTick + NEXT_TICK_RECOVERYSTAND;
#if __VER >= 10 // __LEGEND // 10차 전승시스템 Neuz, World, Trans
if( ! (GetAdjParam( DST_CHRSTATE ) & CHS_SETSTONE) )
#endif //__LEGEND // 10차 전승시스템 Neuz, World, Trans
{
IncHitPoint( GetHPRecovery() );
IncManaPoint( GetMPRecovery() );
IncFatiguePoint( GetFPRecovery() );
}
}
}
else
{
// 어택 상태일 때는 계속 시간을 리셋한다.
m_dwTickRecoveryStand = dwCurTick + NEXT_TICK_RECOVERYSTAND;
}
durch das
Code:
if( dwCurTick > m_dwTickRecoveryStand )
{
m_dwTickRecoveryStand = dwCurTick + NEXT_TICK_RECOVERYSTAND;
#if __VER >= 10 // __LEGEND // 10차 전승시스템 Neuz, World, Trans
if( ! (GetAdjParam( DST_CHRSTATE ) & CHS_SETSTONE) )
#endif //__LEGEND // 10차 전승시스템 Neuz, World, Trans
{
IncHitPoint( GetHPRecovery() );
IncManaPoint( GetMPRecovery() );
IncFatiguePoint( GetFPRecovery() );
}
}
Dieser switch-Fix unterscheidet sich etwas von den herk�mmlichen, anstatt selbst zus�tzliche Abfragen einzubauen, erm�glichen wir die Regeneration auch w�hrend des Kampfes und �berlassen es dieser Hp,Mp und Fp auf ihre Maximalwerte zur�ckzusetzen. Das switchen wird hierbei nicht zu 100% gefixxt jedoch wird das Zeitfenster auf beliebige Gr秤e reduziert.
Das einstellen des Zeitfenster geschieht in der Mover.h
Code:
const DWORD NEXT_TICK_DUEL = SEC(1);
const DWORD NEXT_TICK_ENDDUEL = MIN(3);
const DWORD NEXT_TICK_RECOVERY = SEC(2);
const DWORD NEXT_TICK_RECOVERYSTAND = SEC(3);
Ersetzt den Wert in der letzten Zeile durch ein Zeitfenster das ihr f�r klein genug haltet, zu beachten ist jedoch dass die Regeneration von Hp,Mp,Fp dadurch schneller wird. Bei den Bahnen in denen sich Flyff derzeit bewegt sollte man die Zeit aber auf 1 Sekunde heruntersetzen k�nnen ohne das sich dadurch Probleme ergeben.