- Mesaj
- 103
- Çözümler
- 2
- Beğeni
- 23
- Puan
- 39
- Ticaret Puanı
- 0
item_addon.cpp:
#include "stdafx.h"
#include "constants.h"
#include "utils.h"
#include "item.h"
#include "item_addon.h"
CItemAddonManager::CItemAddonManager()
{
}
CItemAddonManager::~CItemAddonManager()
{
}
void CItemAddonManager::ApplyAddonTo(int iAddonType, LPITEM pItem)
{
if (!pItem)
{
sys_err("ITEM pointer null");
return;
}
// TODO 일단 하드코딩으로 평타 스킬 수치 변경만 경우만 적용받게한다.
int iSkillBonus = MINMAX(-30, (int) (gauss_random(0, 10) + 0.5f), 30);
int iNormalHitBonus = 20;
if (abs(iSkillBonus) <= 20)
iNormalHitBonus = -2 * iSkillBonus + abs(number(-20, 20) + number(-20, 20)) + number(1, 4);
else
iNormalHitBonus = -2 * iSkillBonus + number(1, 10);
pItem->RemoveAttributeType(APPLY_SKILL_DAMAGE_BONUS);
pItem->RemoveAttributeType(APPLY_NORMAL_HIT_DAMAGE_BONUS);
pItem->AddAttribute(APPLY_NORMAL_HIT_DAMAGE_BONUS, iNormalHitBonus);
pItem->AddAttribute(APPLY_SKILL_DAMAGE_BONUS, iSkillBonus);
}
200 Ortalama, 35 Beceri hasar sınırı yapmak istiyorum, - Ortalama max 100, - beceri ise max 35 gelsin istiyorum.
Ancak sunucumda henüz efsun botu olmadığı için bunu test edemiyorum, o yüzden doğru mu yapıyorum emin değilim.
Rica etsem kontrol eder misiniz? yanlışım var ise doğrusunu paylaşırsanız sevinirim.
item_addon.cpp:
int iSkillBonus = MINMAX(-35, (int) (gauss_random(0, 10) + 0.5f), 35);
int iNormalHitBonus = 20;
if (abs(iSkillBonus) <= 20)
iNormalHitBonus = -2 * iSkillBonus + abs(number(-20, 40) + number(-20, 40)) + number(1, 4);
else
iNormalHitBonus = -4 * iSkillBonus + number(1, 10);