service.h Müsait bir yere eklenir #define OK_KALDIRMA char_battle.cpp Açılır //FONKSİYONU BUL int CHARACTER::GetArrowAndBow //FONKSİYONUN TAMAMINI DEĞİŞTİR #ifdef OK_KALDIRMA int CHARACTER::GetBow(LPITEM* ppkBow) #else int CHARACTER::GetArrowAndBow(LPITEM* ppkBow, LPITEM* ppkArrow, int iArrowCount) #endif { LPITEM pkBow; if (!(pkBow = GetWear(WEAR_WEAPON)) || pkBow->GetProto()->bSubType != WEAPON_BOW) { return 0; } #ifdef OK_KALDIRMA *ppkBow = pkBow; return 1; #else LPITEM pkArrow; if (!(pkArrow = GetWear(WEAR_ARROW)) || pkArrow->GetType() != ITEM_WEAPON || pkArrow->GetProto()->bSubType != WEAPON_ARROW) { return 0; } iArrowCount = MIN(iArrowCount, pkArrow->GetCount()); *ppkBow = pkBow; *ppkArrow = pkArrow; return iArrowCount; #endif } // ARAT LPITEM pkBow, pkArrow; // DEĞİŞTİR #ifdef OK_KALDIRMA LPITEM pkBow; #else LPITEM pkBow, pkArrow; #endif // ARAT if (0 == m_me->GetArrowAndBow(&pkBow, &pkArrow)) // DEĞİŞTİR #ifdef OK_KALDIRMA if (0 == m_me->GetBow(&pkBow)) #else if (0 == m_me->GetArrowAndBow(&pkBow, &pkArrow)) #endif // ARAT iDam = CalcArrowDamage(m_me, pkVictim, pkBow, pkArrow) // DEĞİŞTİR #ifdef OK_KALDIRMA iDam = CalcArrowDamage(m_me, pkVictim, pkBow); #else iDam = CalcArrowDamage(m_me, pkVictim, pkBow, pkArrow); m_me->UseArrow(pkArrow, 1); #endif // ARAT if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) // DEĞİŞTİR #ifdef OK_KALDIRMA if (iUseArrow == m_me->GetBow(&pkBow)) #else if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) #endif // ARAT m_me->UseArrow(pkArrow, iUseArrow); // DEĞİŞTİR #ifndef OK_KALDIRMA m_me->UseArrow(pkArrow, iUseArrow); #endif // ARAT if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) // DEĞİŞTİR #ifdef OK_KALDIRMA if (iUseArrow == m_me->GetBow(&pkBow)) #else if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) #endif // ARAT m_me->UseArrow(pkArrow, iUseArrow); // DEĞİŞTİR #ifndef OK_KALDIRMA m_me->UseArrow(pkArrow, iUseArrow); #endif // ARAT if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) // DEĞİŞTİR #ifdef OK_KALDIRMA if (iUseArrow == m_me->GetBow(&pkBow)) #else if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) #endif // ARAT m_me->UseArrow(pkArrow, iUseArrow); // DEĞİŞTİR #ifndef OK_KALDIRMA m_me->UseArrow(pkArrow, iUseArrow); #endif // ARAT if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) // DEĞİŞTİR #ifdef OK_KALDIRMA if (iUseArrow == m_me->GetBow(&pkBow)) #else if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) #endif // ARAT m_me->UseArrow(pkArrow, iUseArrow); // DEĞİŞTİR #ifndef OK_KALDIRMA m_me->UseArrow(pkArrow, iUseArrow); #endif // ARAT if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) // DEĞİŞTİR #ifdef OK_KALDIRMA if (iUseArrow == m_me->GetBow(&pkBow)) #else if (iUseArrow == m_me->GetArrowAndBow(&pkBow, &pkArrow, iUseArrow)) #endif // ARAT m_me->UseArrow(pkArrow, iUseArrow); // DEĞİŞTİR #ifndef OK_KALDIRMA m_me->UseArrow(pkArrow, iUseArrow); #endif char.h Açılır // BULUNUR GetArrowAndBow // DEĞİŞTİRİLİR #ifdef OK_KALDIRMA int GetBow(LPITEM* ppkBow); #else int GetArrowAndBow(LPITEM* ppkBow, LPITEM* ppkArrow, int iArrowCount = 1); #endif char_skill.cpp Açılır // BULUNUR LPITEM pkBow, pkArrow; if (1 == m_pkChr->GetArrowAndBow(&pkBow, &pkArrow, 1)) m_pkSk->SetPointVar("atk", CalcArrowDamage(m_pkChr, pkChrVictim, pkBow, pkArrow, true)); // DEĞİŞTİRİLİR #ifdef OK_KALDIRMA LPITEM pkBow; if (1 == m_pkChr->GetBow(&pkBow)) m_pkSk->SetPointVar("atk", CalcArrowDamage(m_pkChr, pkChrVictim, pkBow, true)); #else LPITEM pkBow, pkArrow; if (1 == m_pkChr->GetArrowAndBow(&pkBow, &pkArrow, 1)) m_pkSk->SetPointVar("atk", CalcArrowDamage(m_pkChr, pkChrVictim, pkBow, pkArrow, true)); #endif // BULUNUR LPITEM pkBow, pkArrow; if (1 == GetArrowAndBow(&pkBow, &pkArrow, 1)) { pkSk->SetPointVar("atk", CalcArrowDamage(this, this, pkBow, pkArrow, true)); } // DEĞİŞTİR #ifdef OK_KALDIRMA LPITEM pkBow; if (1 == GetBow(&pkBow)) pkSk->SetPointVar("atk", CalcArrowDamage(this, this, pkBow, true)); #else LPITEM pkBow, pkArrow; if (1 == GetArrowAndBow(&pkBow, &pkArrow, 1)) { pkSk->SetPointVar("atk", CalcArrowDamage(this, this, pkBow, pkArrow, true)); } #endif // BULUNUR LPITEM pkBow, pkArrow; if (1 == GetArrowAndBow(&pkBow, &pkArrow, 1)) { pkSk->SetPointVar("atk", CalcArrowDamage(this, pkVictim, pkBow, pkArrow, true)); } // DEĞİŞTİR #ifdef OK_KALDIRMA LPITEM pkBow; if (1 == GetBow(&pkBow)) pkSk->SetPointVar("atk", CalcArrowDamage(this, pkVictim, pkBow, true)); #else LPITEM pkBow, pkArrow; if (1 == GetArrowAndBow(&pkBow, &pkArrow, 1)) { pkSk->SetPointVar("atk", CalcArrowDamage(this, pkVictim, pkBow, pkArrow, true)); } #endif // BULUNUR LPITEM pkBow, pkArrow; if (1 == GetArrowAndBow(&pkBow, &pkArrow, 1)) { pkSk->SetPointVar("atk", CalcArrowDamage(this, pkVictim, pkBow, pkArrow, true)); } // DEĞİŞTİR #ifdef OK_KALDIRMA LPITEM pkBow; if (1 == GetBow(&pkBow)) pkSk->SetPointVar("atk", CalcArrowDamage(this, pkVictim, pkBow, true)); #else LPITEM pkBow, pkArrow; if (1 == GetArrowAndBow(&pkBow, &pkArrow, 1)) { pkSk->SetPointVar("atk", CalcArrowDamage(this, pkVictim, pkBow, pkArrow, true)); } #endif battle.h Açılır // BULUNUR extern int CalcArrowDamage // DEĞİŞTİR #ifdef OK_KALDIRMA extern int CalcArrowDamage(LPCHARACTER pkAttacker, LPCHARACTER pkVictim, LPITEM pkBow, bool bIgnoreDefense = false); #else extern int CalcArrowDamage(LPCHARACTER pkAttacker, LPCHARACTER pkVictim, LPITEM pkBow, LPITEM pkArrow, bool bIgnoreDefense = false); #endif battle.cpp Açılır // FONKSİYONU BUL int CalcArrowDamage // DEĞİŞTİR #ifdef OK_KALDIRMA int CalcArrowDamage(LPCHARACTER pkAttacker, LPCHARACTER pkVictim, LPITEM pkBow, bool bIgnoreDefense) #else int CalcArrowDamage(LPCHARACTER pkAttacker, LPCHARACTER pkVictim, LPITEM pkBow, LPITEM pkArrow, bool bIgnoreDefense) #endif // FONKSİYONUN İÇİNDE BUL if (!pkArrow) return 0; // DEĞİŞTİR #ifndef OK_KALDIRMA if (!pkArrow) return 0; #endif // FONKSİYONUN İÇİNDE BUL iDam = number(pkBow->GetValue(3), pkBow->GetValue(4)) * 2 + pkArrow->GetValue(3); // DEĞİŞTİR #ifdef OK_KALDIRMA iDam = number(pkBow->GetValue(3), pkBow->GetValue(4)) * 2; #else iDam = number(pkBow->GetValue(3), pkBow->GetValue(4)) * 2 + pkArrow->GetValue(3); #endif locale_inc.h Açılır müsait bir yere eklenir #define OK_KALDIRMA PythonPlayerSkill.cpp Açılır // FONKSİYON BULUNUR bool CPythonPlayer::__HasEnoughArrow() // FONKSİYONUN TAMAMI DEĞİŞTİRİLİR bool CPythonPlayer::__HasEnoughArrow() { #ifdef OK_KALDIRMA return true; #else CItemData* pItemData; if (CItemManager::Instance().GetItemDataPointer(GetItemIndex(TItemPos(INVENTORY, c_Equipment_Arrow)), &pItemData)) if (CItemData::ITEM_TYPE_WEAPON == pItemData->GetType()) if (CItemData::WEAPON_ARROW == pItemData->GetSubType()) { return true; } PyCallClassMemberFunc(m_ppyGameWindow, "OnCannotShotError", Py_BuildValue("(is)", GetMainCharacterIndex(), "EMPTY_ARROW")); return false; #endif }