[C++/Fix]Boss kick into walls

  • Moin,


    da ich eben mal wieder umständliche Workarounds gesehen habe, hier ne richtige Lösung dafür, dass Bosse einen nichtmehr in Wände werfen können.


    In der char_skill.cpp sucht ihr das Struct: FuncSplashDamage und sucht fast am Ende folgendes:


    C: char_skill.cpp
    1. GetDeltaByDegree(degree, fCrushSlidingLength, &fx, &fy);
    2. sys_log(0, "CRUSH! %s -> %s (%d %d) -> (%d %d)", m_pkChr->GetName(), pkChrVictim->GetName(), pkChrVictim->GetX(), pkChrVictim->GetY(), (long)(pkChrVictim->GetX() + fx), (long)(pkChrVictim->GetY() + fy));
    3. long tx = (long)(pkChrVictim->GetX() + fx);
    4. long ty = (long)(pkChrVictim->GetY() + fy);

    darunter fügt ihr folgendes:


    Diese Schleife errechnet den maximal möglichen Radius den der Boss euch werfen kann. (Kollidierend mit ATTR_BLOCK oder ATTR_OBJECT).



    Wichtig hierbei: Die "server.attr" der Maps müssen auch entsprechend korrekt sein.


    Viel Spaß damit.

  • Dieses Thema enthält 4 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.