Use english names for skills enum

This commit is contained in:
Haydukk 2024-11-10 17:58:52 +02:00
parent 6616009e92
commit 3f65939333
8 changed files with 150 additions and 150 deletions

View File

@ -4806,7 +4806,7 @@ void CHARACTER::OnMove(bool bIsAttack)
if (IsAffectFlag(AFF_EUNHYUNG))
{
RemoveAffect(SKILL_EUNHYUNG);
RemoveAffect(SKILL_NINJA_BLADEFIGHT_DISGUISE);
SetAffectedEunhyung();
}
else

View File

@ -471,7 +471,7 @@ void CHARACTER::LoadAffect(DWORD dwCount, TPacketAffectElement * pElements)
for (DWORD i = 0; i < dwCount; ++i, ++pElements)
{
// 무영진은 로드하지않는다.
if (pElements->dwType == SKILL_MUYEONG)
if (pElements->dwType == SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT)
continue;
if (AFFECT_AUTO_HP_RECOVERY == pElements->dwType || AFFECT_AUTO_SP_RECOVERY == pElements->dwType)
@ -657,7 +657,7 @@ void CHARACTER::ComputeAffect(CAffect * pkAff, bool bAdd)
else
PointChange(pkAff->bApplyOn, -pkAff->lApplyValue);
if (pkAff->dwType == SKILL_MUYEONG)
if (pkAff->dwType == SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT)
{
if (bAdd)
StartMuyeongEvent();
@ -745,20 +745,20 @@ void CHARACTER::RemoveGoodAffect()
RemoveAffect(AFFECT_CON);
RemoveAffect(AFFECT_CHINA_FIREWORK);
RemoveAffect(SKILL_JEONGWI);
RemoveAffect(SKILL_GEOMKYUNG);
RemoveAffect(SKILL_CHUNKEON);
RemoveAffect(SKILL_EUNHYUNG);
RemoveAffect(SKILL_GYEONGGONG);
RemoveAffect(SKILL_GWIGEOM);
RemoveAffect(SKILL_TERROR);
RemoveAffect(SKILL_JUMAGAP);
RemoveAffect(SKILL_MANASHILED);
RemoveAffect(SKILL_HOSIN);
RemoveAffect(SKILL_REFLECT);
RemoveAffect(SKILL_KWAESOK);
RemoveAffect(SKILL_JEUNGRYEOK);
RemoveAffect(SKILL_GICHEON);
RemoveAffect(SKILL_WAR_BODY_BERSERK);
RemoveAffect(SKILL_WAR_BODY_AURA);
RemoveAffect(SKILL_WAR_MENTAL_SWORD_STRIKE);
RemoveAffect(SKILL_NINJA_BLADEFIGHT_DISGUISE);
RemoveAffect(SKILL_NINJA_ARCHERY_FEATHER_WALK);
RemoveAffect(SKILL_SURA_WEAPONRY_ENCHANTED_BLADE);
RemoveAffect(SKILL_SURA_WEAPONRY_FEAR);
RemoveAffect(SKILL_SURA_WEAPONRY_ENCHANTED_ARMOUR);
RemoveAffect(SKILL_SURA_BLACKMAGIC_DARK_PROTECTION);
RemoveAffect(SKILL_SHAMAN_DRAGON_BLESSING);
RemoveAffect(SKILL_SHAMAN_DRAGON_REFLECT);
RemoveAffect(SKILL_SHAMAN_HEALING_SWIFTNESS);
RemoveAffect(SKILL_SHAMAN_HEALING_ATTACK);
RemoveAffect(SKILL_SHAMAN_DRAGON_DRAGONS_AID);
}
bool CHARACTER::IsGoodAffect(BYTE bAffectType) const
@ -773,20 +773,20 @@ bool CHARACTER::IsGoodAffect(BYTE bAffectType) const
case (AFFECT_CON):
case (AFFECT_CHINA_FIREWORK):
case (SKILL_JEONGWI):
case (SKILL_GEOMKYUNG):
case (SKILL_CHUNKEON):
case (SKILL_EUNHYUNG):
case (SKILL_GYEONGGONG):
case (SKILL_GWIGEOM):
case (SKILL_TERROR):
case (SKILL_JUMAGAP):
case (SKILL_MANASHILED):
case (SKILL_HOSIN):
case (SKILL_REFLECT):
case (SKILL_KWAESOK):
case (SKILL_JEUNGRYEOK):
case (SKILL_GICHEON):
case (SKILL_WAR_BODY_BERSERK):
case (SKILL_WAR_BODY_AURA):
case (SKILL_WAR_MENTAL_SWORD_STRIKE):
case (SKILL_NINJA_BLADEFIGHT_DISGUISE):
case (SKILL_NINJA_ARCHERY_FEATHER_WALK):
case (SKILL_SURA_WEAPONRY_ENCHANTED_BLADE):
case (SKILL_SURA_WEAPONRY_FEAR):
case (SKILL_SURA_WEAPONRY_ENCHANTED_ARMOUR):
case (SKILL_SURA_BLACKMAGIC_DARK_PROTECTION):
case (SKILL_SHAMAN_DRAGON_BLESSING):
case (SKILL_SHAMAN_DRAGON_REFLECT):
case (SKILL_SHAMAN_HEALING_SWIFTNESS):
case (SKILL_SHAMAN_HEALING_ATTACK):
case (SKILL_SHAMAN_DRAGON_DRAGONS_AID):
return true;
}
return false;
@ -806,7 +806,7 @@ void CHARACTER::RemoveBadAffect()
RemoveAffect(AFFECT_SLOW);
// 투속마령
RemoveAffect(SKILL_TUSOK);
RemoveAffect(SKILL_SURA_BLACKMAGIC_SPIRIT_STRIKE);
// 저주
//RemoveAffect(SKILL_CURSE);

