Opublikowano 14 Sierpnia 20231 r Witajcie Developerzy, Chciałbym podzielić się z Wami rozwiązaniem w związku z błędem, który dotyczy umiejętności czarowanego ostrza. 🐛 Opis błędu: Umiejętność "Czarowane Ostrze" w klasie postaci Sura WP, która ma na celu przywracanie punktów życia po zadaniu obrażeń, działała niezgodnie z zamierzeniem, prowadząc do poważnego wpływu na rozgrywkę. Zamiast przywracać punkty życia, błąd w kodzie spowodował, że umiejętność odejmowała je. 🛠️👨💻 Rozwiązanie wymaga skompilowania źródła z minimalną wersją: C++17 🚀🔧 Prezentacja błędu: Przejdźmy zatem do rozwiązania... 💡 📂 Lokalizacja pliku: 'game -> char_battle.cpp' 🔍 Szukamy: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔍 Znajdziemy w kodzie tej funkcji taki warunek: Ten fragment kodu sprawdza, czy postać ma bonus do odzyskiwania HP po ataku, i jeśli tak, to z 80% prawdopodobieństwem zwiększa jej punkty życia o pewną ilość, jednocześnie tworząc wizualny efekt w grze. 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔄 Zamień na poprawiony: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Ten sam problem będzie dotyczył również warunku odpowiadającego za przywracanie punktów energii, naprawmy go w ten sam sposób. 🔍 Szukamy: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔄 Zamieniamy warunek: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Wyjaśnienie błędu i naprawy: Błąd w pierwotnym kodzie polegał na tym, że umiejętność Czarowane Ostrze mogła odejmować punkty życia zamiast je przywracać, jeśli wartość POINT_HIT_HP_RECOVERY była ujemna. Naprawiłem to, dodając sprawdzenie, czy wartość POINT_HIT_HP_RECOVERY jest większa od zera, przed obliczeniem odzyskiwanego HP. Dodatkowo, użyłem funkcji std::clamp, aby upewnić się, że wartość POINT_HIT_HP_RECOVERY jest w zakresie od 0 do 100, co gwarantuje, że odzyskiwana ilość HP zawsze będzie dodatnia. Wprowadzone zmiany zapewniły, że umiejętność zawsze działa zgodnie z zamierzeniem, przywracając HP zamiast je odejmować. Zaktualizowałem też kod, zmieniając nazwy zmiennych na bardziej zrozumiałe takie jak 'recoveryRatio' czy 'spRecoveryAmount'.
Opublikowano 1 Października 20231 r Sura bez czarowanego jak body bez wycierania mordą o podłoże na mapach
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.