Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002168EresseaATTACKIEREöffentlich2018-08-01 11:56
ReporterThoranBearbeitung durchEnno 
PrioritätnormalAuswirkungschwerer FehlerReproduzierbarnicht getestet
Status erledigtLösungerledigt 
Produktversion3.7 
Zielversion3.17Behoben in Version3.17 
Zusammenfassung0002168: Kampf gegen Seeschlange überlebt - aber ertrunken?
Beschreibung

Ich hatte diese Woche einen unfreiwilligen Kampf gegen eine Seeschlange:

---snip---
In Ozean (-75,55) findet ein Kampf statt.

Der Kampf wurde ausgelöst von einer unbekannten Partei.

Heer 0: Unbekannte Partei
Kämpft gegen: Heer 1(d08a)
Hilft: Heer 0(-?-)
Attacke gegen: Heer 1(d08a)
... in der 1. Kampflinie:

  • Seeschlange (nw2t), 1 Seeschlange, aggressiv.

Heer 1: Thorans Axtträger (d08a)
Kämpft gegen: Heer 0(-?-)
Hilft: Heer 1(d08a)
... in der 4. Kampflinie:

  • Skiur Segelzwerg (n2oh), 1 Zwerg, flieht, Talente: Unterhaltung 3,
    Stangenwaffen 10, Segeln 8, Wahrnehmung 4, Schiffbau 1, Ausdauer 10,
    Holzfällen 1, Taktik 2, hat: Kettenhemd, Hellebarde, 720 Silber, Schild;
    Er fand dieses Boot der Haurrean Uharteren am Strand. (Bem: #*693 Am hohen
    Pass#SoldFuer: 10-20 Runden#)

Skiur Segelzwerg (n2oh) konnte dem Gegner eine Falle stellen.

Einheiten vor der 0. Runde:
Heer 0(-?-): 1, Heer 1(d08a): 0+0+0+1

Einheiten vor der 1. Runde:
Heer 0(-?-): 1, Heer 1(d08a): 0+0+0+1
Seeschlange (nw2t) zaubert Eisiger Drachenodem: 0 Krieger wurden getötet.

Einheiten vor der 2. Runde:
Heer 0(-?-): 1, Heer 1(d08a): 0+0+0+1
Seeschlange (nw2t) zaubert Eisiger Drachenodem: 0 Krieger wurden getötet.

Einheiten vor der 3. Runde:
Heer 0(-?-): 1, Heer 1(d08a): 0+0+0+1
Seeschlange (nw2t) zaubert Eisiger Drachenodem: 0 Krieger wurden getötet.

Einheiten vor der 4. Runde:
Heer 0(-?-): 1, Heer 1(d08a): 0+0+0+1
Seeschlange (nw2t) zaubert Eisiger Drachenodem: 0 Krieger wurden getötet.

Einheiten vor der 5. Runde:
Heer 0(-?-): 1, Heer 1(d08a): 0+0+0+1
Seeschlange (nw2t) zaubert Eisiger Drachenodem: 0 Krieger wurden getötet.

Einheiten vor der 6. Runde:
Heer 0(-?-): 1, Heer 1(d08a): 0+0+0+1
Skiur Segelzwerg (n2oh) erzielte 4 Treffer und tötete 0 Gegner.
Heer 0(-?-): 0 Tote, 0 Geflohene, 1 Überlebende.
Heer 1(d08a): 0 Tote, 0 Geflohene, 1 Überlebende.
---snap---

Seltsamerweise hat mein Zwerg den Kampf überlebt. Statt weiterzusegeln, wie es eigentlich sein Befehl war (Kämpfe auf See sind ja kurz und deshalb hätte er seinen langen Befehl ausführen können), ist er aber offenbar über Bord gesprungen und ertrunken:

---snip---
Skiur Segelzwerg (n2oh) ertrinkt in Ozean (-75,55).
---snap---

Das Boot, an Bord dessen er sich befand, war vor dem Kampf mit 23 von 50 GE beladen. Auch bei einem Schaden von 20%, der ja durch einen solch lange Kampf entsteht, hätte das Boot also noch tragfähig sein sollen.

Zusätzliche Informationen

Das die Seeschlange meinen Segler nicht getötet hat deutet für mich (insbesondere in Verbindung mit Fehler 2166 - Unsterbliche Hirntöter?) darauf hin, dass eventuell bei magischen Angriffen irgendwas schief läuft.

Parteid08a
SpielE2
Report956

Eintrags-Beziehungen

verwandt mit 0001974 geschlossenEnno Schiffskampf gewonnen und ertrunken 
verwandt mit 0002166 geschlossenEnno Unsterbliche Hirntöter? 

Notizen / Dateien

Thoran

Thoran

2015-11-29 01:11

Reporter   ~0006332

Ich stelle auch gerade noch fest, dass es einen weiteren - ähnlichen - Fehlerreport gibt: 1974. Auch da ist ein durch eine Seeschlange angegriffener Bootsinsasse ertrunken. Du konntest das aber damals nicht reproduzieren. Vielleicht klappt es ja mit obigem Kampf.

Xolgrim

Xolgrim

2015-11-29 11:28

Entwickler   ~0006333

Kürzlich wurde implementeirt, dass fliehende Einheiten Burgen und Schiffe verlassen.
Vom Grundgedanken her macht das Sinn. Wenn eine Übermacht an Soldaten eine kleine Einheit Tarner angreift, die in einer Burg stehen, dann fliehen dise sonst jede runde nahezu verlustfrei und können so Wochen oder Monatelang die Kontrolle über die Burg behalten. Bei Schiffen verhält es sich ähnlich.
Bei Schiffen sollte man wohl die Einschränkung einbauen, dass dieses verhalten auf dem Ozean arg unerwünscht ist?

PS: Thoran ich würde Dir ja mein Beileid aussprechen, aber Zwerge die Segeln sind selber Schuld daran wenn sie ersaufen...

Enno

Enno

2015-12-02 11:56

Administrator   ~0006340

Kürzlich wurde implementeirt, dass fliehende Einheiten Burgen und Schiffe verlassen

Das sollten sie natürlich nicht auf dem Ozean, das sollte ich mal überprüfen.

Enno

Enno

2015-12-02 12:01

Administrator   ~0006341

Die von @Xolgrim erwähnte Änderung (force_leave in battle.c) wirft nur diejenigen Einheiten aus Schiff oder Burg, die gegen den Besitzer gekämpft haben, und tut das auch nur in Landregionen. Ist also hier sicher nicht der Grund, außerdem gibt es da eine Meldung "<foo> bittet <bar>, das Schiff <baz> zu verlassen".

Enno

Enno

2015-12-02 12:04

Administrator   ~0006342

Der Versuch, den Kampf erneut zu provozieren, hat leider nicht geklappt. Nebenfrage: Warum ist die Seeschlange eigentlich parteigetarnt? Haben Monster das früher mal gemacht? Und woher/wofür hat sie ein solch hohes Magietalent?

Thoran

Thoran

2015-12-02 12:26

Reporter   ~0006345

Seeschlangen sind öfter mal parteigetarnt. Diese Woche habe ich zwei Seeschlangen in meinem Report, davon ist eine parteigetarnt (gnmb), die andere nicht (Einheit 7fdo).

Das hohe Magietalent scheint aber ja keine Auswirkungen zu haben: Die Seeschlange hat fünfmal Eisigen Drachenodem gezaubert, aber meinem Zwerg keinen Schaden zugefügt (Ausdauer 10 sind umgerechnet 77 Trefferpunkte, was jetzt auch nicht so exorbitant viel ist).

@Xolgrim: Ich bin ja auch für die Einführung einer Unterwelt ;-) Dann könnte man die Erzstollen benutzen, um von einer Insel zur anderen zu gelangen, und wäre nicht auf die gefährlichen Seereisen angewiesen.