View File

@ -1661,7 +1661,7 @@ bool CHARACTER::Damage(LPCHARACTER pAttacker, int dam, EDamageType type) // retu
{
if (IsAffectFlag(AFF_TERROR))
{
int pct = GetSkillPower(SKILL_TERROR) / 400;
int pct = GetSkillPower(SKILL_SURA_WEAPONRY_FEAR) / 400;
if (Random::get(1, 100) <= pct)
return false;
@ -1817,10 +1817,10 @@ bool CHARACTER::Damage(LPCHARACTER pAttacker, int dam, EDamageType type) // retu
}
if (IsAffectFlag(AFF_JEONGWIHON))
dam = (int) (dam * (100 + GetSkillPower(SKILL_JEONGWI) * 25 / 100) / 100);
dam = (int) (dam * (100 + GetSkillPower(SKILL_WAR_BODY_BERSERK) * 25 / 100) / 100);
if (IsAffectFlag(AFF_TERROR))
dam = (int) (dam * (95 - GetSkillPower(SKILL_TERROR) / 5) / 100);
dam = (int) (dam * (95 - GetSkillPower(SKILL_SURA_WEAPONRY_FEAR) / 5) / 100);
if (IsAffectFlag(AFF_HOSIN))
dam = dam * (100 - GetPoint(POINT_RESIST_NORMAL_DAMAGE)) / 100;
@ -2941,7 +2941,7 @@ class CFuncShoot
}
break;
case SKILL_YEONSA: // ¿¬»ç
case SKILL_NINJA_ARCHERY_REPETITIVE_SHOT: // ¿¬»ç
{
//int iUseArrow = 2 + (m_me->GetSkillPower(SKILL_YEONSA) *6/100);
int iUseArrow = 1;
@ -2970,7 +2970,7 @@ class CFuncShoot
break;
case SKILL_KWANKYEOK:
case SKILL_NINJA_ARCHERY_ARROW_SHOWER:
{
int iUseArrow = 1;
@ -2989,7 +2989,7 @@ class CFuncShoot
}
break;
case SKILL_GIGUNG:
case SKILL_NINJA_ARCHERY_POISON_ARROW:
{
int iUseArrow = 1;
if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow))
@ -3007,7 +3007,7 @@ class CFuncShoot
}
break;
case SKILL_HWAJO:
case SKILL_NINJA_ARCHERY_FIRE_ARROW:
{
int iUseArrow = 1;
if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow))
@ -3045,15 +3045,15 @@ class CFuncShoot
break;
case SKILL_MARYUNG:
case SKILL_SURA_BLACKMAGIC_DARK_STRIKE:
//case SKILL_GUMHWAN:
case SKILL_TUSOK:
case SKILL_BIPABU:
case SKILL_NOEJEON:
case SKILL_GEOMPUNG:
case SKILL_SANGONG:
case SKILL_MAHWAN:
case SKILL_PABEOB:
case SKILL_SURA_BLACKMAGIC_SPIRIT_STRIKE:
case SKILL_SHAMAN_DRAGON_FLYING_TALISMAN:
case SKILL_SHAMAN_HEALING_LIGHTNING_THROW:
case SKILL_WAR_MENTAL_AMBUSH:
case SKILL_NINJA_BLADEFIGHT_POISONOUS_CLOUD:
case SKILL_SURA_BLACKMAGIC_DARK_ORB:
case SKILL_SURA_WEAPONRY_DISPEL:
//case SKILL_CURSE:
{
m_me->OnMove(true);
@ -3067,7 +3067,7 @@ class CFuncShoot
}
break;
case SKILL_CHAIN:
case SKILL_SHAMAN_HEALING_LIGHTNING_CLAW:
{
m_me->OnMove(true);
pkVictim->OnMove();
@ -3082,7 +3082,7 @@ class CFuncShoot
}
break;
case SKILL_YONGBI:
case SKILL_SHAMAN_DRAGON_SHOOTING_DRAGON:
{
m_me->OnMove(true);
}

