Hey,
ich hab eben festgestellt, dass die Aliens aus dem Hazardpack ziemlich schnell sterben, wenn man ihnen einen Gegenstand gegen den Kopf schmeißt... und das obwohl z.b der Berserker 350.000 Energy im Defcore hat.
Der Schaden wird bei diesen über den DmgCheck Effekt kontrolliert, welcher unter Effekte/Fire definiert ist. Wenn kein Schadenstyp gegeben ist, dann wird in FxDmgCheckDamage(object pTarget, int iEffectNumber, int iDmgEngy, int iCause)
folgendes gemacht: return(iDmgEngy);
.
Ich hab diesen return Wert grad mal durch 10 teilen lassen. Leider war der Berserker genauso schnell tot, aber das Heilen der Clonks in der basis ging nur noch 1/10 mal so schnell, also hat die Änderung zwar was bewirkt, aber nicht dort, wo es wirken sollte..
Wisst ihr wo und was mit diesem return wert weiter passiert? Möglicherweise wird damit dann DoEnergy ausgeführt, aber nicht im bezug auf den energy wert? Kann das nur nicht kontrollieren, weil ich nicht weiß wo =/
Habt ihr noch Ideen, wie ich das hinbiegen kann?
Der DmgCheck-Effekt ist dafür da, speziellere Schadensquellen (Explosionsschaden, Feuerschaden, etc.) die ihren Schaden nicht über die DoDmg
-Funktion so zu bearbeiten, dass Features wie die Damagereduction über OnDmg und die allgemeine Schadenstypvergab) auch für diese Schadensquellen funktionieren.
Der Check prüft mitunter auch auf den Schaden von Objekttreffern (iCause == 34) und verarbeitet diesen als Schaden vom Typ DMG_Melee, weshalb deine Änderung an return(iDmgEngy);
nur u.a. das Heilen der Clonks in der Basis verringert hat. (oder z.B. Schaden durch Ersticken, etc.)
Da es in deinem Fall aber sowieso zu keinem Clonk-zu-Clonk-Kampf mit dem Berserker kommt, würde ich dir am ehesten vorschlagen die Schadensreduzierung über OnDmg für Typ DMG_Melee einzubauen.
aaaah, das wird als Melee Damage gezählt, das ist gut zu wissen :)
ja genau, dann geb ich den Aliens einfach eine höhere Melee Resistenz , klaptt :)
In der
Effekte-Dokumentation ist auch ganz unten eine Tabelle, welche Schadensgruende alle an Schadenseffekte uebergeben werden.
ach da steht das, sehr gut danke :)