Solthar

Solthar

2015-12-05 21:42

Entwickler   ~0006374

Seeschlangen haben eine Attacke vom Typ AT_STRUCTURAL, die Schiffe beschädigt. Die macht 1d10 / ship->size % Schaden. Bei einem Boot also bis zu 200%. Warum so viel und warum bisher nicht?

Solthar

Solthar

2015-12-05 22:22

Entwickler   ~0006375

Anders gefragt, wieviel Schiffschaden sollten Seeschlangen machen? Die einzigen anderen Wesen, die AT_STRUCTURAL benutzen, sind anscheinend Tunnelwürmer.

Nicht vergessen: Monster greifen seit Mitte 2014 nicht mehr an, also könnte die schuldige Änderung schon länger zurückliegen.

BTW, ich konnte das hiermit reproduzieren.

function find_monsters()
return get_faction(666)
end

function test_monster_attack()
plan_monsters()
local r1 = region.create(0, 0, "ocean")
local f1 = faction.create("drac@eressea.de", "human", "de")
local f2 = find_monsters()
local u1 = unit.create(f1, r1, 1)
local u2 = unit.create(f2, r1, 1)
u2.guard = true
u1.ship = ship.create(r1, "boat")

local oldpar = eressea.settings.get(&quot;rules.monsters.attack_chance&quot;)
eressea.settings.set(&quot;rules.monsters.attack_chance&quot;, &quot;1&quot;)

u1.number = 200
u2.race = &quot;seaserpent&quot;
u2.number = 1
u2:set_skill(&quot;unarmed&quot;, 10)
plan_monsters()

process_orders()
plan_monsters()

process_orders()

-- write_reports()

eressea.settings.set(&quot;rules.monsters.attack_chance&quot;, oldpar)

end

Pyanfar

Pyanfar

2016-06-07 23:23

Reporter   ~0006610

Blöde Frage, ist das nun geklärt?
Wenn wir nun auf Seeschlangejagd gehen (siehe http://bugs.eressea.de/view.php?id=2209 ), und dann noch der neue Überlade"schutz" greift, macht das Kriegsschiffe schnell total manovrierunfähig, wenn zuviele Trupen an Bord stehen, und die Schlange nicht sofort stirbt.

Enno

Enno

2016-06-08 10:07

Administrator   ~0006611

Soweit ich das sehe, hat sich hier nichts getan, da der Fehler weder reproduzierbar ist, noch jemand eine Erklaerung hat, wie es dazu kommen koennte.

Solthar

Solthar

2016-06-08 12:19

Entwickler   ~0006612

Ich habe die Erklärung doch gegeben. Wir sollten da eine Nachricht einfügen, wenn das zerstörte Schiff sinkt. Sollte es für den (jeden) Angriff der Seeschlange auch eine Meldung geben?

Ich muss den Code für die Flotten sowieso anfassen, da werde ich das einfügen.

Enno

Enno

2018-07-31 19:56

Administrator   ~0008011

Schiffe kriegen 5% Schaden pro Runde, die der Kampf gedauert hat. Wenn am Ende des Kampfes ein Schiff zu viel Schaden hat, sinkt es ohne Meldung, und die Einheiten fallen ins Meer, und ertrinken.

Eine Meldung, dass ein Schiff sinkt, sollte der Besitzer wohl immer bekommen?

Enno

Enno

2018-07-31 22:09

Administrator   ~0008012

Die Funktion sink_ship tut (fast) das richtige, und gibt den Einheiten auf dem Schiff eine Chance, sich in eine benachbarte Landregion zu retten. Die sollte vielleicht nicht nur von SABOTIERE benutzt werden, sondern in allen Fällen, wo ein Schiff sinkt?

Enno

Enno

2018-08-01 10:16

Administrator   ~0008013

Funktioniert beinahe, sieht aber noch etwas verwirrend aus:

Boot ztj6 (ztj6) versinkt in den Fluten von Ozean (0,0).
Boot ztj6 (ztj6) versinkt in den Fluten von Ozean (0,0).
Einheit g6qz (g6qz) überlebt unbeschadet und rettet sich nach Ozean (0,0).
Einheit g6qz (g6qz) ertrinkt in Ozean (0,0).

Doppelte Meldung über den Untergang, Einheit rettet sich beim Versinken, ertrinkt dann anschließend, wenn Schwimmer eliminiert werden. Hmm. Kann man nach dem Versinken noch auf ein anderes Boot klettern? Oder ist so eine Rettung immer für die Katz?

Enno

Enno

2018-08-01 11:53

Administrator   ~0008014

Zuletzt bearbeitet: 2018-08-01 11:53

2 Überarbeitungen anzeigen

So ist's besser:

Boot ztj6 (ztj6) versinkt in den Fluten von Ozean (0,0).
Einheit g6qz (g6qz) ertrinkt in Ozean (0,0).

Ich streiche die ganze Sache mit der Überlebenschance bei SABOTIERE, das war sowieso ein latenter Exploit.

Enno

Enno

2018-08-01 11:56

Administrator   ~0008015

Überflüssigen Code löschen ist das Beste auf der Welt.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2015-11-29 01:08 Thoran Neuer Eintrag
2015-11-29 01:11 Thoran Notiz hinzugefügt: 0006332
2015-11-29 11:28 Xolgrim Notiz hinzugefügt: 0006333
2015-11-29 11:30 Xolgrim Beziehung hinzugefügt verwandt mit 0001974
2015-12-02 11:56 Enno Notiz hinzugefügt: 0006340
2015-12-02 12:01 Enno Notiz hinzugefügt: 0006341
2015-12-02 12:04 Enno Notiz hinzugefügt: 0006342
2015-12-02 12:26 Thoran Notiz hinzugefügt: 0006345
2015-12-05 10:29 Solthar Beziehung hinzugefügt verwandt mit 0002166
2015-12-05 21:42 Solthar Notiz hinzugefügt: 0006374
2015-12-05 22:22 Solthar Notiz hinzugefügt: 0006375
2016-06-07 23:23 Pyanfar Notiz hinzugefügt: 0006610
2016-06-08 10:07 Enno Notiz hinzugefügt: 0006611
2016-06-08 12:19 Solthar Notiz hinzugefügt: 0006612
2016-06-08 12:19 Solthar Bearbeitung durch => Solthar
2016-06-08 12:19 Solthar Status neu => zugewiesen
2017-12-05 19:43 Enno Status zugewiesen => bestätigt
2018-02-17 11:40 Enno Bearbeitung durch Solthar => Enno
2018-02-17 11:40 Enno Status bestätigt => zugewiesen
2018-02-17 11:40 Enno Zielversion => 3.16
2018-05-19 19:09 Enno Zielversion 3.16 => 3.17
2018-07-31 19:56 Enno Notiz hinzugefügt: 0008011
2018-07-31 22:09 Enno Notiz hinzugefügt: 0008012
2018-08-01 10:16 Enno Notiz hinzugefügt: 0008013
2018-08-01 11:53 Enno Notiz hinzugefügt: 0008014
2018-08-01 11:53 Enno Notiz bearbeitet: 0008014 Überarbeitungen anzeigen
2018-08-01 11:56 Enno Status zugewiesen => erledigt
2018-08-01 11:56 Enno Lösung offen => erledigt
2018-08-01 11:56 Enno Behoben in Version => 3.17
2018-08-01 11:56 Enno Notiz hinzugefügt: 0008015