TuZaKK 1
TuZaKK
mavzermete 1
mavzermete
Test5410 1
Test5410
Hikaye Ekle

ApplyAddonTo Güncellemesi

  • Konuyu başlatan Konuyu başlatan TheAdmin33
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 614
Ortalama zarar ve beceri hasarı oranları bu fonksiyonda hesaplanır. Daha güncel hale getirmek için kodu güncelledim. Bu güncellemeyi uygulamak zorunda değilsiniz; bu sadece can sıkıntısından yaptığım ve paylaşmak istediğim bir şey. Ekleyip eklememek size kalmış.

[CODE lang="cpp" title="item_addon.cpp"]# include "stdafx.h"
# include "constants.h"
# include "utils.h"
# include "item.h"
# include "item_addon.h"
# include <random>
# include <cmath>

CItemAddonManager::CItemAddonManager()
{
}

CItemAddonManager::~CItemAddonManager()
{
}

void CItemAddonManager::ApplyAddonTo(int iAddonType, LPITEM pItem)
{
if (!pItem)
{
sys_err("ApplyAddonTo: item pointer null");
return;
}

std::random_device rd;
std::mt19937 gen(rd());

std::normal_distribution<> gauss_dist(0.0, 5.0);
int iSkillBonus = MINMAX(-30, static_cast<int>(std::round(gauss_dist(gen))), 30);

int iNormalHitBonus = 0;

if (std::abs(iSkillBonus) <= 20)
{
std::uniform_int_distribution<> dist_8_8(-8, 8);
std::uniform_int_distribution<> dist_1_4(1, 4);

iNormalHitBonus = -2 * iSkillBonus + std::abs(dist_8_8(gen) + dist_8_8(gen)) + dist_1_4(gen);
}
else
{
std::uniform_int_distribution<> dist_1_5(1, 5);

iNormalHitBonus = -2 * iSkillBonus + dist_1_5(gen);
}

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);
}
[/CODE]
 
Moderatör tarafında düzenlendi:
Kodunuzu bu şekilde paylaşırsanız hata verneyecektir.

[Code ]...........[/Code]

[Code ] code ve köşeli parantez arasındaki boşluğu kaldırın sonra codelerin arasına kodlarınızı koyarsınız.
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst