ApplyAddonTo Güncellemesi

  • Konuyu açan Konuyu açan TheAdmin33
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 6
  • Gösterim Gösterim 156

TheAdmin33

Ah, bu şarkıların gözü kör olsun
Geliştirici
Yardımsever Üye
Usta Üye
Editör
Mesaj
1.316
Çözümler
74
Beğeni
4.942
Puan
1.859
Ticaret Puanı
0
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ış.

item_addon.cpp:
Genişlet Daralt Kopyala
#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);
}
 
Son düzenleme:
40 ort üstü zor gelsin kısmı buradan mı düzenleniyor düzenleniyorsa nasıl flag yazmak doğru olur
 
40 ort üstü zor gelsin kısmı buradan mı düzenleniyor düzenleniyorsa nasıl flag yazmak doğru olur
Ortalama hasar beceri hasarının geldiği en yüksek -'ye göre + geliyor aslında, 40 ort üstü zor gelsini buradan ayarlarsın ama bu sefer mesela 25 ort - olmayan becerili gibi efsunlar çok fazla görürsün, official bırakmak en iyisi.
 
Geri
Üst