Siedler 5 (DEdK) Rüstungswert

» Siedler Map Source Forum » Allgemein - General discussion » Siedler 5 (DEdK) Rüstungswert

Seiten: 1

Fir3st4r
#1
12.01.2019 21:39
Beiträge: 20

Siedler 5 (DEdK) Rüstungswert

Hallo,

Ich wollte hier nur mal die Frage stellen ob irgendjemand weiß, wie genau das Rüstungssystem in Die Siedler Das Erbe der Könige funktioniert.

Wird der Schaden durch den Rüstungswert dividiert, abgezogen etc?


Vielen Dank schon mal für etwaige Antworten.





Edit: Thread ist obsolet. Habe nach bisschen Testen herausgefunden, dass der Angriffswert - der Rüstungswert den Schaden ergibt

Dieser Beitrag wurde von Fir3st4r am 13.01.2019 um 01:48 editiert.

mcb
#2
14.01.2019 14:07
Beiträge: 1472

Genauer gesagt ist es:

math.min(1, Logic.GetEntityDamage(attacker) * dmgmod - Logic.GetEntityArmor(defender))


wobei dmgmod von der armorclass/damageclass des Verteidigers/Angreifers abhängt.
Irgendwo kommt auch noch eine relativ kleine Zufallszahl hinzu, ich weiß aber nicht genau wo.

Play4FuN
#3
15.01.2019 13:25
Beiträge: 704

Hier noch eine Ergänzung (da ich das auch irgendwann mal gesucht habe...)

http://web.archive.org/web/201...kuwiki/doku.php/schadensmodell

Hoffe der Link funzt so, aktuell gibt's die Seite leider nicht (mehr).

____________________
LG Play4FuN

Siedler DEdK Mapping + Scripting Tutorials

Fir3st4r
#4
24.01.2019 21:44
Beiträge: 20

Gibt seltsamerweise zum Teil noch Abweichungen. Beim Testen brauchte eine Belagerungskanone mit 256 Schaden (mehrere Drake Fähigkeiten gleichzeitig) für einen Aussichtsturm mehr als doppelt so viele Schüsse als theoretisch eigentlich nötig waren. Irgendeine Ahnung woran das liegen könnte (gibt es vielleicht Maximaldamage etc.)?
Oder bewirkt die 0,2 Modifikation von Belagerung vs Turm eine so hohe Schadensreduktion?

Dieser Beitrag wurde von Fir3st4r am 24.01.2019 um 21:52 editiert.

mcb
#5
25.01.2019 14:49
Beiträge: 1472

Der Modifikator macht aus den 256 eine 51. Dann kommen noch die Rüstung und der Zufällige Schaden hinzu.
(Wobei ich mich immer noch Frage, warum der Turm Armorclass Leather hat, was Eisenkanonen deutlich mehr Schaden machen lassen sollte als Belagerungskanonen.)

Play4FuN
#6
25.01.2019 14:59
Beiträge: 704

Also Drake hat erstmal gar keine Auswirkungen auf Kanonen, du meinst Erec?

Ja da ist manches seltsam zugeordnet...

Schnell getestet: eine Kanone mit 6x Erecs Fähigkeit (über 500 Schaden) ist GLEICH schnell/langsam beim Plätten eines Turms wie eine Kanone ohne Heldenfähigkeit ...

Ich vermute, dass die Anzeige in der Selektion einfach mal nicht mit dem tatsächlich berechneten Schaden übereinstimmt, zumindest wenn mehrere Fähigkeiten vom gleichen Heldentyp gleichzeitig an sind ... aber das Verhalten ist schon seltsam. Werde evtl demnächst mal in den HurtTrigger schauen, was der anzeigt (obs überhaupt Unterschiede gibt).

____________________
LG Play4FuN

Siedler DEdK Mapping + Scripting Tutorials

Fir3st4r
#7
25.01.2019 16:32
Beiträge: 20

Interessant, wie wird denn eigentlich bestimmt welche Fähigkeiten für welche Truppen zählen? Das Spiel zeigt z.B. bei Arbalestenschützen einen Buff von Drake, Erec und Varg an, womit der Schütze (ohne Verbesserungen von Gebäuden) auf einen Attackewert von stufenweise 14, 28, 42, 56 kommt. Bei Kanonen werden nur Erec und Varg angezeigt (75, 150, 225 AW bei der Belagerungskanone).

Und wie wirkt sich Helias Sonderfertigkeit aus? Zumindest wird sie nicht sichtbar in den Stats angezeigt. Gilt das dann als weitere Verteidigungsmodifikation?

mcb
#8
25.01.2019 18:09
Beiträge: 1472

Bei Drakes Aura steht in der entity-xml drinn, das sie nur für alle Entities aus der EntityCategory LongRange gilt. (Ist aber ziemlich hardcoded.)
Bei Helias wird die Rüstung mit 1.4 multipliziert und dann abgerundet.

Fir3st4r
#9
25.01.2019 19:05
Beiträge: 20

Ah. Vielen Dank für die Antworten

Play4FuN
#10
25.01.2019 20:43
Beiträge: 704

So weit ich weiß wirkt Drakes Aura nicht mal auf Ari..

____________________
LG Play4FuN

