Skocz do zawartości
Opublikowano

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ść 🔐

 

🔍 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ść 🔐

 

🔄 Zamień na poprawiony:

🔐 Ukryta Treść 🔐

 

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ść 🔐

 

🔄 Zamieniamy warunek:

🔐 Ukryta Treść 🔐

 

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'. 

Featured Replies

Opublikowano

Sura bez czarowanego jak body bez wycierania mordą o podłoże na mapach

  • 1 miesiąc temu...
Opublikowano

Ogromne dzięki!

 

Opublikowano

dzięki

  • 2 miesiące temu...
Opublikowano

Dzięki

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ą.

Gość
Dodaj odpowiedź do tematu...