View File

@ -478,10 +478,10 @@ void CHARACTER::SetWear(BYTE bCell, LPITEM item)
{
// 귀검 사용 시 벗는 것이라면 효과를 없애야 한다.
if (IsAffectFlag(AFF_GWIGUM))
RemoveAffect(SKILL_GWIGEOM);
RemoveAffect(SKILL_SURA_WEAPONRY_ENCHANTED_BLADE);
if (IsAffectFlag(AFF_GEOMGYEONG))
RemoveAffect(SKILL_GEOMKYUNG);
RemoveAffect(SKILL_WAR_BODY_AURA);
}
}
@ -7277,7 +7277,7 @@ void CHARACTER::AutoRecoveryItemProcess(const EAffectTypes type)
return;
{
const DWORD stunSkills[] = { SKILL_TANHWAN, SKILL_GEOMPUNG, SKILL_BYEURAK, SKILL_GIGUNG };
const DWORD stunSkills[] = { SKILL_WAR_BODY_DASH, SKILL_WAR_MENTAL_AMBUSH, SKILL_SHAMAN_HEALING_SUMMON_LIGHTNING, SKILL_NINJA_ARCHERY_POISON_ARROW };
for (size_t i=0 ; i < sizeof(stunSkills)/sizeof(DWORD) ; ++i)
{

View File

@ -68,7 +68,7 @@ bool TSkillUseInfo::HitOnce(DWORD dwVnum)
SPDLOG_DEBUG("__HitOnce NextUse {} current {} count {} scount {}", dwNextSkillUsableTime, get_dword_time(), iHitCount, iSplashCount);
if (dwNextSkillUsableTime && dwNextSkillUsableTime<get_dword_time() && dwVnum != SKILL_MUYEONG && dwVnum != SKILL_HORSE_WILDATTACK)
if (dwNextSkillUsableTime && dwNextSkillUsableTime<get_dword_time() && dwVnum != SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT && dwVnum != SKILL_HORSE_WILDATTACK)
{
SPDLOG_DEBUG("__HitOnce can't hit");
@ -124,12 +124,12 @@ bool TSkillUseInfo::UseSkill(bool isGrandMaster, DWORD vid, DWORD dwCooltime, in
int CHARACTER::GetChainLightningMaxCount() const
{
return aiChainLightningCountBySkillLevel[std::min<int>(SKILL_MAX_LEVEL, GetSkillLevel(SKILL_CHAIN))];
return aiChainLightningCountBySkillLevel[std::min<int>(SKILL_MAX_LEVEL, GetSkillLevel(SKILL_SHAMAN_HEALING_LIGHTNING_CLAW))];
}
void CHARACTER::SetAffectedEunhyung()
{
m_dwAffectedEunhyungLevel = GetSkillPower(SKILL_EUNHYUNG);
m_dwAffectedEunhyungLevel = GetSkillPower(SKILL_NINJA_BLADEFIGHT_DISGUISE);
}
void CHARACTER::SetSkillGroup(BYTE bSkillGroup)
@ -1017,7 +1017,7 @@ EVENTFUNC(ChainLightningEvent)
if (pkTarget)
{
pkChrVictim->CreateFly(FLY_CHAIN_LIGHTNING, pkTarget);
pkChr->ComputeSkill(SKILL_CHAIN, pkTarget);
pkChr->ComputeSkill(SKILL_SHAMAN_HEALING_LIGHTNING_CLAW, pkTarget);
pkChr->AddChainLightningExcept(pkTarget);
}
else
@ -1092,7 +1092,7 @@ struct FuncSplashDamage
if (m_pkChr->IsPC())
// 길드 스킬은 쿨타임 처리를 하지 않는다.
if (!(m_pkSk->dwVnum >= GUILD_SKILL_START && m_pkSk->dwVnum <= GUILD_SKILL_END))
if (!m_bDisableCooltime && m_pInfo && !m_pInfo->HitOnce(m_pkSk->dwVnum) && m_pkSk->dwVnum != SKILL_MUYEONG)
if (!m_bDisableCooltime && m_pInfo && !m_pInfo->HitOnce(m_pkSk->dwVnum) && m_pkSk->dwVnum != SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT)
{
SPDLOG_TRACE("check guild skill {}", m_pkChr->GetName());
return;
@ -1183,7 +1183,7 @@ struct FuncSplashDamage
////////////////////////////////////////////////////////////////////////////////
iAmount = -iAmount;
if (m_pkSk->dwVnum == SKILL_AMSEOP)
if (m_pkSk->dwVnum == SKILL_NINJA_BLADEFIGHT_AMBUSH)
{
float fDelta = GetDegreeDelta(m_pkChr->GetRotation(), pkChrVictim->GetRotation());
float adjust;
@ -1220,7 +1220,7 @@ struct FuncSplashDamage
iAmount = (int) (iAmount * adjust);
}
else if (m_pkSk->dwVnum == SKILL_GUNGSIN)
else if (m_pkSk->dwVnum == SKILL_NINJA_BLADEFIGHT_FAST_ATTACK)
{
float adjust = 1.0;
@ -1346,7 +1346,7 @@ struct FuncSplashDamage
if (pkChrVictim->CanBeginFight())
pkChrVictim->BeginFight(m_pkChr);
if (m_pkSk->dwVnum == SKILL_CHAIN)
if (m_pkSk->dwVnum == SKILL_SHAMAN_HEALING_LIGHTNING_CLAW)
SPDLOG_DEBUG("{} CHAIN INDEX {} DAM {} DT {}", m_pkChr->GetName(), m_pkChr->GetChainLightningIndex() - 1, iDam, (int) dt);
{
@ -1354,14 +1354,14 @@ struct FuncSplashDamage
switch (m_pkSk->dwVnum)
{
case SKILL_TANHWAN: AntiSkillID = SKILL_7_A_ANTI_TANHWAN; break;
case SKILL_AMSEOP: AntiSkillID = SKILL_7_B_ANTI_AMSEOP; break;
case SKILL_SWAERYUNG: AntiSkillID = SKILL_7_C_ANTI_SWAERYUNG; break;
case SKILL_YONGBI: AntiSkillID = SKILL_7_D_ANTI_YONGBI; break;
case SKILL_GIGONGCHAM: AntiSkillID = SKILL_8_A_ANTI_GIGONGCHAM; break;
case SKILL_YEONSA: AntiSkillID = SKILL_8_B_ANTI_YEONSA; break;
case SKILL_MAHWAN: AntiSkillID = SKILL_8_C_ANTI_MAHWAN; break;
case SKILL_BYEURAK: AntiSkillID = SKILL_8_D_ANTI_BYEURAK; break;
case SKILL_WAR_BODY_DASH: AntiSkillID = SKILL_7_A_ANTI_TANHWAN; break;
case SKILL_NINJA_BLADEFIGHT_AMBUSH: AntiSkillID = SKILL_7_B_ANTI_AMSEOP; break;
case SKILL_SURA_WEAPONRY_FINGER_STRIKE: AntiSkillID = SKILL_7_C_ANTI_SWAERYUNG; break;
case SKILL_SHAMAN_DRAGON_SHOOTING_DRAGON: AntiSkillID = SKILL_7_D_ANTI_YONGBI; break;
case SKILL_WAR_MENTAL_BASH: AntiSkillID = SKILL_8_A_ANTI_GIGONGCHAM; break;
case SKILL_NINJA_ARCHERY_REPETITIVE_SHOT: AntiSkillID = SKILL_8_B_ANTI_YEONSA; break;
case SKILL_SURA_BLACKMAGIC_DARK_ORB: AntiSkillID = SKILL_8_C_ANTI_MAHWAN; break;
case SKILL_SHAMAN_HEALING_SUMMON_LIGHTNING: AntiSkillID = SKILL_8_D_ANTI_BYEURAK; break;
}
if (0 != AntiSkillID)
@ -1505,7 +1505,7 @@ struct FuncSplashDamage
m_pkChr->PointChange(POINT_SP, iDam * iPct / 100);
}
if (m_pkSk->dwVnum == SKILL_CHAIN && m_pkChr->GetChainLightningIndex() < m_pkChr->GetChainLightningMaxCount())
if (m_pkSk->dwVnum == SKILL_SHAMAN_HEALING_LIGHTNING_CLAW && m_pkChr->GetChainLightningIndex() < m_pkChr->GetChainLightningMaxCount())
{
chain_lightning_event_info* info = AllocEventInfo<chain_lightning_event_info>();
@ -1563,11 +1563,11 @@ struct FuncSplashAffect
if (DISTANCE_APPROX(m_x - pkChr->GetX(), m_y - pkChr->GetY()) < m_iDist)
{
SPDLOG_TRACE("FuncSplashAffect step 2 : name:{} vnum:{} iDur:{}", pkChr->GetName(), m_dwVnum, m_iDuration);
if (m_dwVnum == SKILL_TUSOK)
if (m_dwVnum == SKILL_SURA_BLACKMAGIC_SPIRIT_STRIKE)
if (pkChr->CanBeginFight())
pkChr->BeginFight(m_pkChrAttacker);
if (pkChr->IsPC() && m_dwVnum == SKILL_TUSOK)
if (pkChr->IsPC() && m_dwVnum == SKILL_SURA_BLACKMAGIC_SPIRIT_STRIKE)
pkChr->AddAffect(m_dwVnum, m_bPointOn, m_iAmount, m_dwAffectFlag, m_iDuration/3, m_iSPCost, m_bOverride);
else
pkChr->AddAffect(m_dwVnum, m_bPointOn, m_iAmount, m_dwAffectFlag, m_iDuration, m_iSPCost, m_bOverride);
@ -1795,7 +1795,7 @@ int CHARACTER::ComputeSkillAtPosition(DWORD dwVnum, const PIXEL_POSITION& posTar
if (IsPC())
if (!(dwVnum >= GUILD_SKILL_START && dwVnum <= GUILD_SKILL_END)) // 길드 스킬은 쿨타임 처리를 하지 않는다.
if (!m_bDisableCooltime && !m_SkillUseInfo[dwVnum].HitOnce(dwVnum) && dwVnum != SKILL_MUYEONG)
if (!m_bDisableCooltime && !m_SkillUseInfo[dwVnum].HitOnce(dwVnum) && dwVnum != SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT)
{
return BATTLE_NONE;
}
@ -2108,7 +2108,7 @@ int CHARACTER::ComputeSkill(DWORD dwVnum, LPCHARACTER pkVictim, BYTE bSkillLevel
// END_OF_REMOVE_BAD_AFFECT_BUG_FIX
if (IS_SET(pkSk->dwFlag, SKILL_FLAG_ATTACK | SKILL_FLAG_USE_MELEE_DAMAGE | SKILL_FLAG_USE_MAGIC_DAMAGE) &&
!(pkSk->dwVnum == SKILL_MUYEONG && pkVictim == this) && !(pkSk->IsChargeSkill() && pkVictim == this))
!(pkSk->dwVnum == SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT && pkVictim == this) && !(pkSk->IsChargeSkill() && pkVictim == this))
{
bool bAdded = false;
@ -2136,7 +2136,7 @@ int CHARACTER::ComputeSkill(DWORD dwVnum, LPCHARACTER pkVictim, BYTE bSkillLevel
if (IsPC())
if (!(dwVnum >= GUILD_SKILL_START && dwVnum <= GUILD_SKILL_END)) // 길드 스킬은 쿨타임 처리를 하지 않는다.
if (!m_bDisableCooltime && !m_SkillUseInfo[dwVnum].HitOnce(dwVnum) && dwVnum != SKILL_MUYEONG)
if (!m_bDisableCooltime && !m_SkillUseInfo[dwVnum].HitOnce(dwVnum) && dwVnum != SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT)
{
return BATTLE_NONE;
}
@ -2222,7 +2222,7 @@ int CHARACTER::ComputeSkill(DWORD dwVnum, LPCHARACTER pkVictim, BYTE bSkillLevel
}
else
{
if (dwVnum == SKILL_MUYEONG)
if (dwVnum == SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT)
{
pkSk->kDurationPoly.SetVar("k", k/*bSkillLevel*/);
pkSk->kDurationSPCostPoly.SetVar("k", k/*bSkillLevel*/);
@ -2280,12 +2280,12 @@ int CHARACTER::ComputeSkill(DWORD dwVnum, LPCHARACTER pkVictim, BYTE bSkillLevel
//if (g_iUseLocale)
if ( !LC_IsYMIR() )
{
if ((pkSk->dwVnum == SKILL_CHUNKEON && GetUsedSkillMasterType(pkSk->dwVnum) < SKILL_GRAND_MASTER))
if ((pkSk->dwVnum == SKILL_WAR_MENTAL_SWORD_STRIKE && GetUsedSkillMasterType(pkSk->dwVnum) < SKILL_GRAND_MASTER))
affact_flag = AFF_CHEONGEUN_WITH_FALL;
}
else
{
if ((pkSk->dwVnum == SKILL_CHUNKEON && GetUsedSkillMasterType(pkSk->dwVnum) < SKILL_MASTER))
if ((pkSk->dwVnum == SKILL_WAR_MENTAL_SWORD_STRIKE && GetUsedSkillMasterType(pkSk->dwVnum) < SKILL_MASTER))
affact_flag = AFF_CHEONGEUN_WITH_FALL;
}
// END_OF_ADD_GRANDMASTER_SKILL
@ -2493,7 +2493,7 @@ bool CHARACTER::UseSkill(DWORD dwVnum, LPCHARACTER pkVictim, bool bUseGrandMaste
}
// Toggle 할 때는 SP를 쓰지 않음 (SelfOnly로 구분)
if ((0 != pkSk->dwAffectFlag || pkSk->dwVnum == SKILL_MUYEONG) && (pkSk->dwFlag & SKILL_FLAG_TOGGLE) && RemoveAffect(pkSk->dwVnum))
if ((0 != pkSk->dwAffectFlag || pkSk->dwVnum == SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT) && (pkSk->dwFlag & SKILL_FLAG_TOGGLE) && RemoveAffect(pkSk->dwVnum))
{
return true;
}
@ -2515,7 +2515,7 @@ bool CHARACTER::UseSkill(DWORD dwVnum, LPCHARACTER pkVictim, bool bUseGrandMaste
DWORD dwCur = get_dword_time();
if (dwVnum == SKILL_TERROR && m_SkillUseInfo[dwVnum].bUsed && m_SkillUseInfo[dwVnum].dwNextSkillUsableTime > dwCur )
if (dwVnum == SKILL_SURA_WEAPONRY_FEAR && m_SkillUseInfo[dwVnum].bUsed && m_SkillUseInfo[dwVnum].dwNextSkillUsableTime > dwCur )
{
SPDLOG_DEBUG(" SKILL_TERROR's Cooltime is not delta over {}", m_SkillUseInfo[dwVnum].dwNextSkillUsableTime - dwCur );
return false;
@ -2568,7 +2568,7 @@ bool CHARACTER::UseSkill(DWORD dwVnum, LPCHARACTER pkVictim, bool bUseGrandMaste
if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY))
pkVictim = this;
if (pkSk->dwVnum == SKILL_MUYEONG || pkSk->IsChargeSkill() && !IsAffectFlag(AFF_TANHWAN_DASH) && !pkVictim)
if (pkSk->dwVnum == SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT || pkSk->IsChargeSkill() && !IsAffectFlag(AFF_TANHWAN_DASH) && !pkVictim)
{
// 처음 사용하는 무영진은 자신에게 Affect를 붙인다.
pkVictim = this;
@ -2593,7 +2593,7 @@ bool CHARACTER::UseSkill(DWORD dwVnum, LPCHARACTER pkVictim, bool bUseGrandMaste
}
}
if (dwVnum == SKILL_CHAIN)
if (dwVnum == SKILL_SHAMAN_HEALING_LIGHTNING_CLAW)
{
ResetChainLightningIndex();
AddChainLightningExcept(pkVictim);
@ -2604,9 +2604,9 @@ bool CHARACTER::UseSkill(DWORD dwVnum, LPCHARACTER pkVictim, bool bUseGrandMaste
ComputeSkill(dwVnum, this);
else if (!IS_SET(pkSk->dwFlag, SKILL_FLAG_ATTACK))
ComputeSkill(dwVnum, pkVictim);
else if (dwVnum == SKILL_BYEURAK)
else if (dwVnum == SKILL_SHAMAN_HEALING_SUMMON_LIGHTNING)
ComputeSkill(dwVnum, pkVictim);
else if (dwVnum == SKILL_MUYEONG || pkSk->IsChargeSkill())
else if (dwVnum == SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT || pkSk->IsChargeSkill())
ComputeSkill(dwVnum, pkVictim);
m_dwLastSkillTime = get_dword_time();
@ -2717,7 +2717,7 @@ EVENTFUNC(skill_muyoung_event)
if (f.GetVictim())
{
ch->CreateFly(FLY_SKILL_MUYEONG, f.GetVictim());
ch->ComputeSkill(SKILL_MUYEONG, f.GetVictim());
ch->ComputeSkill(SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT, f.GetVictim());
}
}
@ -3522,10 +3522,10 @@ bool CHARACTER::CheckSkillHitCount(const BYTE SkillID, const VID TargetVID)
switch (SkillID)
{
case SKILL_YONGKWON:
case SKILL_HWAYEOMPOK:
case SKILL_DAEJINGAK:
case SKILL_PAERYONG:
case SKILL_SURA_WEAPONRY_DRAGON_SWIRL:
case SKILL_SURA_BLACKMAGIC_FLAME_STRIKE:
case SKILL_WAR_MENTAL_STRONG_BODY:
case SKILL_SHAMAN_DRAGON_DRAGONS_ROAR:
SPDLOG_WARN("SkillHack: cannot use attack packet for skill({})", SkillID);
return false;
}
@ -3538,8 +3538,8 @@ bool CHARACTER::CheckSkillHitCount(const BYTE SkillID, const VID TargetVID)
switch (SkillID)
{
case SKILL_SAMYEON:
case SKILL_CHARYUN:
case SKILL_WAR_BODY_THREE_WAY_CUT:
case SKILL_NINJA_BLADEFIGHT_ROLLING_DAGGER:
MaxAttackCountPerTarget = 3;
break;
@ -3547,7 +3547,7 @@ bool CHARACTER::CheckSkillHitCount(const BYTE SkillID, const VID TargetVID)
MaxAttackCountPerTarget = 5;
break;
case SKILL_YEONSA:
case SKILL_NINJA_ARCHERY_REPETITIVE_SHOT:
MaxAttackCountPerTarget = 7;
break;

View File

@ -1274,7 +1274,7 @@ void CGuild::UseSkill(DWORD dwVnum, LPCHARACTER ch, DWORD pid)
ch->RemoveAffect(AFFECT_REVIVE_INVISIBLE);
if (ch->IsAffectFlag(AFF_EUNHYUNG))
ch->RemoveAffect(SKILL_EUNHYUNG);
ch->RemoveAffect(SKILL_NINJA_BLADEFIGHT_DISGUISE);
double k =1.0*m_data.abySkill[dwRealVnum]/pkSk->bMaxLevel;
pkSk->kSPCostPoly.SetVar("k", k);

View File

@ -1704,19 +1704,19 @@ void CInputMain::Attack(LPCHARACTER ch, const BYTE header, const char* data)
switch (type->type)
{
case SKILL_GEOMPUNG:
case SKILL_SANGONG:
case SKILL_YEONSA:
case SKILL_KWANKYEOK:
case SKILL_HWAJO:
case SKILL_GIGUNG:
case SKILL_PABEOB:
case SKILL_MARYUNG:
case SKILL_TUSOK:
case SKILL_MAHWAN:
case SKILL_BIPABU:
case SKILL_NOEJEON:
case SKILL_CHAIN:
case SKILL_WAR_MENTAL_AMBUSH:
case SKILL_NINJA_BLADEFIGHT_POISONOUS_CLOUD:
case SKILL_NINJA_ARCHERY_REPETITIVE_SHOT:
case SKILL_NINJA_ARCHERY_ARROW_SHOWER:
case SKILL_NINJA_ARCHERY_FIRE_ARROW:
case SKILL_NINJA_ARCHERY_POISON_ARROW:
case SKILL_SURA_WEAPONRY_DISPEL:
case SKILL_SURA_BLACKMAGIC_DARK_STRIKE:
case SKILL_SURA_BLACKMAGIC_SPIRIT_STRIKE:
case SKILL_SURA_BLACKMAGIC_DARK_ORB:
case SKILL_SHAMAN_DRAGON_FLYING_TALISMAN:
case SKILL_SHAMAN_HEALING_LIGHTNING_THROW:
case SKILL_SHAMAN_HEALING_LIGHTNING_CLAW:
case SKILL_HORSE_WILDATTACK_RANGE:
if (HEADER_CG_SHOOT != type->header)
{

View File

@ -46,80 +46,80 @@ enum ESkillIndexes
// 무사 전사 계열
// A
SKILL_SAMYEON = 1, // 삼연참(세번베기)
SKILL_PALBANG, // 팔방풍우
SKILL_WAR_BODY_THREE_WAY_CUT = 1, // 삼연참(세번베기)
SKILL_WAR_BODY_SWORD_SPIN, // 팔방풍우
// S
SKILL_JEONGWI, // 전귀혼
SKILL_GEOMKYUNG, // 검경
SKILL_TANHWAN, // 탄환격
SKILL_WAR_BODY_BERSERK, // 전귀혼
SKILL_WAR_BODY_AURA, // 검경
SKILL_WAR_BODY_DASH, // 탄환격
// 무사 기공 계열
// A
SKILL_GIGONGCHAM = 16, // 기공참
SKILL_GYOKSAN, // 격산타우
SKILL_DAEJINGAK, // 대진각
SKILL_WAR_MENTAL_BASH = 16, // 기공참
SKILL_WAR_MENTAL_POUNDING, // 격산타우
SKILL_WAR_MENTAL_STRONG_BODY, // 대진각
// S
SKILL_CHUNKEON, // 천근추
SKILL_GEOMPUNG, // 검풍
SKILL_WAR_MENTAL_SWORD_STRIKE, // 천근추
SKILL_WAR_MENTAL_AMBUSH, // 검풍
// 자객 암살 계열
// A
SKILL_AMSEOP = 31, // 암습
SKILL_GUNGSIN, // 궁신탄영
SKILL_CHARYUN, // 차륜살
SKILL_NINJA_BLADEFIGHT_AMBUSH = 31, // 암습
SKILL_NINJA_BLADEFIGHT_FAST_ATTACK, // 궁신탄영
SKILL_NINJA_BLADEFIGHT_ROLLING_DAGGER, // 차륜살
// S
SKILL_EUNHYUNG, // 은형법
SKILL_SANGONG, // 산공분
SKILL_NINJA_BLADEFIGHT_DISGUISE, // 은형법
SKILL_NINJA_BLADEFIGHT_POISONOUS_CLOUD, // 산공분
// 자객 궁수 계열
// A
SKILL_YEONSA = 46, // 연사
SKILL_KWANKYEOK, // 관격술
SKILL_HWAJO, // 화조파
SKILL_NINJA_ARCHERY_REPETITIVE_SHOT = 46, // 연사
SKILL_NINJA_ARCHERY_ARROW_SHOWER, // 관격술
SKILL_NINJA_ARCHERY_FIRE_ARROW, // 화조파
// S
SKILL_GYEONGGONG, // 경공술
SKILL_GIGUNG, // 기궁
SKILL_NINJA_ARCHERY_FEATHER_WALK, // 경공술
SKILL_NINJA_ARCHERY_POISON_ARROW, // 기궁
// 수라 검
// A
SKILL_SWAERYUNG = 61, // 쇄령지
SKILL_YONGKWON, // 용권파
SKILL_SURA_WEAPONRY_FINGER_STRIKE = 61, // 쇄령지
SKILL_SURA_WEAPONRY_DRAGON_SWIRL, // 용권파
// S
SKILL_GWIGEOM, // 귀검
SKILL_TERROR, // 공포
SKILL_JUMAGAP, // 주마갑
SKILL_PABEOB, // 파법술
SKILL_SURA_WEAPONRY_ENCHANTED_BLADE, // 귀검
SKILL_SURA_WEAPONRY_FEAR, // 공포
SKILL_SURA_WEAPONRY_ENCHANTED_ARMOUR, // 주마갑
SKILL_SURA_WEAPONRY_DISPEL, // 파법술
// 수라 마법
// A
SKILL_MARYUNG = 76, // 마령
SKILL_HWAYEOMPOK, // 화염폭
SKILL_MUYEONG, // 무영진
SKILL_SURA_BLACKMAGIC_DARK_STRIKE = 76, // 마령
SKILL_SURA_BLACKMAGIC_FLAME_STRIKE, // 화염폭
SKILL_SURA_BLACKMAGIC_FLAME_SPIRIT, // 무영진
// S
SKILL_MANASHILED, // 흑신수호
SKILL_TUSOK, // 투속마령
SKILL_MAHWAN, // 마환격
SKILL_SURA_BLACKMAGIC_DARK_PROTECTION, // 흑신수호
SKILL_SURA_BLACKMAGIC_SPIRIT_STRIKE, // 투속마령
SKILL_SURA_BLACKMAGIC_DARK_ORB, // 마환격
// 무당 용신
// A
SKILL_BIPABU = 91,
SKILL_YONGBI, // 용비광사파
SKILL_PAERYONG, // 패룡나한무
SKILL_SHAMAN_DRAGON_FLYING_TALISMAN = 91,
SKILL_SHAMAN_DRAGON_SHOOTING_DRAGON, // 용비광사파
SKILL_SHAMAN_DRAGON_DRAGONS_ROAR, // 패룡나한무
// S
//SKILL_BUDONG, // 부동박부
SKILL_HOSIN, // 호신
SKILL_REFLECT, // 보호
SKILL_GICHEON, // 기천대공
SKILL_SHAMAN_DRAGON_BLESSING, // 호신
SKILL_SHAMAN_DRAGON_REFLECT, // 보호
SKILL_SHAMAN_DRAGON_DRAGONS_AID, // 기천대공
// 무당 뇌신
// A
SKILL_NOEJEON = 106, // 뇌전령
SKILL_BYEURAK, // 벼락
SKILL_CHAIN, // 체인라이트닝
SKILL_SHAMAN_HEALING_LIGHTNING_THROW = 106, // 뇌전령
SKILL_SHAMAN_HEALING_SUMMON_LIGHTNING, // 벼락
SKILL_SHAMAN_HEALING_LIGHTNING_CLAW, // 체인라이트닝
// S
SKILL_JEONGEOP, // 정업인
SKILL_KWAESOK, // 이동속도업
SKILL_JEUNGRYEOK, // 증력술
SKILL_SHAMAN_HEALING_CURE, // 정업인
SKILL_SHAMAN_HEALING_SWIFTNESS, // 이동속도업
SKILL_SHAMAN_HEALING_ATTACK, // 증력술
// 공통 스킬
// 7
@ -215,7 +215,7 @@ class CSkillProto
bool IsChargeSkill()
{
return dwVnum == SKILL_TANHWAN || dwVnum == SKILL_HORSE_CHARGE;
return dwVnum == SKILL_WAR_BODY_DASH || dwVnum == SKILL_HORSE_CHARGE;
}
// 3차 적용