Skocz do zawartości
Opublikowano

Cześć,👋

 

Podczas analizy funkcji "Damage" natrafiłem na kilka problemów związanych z umiejętnością 'Strach'. Po dokładnym przyjrzeniu się sytuacji odkryłem następujące kwestie:

  1. Okazało się, że prawdopodobieństwo aktywacji efektu "Strach" było znacznie niższe niż przewidywano, co było wynikiem błędnych obliczeń. To nie zgadzało się z opisem umiejętności.
  2. Brakowało funkcji blokującej obrażenia w przypadku aktywacji "Strachu", a zmienna "pct" była używana w różnych obliczeniach, co mogło prowadzić do nieprawidłowości.

 

W zaktualizowanej wersji kodu, kiedy postać jest pod wpływem efektu 'Strach', mechanika blokowania obrażeń została zaktualizowana. Teraz, na podstawie mocy umiejętności 'Strach', obliczane jest prawdopodobieństwo zablokowania ataku. Jeśli wylosowana wartość mieści się w obliczonym zakresie (mniejsza lub równa wartości 'terrorEffectProbability'), funkcja 'SendDamagePacket' jest wywoływana z flagą 'DAMAGE_BLOCK'. To skutkuje zablokowaniem ataku, który jest następnie zwracany jako 'miss'.

 

Dodatkowo, zmieniłem kolejność sprawdzania warunków. Teraz kod najpierw sprawdza, czy postać ma aktywny efekt "Strach", a dopiero potem analizuje typ obrażeń. Dzięki temu, jeśli postać nie jest pod wpływem "Strachu", nie ma potrzeby sprawdzania typu obrażeń, co może przyspieszyć działanie kodu.

 

Prezentacja działania:

 

Rozwiązanie:

📁 Lokalizacja pliku: 'game -> char_battle.cpp'

 

🔍 Szukamy:

🔐 Ukryta Treść 🔐

 

🔐 Ukryta Treść 🔐

 

🚫 Usuwamy powyższy blok kodu i przenosimy go do innego pliku. 

 

📁 Lokalizacja pliku: 'game -> char.h'

 

🔍 Szukamy:

🔐 Ukryta Treść 🔐

 

Dodajemy:

🔐 Ukryta Treść 🔐

 

 

🔍 Wracamy do pliku: char_battle.cpp funkcja ::DAMAGE szukamy kodu odpowiadającego za działanie Strachu:

🔐 Ukryta Treść 🔐

 

🔄 Zamień:

🔐 Ukryta Treść 🔐

 

Featured Replies

Opublikowano

dz

Opublikowano

Mocne mocne, dzięki!

Opublikowano

Niby to mam, ale porównam kod...

Opublikowano

Ogromne dzięki!

 

  • 2 miesiące temu...
Opublikowano

Dzięki

  • 4 tygodnie później...
Opublikowano

thx

  • 2 tygodnie później...
Opublikowano
  • Premium

thx

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