Podstawowe Obrażenia
Aktualny czas: 05-09-26, 21:19 Witaj! Przejdź do zakładki Logowanie lub Rejestracja

To była dobra przygoda. Dziękujemy!
Po wielu wspólnych latach Ultima Forum przechodzi w tryb archiwalny.
Zostawiamy je tutaj takim, jakie stworzyliśmy je razem,
z tysiącami postów, projektów, porad, skryptów i wspomnień.
Dziękujemy każdemu, kto był częścią Ultimy.


Wątek zamknięty 
[XP] Podstawowe Obrażenia
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #4
RE: Podstawowe Obrażenia

(24-09-16 21:37)AlmostNoRuby napisał(a):  Dobra, spróbuję to wytłumaczyć.
1)
Cytat:I to jest zdaję się ten fragment:
atk = [attacker.atk - self.pdef / 2, 0].max
self.damage = atk + (20 * attacker.str) / 20
Cały def attack_effect jest odpowiedzialny za efekt końcowy obrażeń, bo później obrażenia są sprawdzane pod innym kątem, takim jak: korekta jeżeli obrażenia = 0, czy są jakieś stany (np. zatrucie) które pogłębiają efekt i czy bohater ma tarczę, czy został użyty unik itd.., nie będę wszystkiego opisywał.
2)
Cytat:I co właściwie robi self.damage? Po co ono jest?
self., czyli własny (dokładniej: Game_Battler).
damage, czyli obrażenia (według słownika).
Czyli self.damage raczej odnosi się do obrażeń.
Obrażeń własnych, bo w późniejszych linijkach jest coś takiego:
# Substract damage from HP
      self.hp -= self.damage
Dokładniej, odejmuje od self.hp (zdrowia) self.damage (zadane obrażenia).
3)
Cytat:Nie wiem po co to "0" ani co robi druga linijka kodu. wink
To zero może dotyczyć się, czy statusy są brane pod uwagę (0 - nic się nie dzieje).

Ale co do tego trzeciego, nie jestem pewnien.

Ogółem, w tym fragmencie kodu:
atk = [attacker.atk - self.pdef / 2, 0].max
self.damage = atk + (20 * attacker.str) / 20
najpierw oblicza się atk (atak), a potem obrażenia, żeby nie było że kod wygląda, hm, chaotycznie.

A i jeśli ten tekst jest trochę niespójny, to z góry przepraszam jako najnowszy użytkownik.
Większość z tego już wiedziałem z angielskiego, ale dziękuję. :ehe:

Mateusz SSJ8 napisał(a):
atk = [attacker.atk - self.pdef / 2.0, 0].max
Jeśli wynik odejmowania połowy PDEF atakowanego od ATK atakującego wyniesie mniej niż zero, to ATK wykorzystane przez dalsze wykonywanie funkcji wynosi 0.
Wielkie dzięki Mateusz. To był największy problem. smiles

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
26-09-16 19:25
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Wiadomości w tym wątku
RE: Podstawowe Obrażenia - Yoroiookami - 26-09-16 19:25

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.