Siedler DEdK Mapping + Scripting Tutorials

mcb
#11
26.01.2019 15:46
Beiträge: 1472

Also wenn ich nur Kanone gegen Gebäude den tatsächlichen Schaden mit unserer Berechnung vergleiche fehlt da deutlich was. (Genauso ist bei Kanone->Bogenschüzue einiges zu viel)

Trigger.RequestTrigger(Events.LOGIC_EVENT_ENTITY_HURT_ENTITY, nil, function()
	local at = Event.GetEntityID1()
	local def = Event.GetEntityID2()
	if IsDead(at) or IsDead(def) then
		return
	end
	local cdmg = S5Hook.HurtEntityTrigger_GetDamage()
	local dc = mcbEMan.GetEntityTypeDamageClass(Logic.GetEntityType(at))
	local ac = mcbEMan.GetEntityTypeArmorClass(Logic.GetEntityType(def))
	local mod = DamageModifiers[dc][ac] or 1
	dc = IstDrin(dc, DamageClasses)
	ac = IstDrin(ac, ArmorClasses)
	local ldmg = Logic.GetEntityDamage(at) * mod - Logic.GetEntityArmor(def)
	Message("attack event check: "..dc.."->"..ac.." delta:"..(cdmg-ldmg).." cdmg:"..cdmg.." ldmg:"..ldmg)
end, 1)


Vielleicht finde ich ja die Stelle, wo das in Assembler berechnet wird...

mcb
#12
02.02.2019 17:51
Beiträge: 1472

Ich vermute da ist noch ein versteckter Multiplikator drin, der von der Position im AoE abhängt. Wenn das Ziel direkt getroffen wird ist der 4, auf ca 350 von 400 war es knapp über 2. Versuche gerade die genaue Einschlagposition von so einem Effekt rauszufinden, dann kann ich hofentlich mehr dazu sagen.

Play4FuN
#13
02.02.2019 20:34
Beiträge: 704

Das passt auf jeden Fall zu meinen Beobachtungen im Spiel. Besonders bei level 3 Türmen

____________________
LG Play4FuN

Siedler DEdK Mapping + Scripting Tutorials

mcb
#14
03.02.2019 00:23
Beiträge: 1472

Ok, das sieht doch recht gut aus:

S5Hook.SetGlobalProjectileHitCallback(function(efftype, sx, sy, tx, ty, attackerid, targetid, damage, range)
	LuaDebugger.Log("efftype:"..IstDrin(efftype,GGL_Effects).." startpos:("..sx.."/"..sy..") tarpos:("..tx.."/"..ty..") ids:"..attackerid.."->"..targetid.." dmg:"..damage.." range:"..range)
end)


Log: "efftype:FXCannonBall startpos:(39900/37900) tarpos:(42100/40400) ids:66879->0 dmg:75 range:400"



Ich seh mir dann morgen mal genauer an, wie das mit dem Faktor und dem Abstand aussieht.

Fir3st4r
#15
03.02.2019 12:02
Beiträge: 20

In gewisser Weise macht ein bisschen Randomness auch Sinn in einem relativ kampflastigen Spiel.

mcb
#16
04.02.2019 19:08
Beiträge: 1472

Also so wies aussieht gibt es tatsächlich nen Modifikator für die Nähe am Einschlagsort, das ist aber nicht das wo der Faktor 5 herkommt. Nach meinen Beobachtungen ist die Damageclass DC_Siege irgendwie defekt, da dieser Faktor nur bei PV_Cannon4 und PV_Cannon3 auftaucht, bei allen anderen Kanonen (DC_Chaos) gibt es keinen solchen Faktor.

mcb
#17
09.02.2019 13:13
Beiträge: 1472

Ok, es ist nicht die DamageClass DC_Siege die defekt ist, es ist die Schadensberechnung in der GGL::CCannonBallEffect hit Funktion, die den Modifier für ArmorClass und DamageClass einfach nicht verwendet.
Das ganze fällt bei anderen DamageClasses nicht so auf, da da die Faktoren wesentlich näher an 1 sind.
(Das der LOGIC_EVENT_ENTITY_HURT_ENTITY Trigger nicht aufgerufen wird, wenn der Angreifer bereits nicht mehr valid ist, hilft auch nicht gerade das in Lua zu fixen.)

mcb
#18
09.02.2019 20:59
Beiträge: 1472

Sieht so aus als würden Schadensfaktoren von Heldenauren ebenfalls nicht von dieser Funktion berücksichtigt, was die ursprüngliche Beobachtung auch erklären würde.

mcb
#19
09.03.2019 17:35
Beiträge: 1472

So, hab das ganze jetzt über eine Erweiterung des Hooks und etwas Lua script gefixt.
Da der Schaden jetzt richtig berechnet wird, sind Belagerungskanonen jetzt ziemlich nutzlos gegen Einheiten, Eisenkanonen wohl noch nutzloser.
Ich würde empfehlen die Damageclass der PV_Cannon2 und PV_Cannon3 zu tauchen, damit die Effektivität zum Tooltip passt.
Wenn jemand das Script dazu haben will, bitte mich fragen. (Ich hab geplant das hier frei zu veröffentlichen, da kann aber noch ein bischen dauern.)

Seiten: 1

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum