Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002630EresseaMonsteröffentlich2020-01-07 19:26
ReporterEnno Bearbeitung durchEnno  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status erledigtLösungerledigt 
Produktversion3.22.1 
Zielversion3.23Behoben in Version3.23 
Zusammenfassung0002630: Wyrm attackiert nicht alle Einheiten
Beschreibung

Wir hatten diese Woche einen Kampf in Bafegi. Dort hat der Wyrm 439q die Parteien enno und yp2h attackiert, die gerade mit einer Karavelle eingefahren waren. Allerdings hatte ich (enno) dort 14 Einheiten, von denen nur 6 attackiert wurden. Soweit mir bekannt, sollten Monster immer alle Einheiten der Region attackieren?
Ist es ausserdem richtig, dass fliehende Einheiten das Schiff verlassen? Das scheint so zu sein, denn die stehen alle in der Region, obwohl der Kapitän (paha) mit der Karavelle das Weite suchen konnte, da er auch nicht attackiert wurde.

Zusätzliche Informationen
                  In Bafegi (86,-306) findet ein Kampf statt.

Der Kampf wurde ausgelöst von Monster (ii).

Heer 0: Monster (ii)
Kämpft gegen: Heer 1(enno), Heer 2(yp2h)
Hilft: Heer 0(ii)
Attacke gegen: Heer 1(enno), Heer 2(yp2h)
... in der 1. Kampflinie:
  - Perrintar, die Ehrwürdige (439q), 1 Wyrm, aggressiv, bewacht die Region,
    hat: 8 Bögen, 13 Pferde, Silberbeutel, 4 Plattenpanzer, 5 Schartige
    Schwerter, 2 Schilde.

Heer 1: Les Maîtres Du Temps (enno)
Kämpft gegen: Heer 0(ii)
Hilft: Heer 1(enno), Heer 2(yp2h)
... in der 4. Kampflinie:
  * Prinz Hamlet (dqb4), 6 Hochelfen, flieht, Talente: Unterhaltung 5,
    Ausdauer 1, hat: 11940 Silber.
  * Princess Arjumand (juju), 7 Hochelfen, flieht, Talente: Unterhaltung 5,
    Ausdauer 1, hat: 9036 Silber.
  * Ursus maritimus (weLt), 7 Hochelfen, flieht, Talente: Unterhaltung 5,
    Ausdauer 1, hat: 10850 Silber.
  * Herpestes ichneumon (85g3), 5 Hochelfen, flieht, Talente: Holzfällen 3,
    Unterhaltung 5, Ausdauer 1, hat: 6600 Silber.
  * Kármán Tódor (sbdj), 8 Hochelfen, flieht, Talente: Unterhaltung 8,
    Ausdauer 1, hat: 16066 Silber.
  * Ryzhik (7o4h), 1 Hochelf, flieht, Talente: Unterhaltung 8, Ausdauer 1,
    hat: 140 Silber.

Heer 2: Kgr. Nabban (yp2h)
Kämpft gegen: Heer 0(ii)
Hilft: Heer 1(enno), Heer 2(yp2h)
... in der 4. Kampflinie:
  + Farnwandler (wcms), 1 Nebelmensch, flieht.

Einheiten vor der 1. Runde:
Heer  0(ii): 1, Heer  1(enno): 0+0+0+34, Heer  2(yp2h): 0+0+0+1
Perrintar, die Ehrwürdige (439q) zaubert Großer Drachenodem: 17 Krieger
  wurden getötet.

Einheiten nach dem Kampf:
Heer  0(ii): 1
Parteienno
SpielE2
Report1150

Notizen / Dateien

Enno

Enno

2020-01-05 12:32

Administrator   ~0008666

Interessante Entdeckung: Alle Monster geben jede Woche einen BEWACHE Befehl, selbst wenn sie bereits bewachen. Unnötig.

Enno

Enno

2020-01-05 13:30

Administrator   ~0008667

Oh. Ich glaube, Flucht passiert vor dem ersten Kampfreport, da sind also kleine Einheiten eventuell schon vor dem Kampf entkommen?

Enno

Enno

2020-01-05 13:36

Administrator   ~0008668

Neue Entdeckung: Einige Einheiten werden doppelt attackiert, wegen get_money_for_dragon().

Xolgrim

Xolgrim

2020-01-05 17:56

Entwickler   ~0008671

Als das Monster nicht immer alle Einheiten attackieren ist mindestens seit 800 Wochen so. Xolgrim (xolg) hat seine erste seereise überlebt, weil dei Seeschlange weder ihn noch den Kapitän gefressen hat sondern nur ein mitsegelnden Halbling. Das Monument welches zu seinen ehren gebaut wurde steht noch immer "Statur des Koj Dernon (koj), Größe 1, Monument".

Einheiten mit dem Status Kämpfe flieh versuchen VOR jeder Kampfrunde einmal zu fliehen, das ist korrekt.

Sind alle Personen einer Einheit aus einem Kampf geflohen, verlassen sie Gebäude und schiffe um zu verhindern, dass 10 fliehende Halblinge eine Zitadelle für 5 Wochen gegen eine Übermacht von 5000 Soldaten 'halten'. Das gehört zu den neueren Regeln, hast du vor 3-4 Jahren eingebaut würde ich schätzen.

Enno

Enno

2020-01-05 18:42

Administrator   ~0008672

Der Kampfreport mit allen Einheiten wird VOR der ersten Flucht geschrieben, da sollten also alle attackierten Einheiten drin sein.

Es gibt allerdings zwei Stellen, wo Monster ATTACKIERE setzen können: Sie können aus einer Laune heraus angreifen (40% Chance), oder weil sie Drachen sind, und das Silber der Einheiten haben wollen. Eventuell gelten das verschiedene Selektionskriterien?

Enno

Enno

2020-01-05 18:43

Administrator   ~0008673

Wenn die aus der Laune angreifen, reproduziert sich der Bug bei einem Test schon einmal nicht.

Enno

Enno

2020-01-05 18:46

Administrator   ~0008674

Das geflohene Einheiten eine Burg verlassen macht Sinn, aber warum ein Schiff? Das Schiff ist ihre beste Gelegenheit, aus der Region zu kommen, und dem Drachen zu entwischen.

Enno

Enno

2020-01-05 18:52

Administrator   ~0008675

Oh ja, das ist es: Hungrige Drachen greifen nur Einheiten an, die Silber haben. Sie tun das auch, wenn es in der Region noch Silber gibt, das sie den Bauern klauen könnten, ich war mir sicher, dass das nicht so ist, denn der Drache riskiert doch nicht sein Leben, wenn er es nicht muss. Tut er aber doch. Viele meiner Einheiten hatten zur Zeit der Planung kein Silber, haben aber durch RESERVIERE vor dem Kampf welches gekriegt, weshalb die entkommene Karavelle nicht hungert, und ich nicht sofort drauf gekommen bin, dass es daran liegen könnte.

Der Bug hier ist also eher, dass Drachen Einheiten attackieren, selbst wenn sie Silber von den Bauern (sie Region hat $5 Mio) kriegen könnten.

Enno

Enno

2020-01-05 18:58

Administrator   ~0008676

Ich glaube, ich habe einen Fix für die dauernden Attacken. Es gibt aber noch ein paar andere Dinge in dem Code, die verbessert werden könnten, wo ich schon einmal dabei bin.

Xolgrim

Xolgrim

2020-01-05 19:22

Entwickler   ~0008677

Zuletzt bearbeitet: 2020-01-06 07:46

2 Überarbeitungen anzeigen

@Enno wie gerade von dir gewünscht:
(nws5) ist diese Woche aus einer von Jungdrachen (xs7) bewachten Region gesegelt ohne attackiert zu werden. Die Einheit hatte Silber bei sich.

Und ja, das mit den Schiffen ist doof, aber folgt der gleichen Logik. Ein Halbling kann ein Schiff sonst so lange halten, bis es gänzlich schrott ist und die Gegner bekommen ihre Beute nicht. Abwägungssache was da wichtiger ist. Konsistenz im Verhalten ist aber prinzipiell eine gute Sache, auch wenn sie hier nervt.
Der 3. Betreteversuch kommt nach ATTACKIERE. Wenn geflohene EInheiten dort wieder das Schiff/Gebäude betreten dürften würde es eine Lösungsmöglichkeit schaffen. Dann müsste aber sichergestellt werden, dass geflohene Einheiten in der betrete Reihenfolge immer hinter Einheiten stehen, die nicht geflohen sind. Dann kann das 5000 Mann Heer die Zitadelle betreten, tun sie dies nicht, stehen die Halben hält nächste runde wieder drin. Man könnte es auch Betreteversuch 4. nennen der direkt nach dem 3. kommt. Aber das hat jetzt mit dem Ursprungsbug nichts mehr zu tun.

Enno

Enno

2020-01-06 20:48

Administrator   ~0008680

Oh. Jungdrachen haben das RCF_DRAGON Flag nicht gesetzt? Dann sind sie keine Drachen ...

Enno

Enno

2020-01-06 22:25

Administrator   ~0008681

Nächster Fehler: Drachen können die Region nicht plündern (loot_cmd), weil sie keine bewaffnete Einheit sind.
Drachen haben zwar das "kann ohne Waffen kämpfen" Attribut, aber der Drache (tLyf) hat kein Talent in waffenloser Kampf. Warum kann er dann die Region bewachen?

Enno

Enno

2020-01-06 22:26

Administrator   ~0008682

Oh. Bewachen kann er wegen RCF_UNARMEDGUARD - da braucht man keine armedmen() zu haben.

Enno

Enno

2020-01-07 19:26

Administrator   ~0008683

Ich bin zufrieden mit den Änderungen, die ich hier gemacht habe. Kann sein, dass sich das Verhalten von Drachen zum nächsten Release etwas ändert, insbesondere auf bisher passive Jungdrachen würde ich mich nicht verlassen.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2020-01-05 12:24 Enno Neuer Eintrag
2020-01-05 12:24 Enno Status neu => zugewiesen
2020-01-05 12:24 Enno Bearbeitung durch => Enno
2020-01-05 12:25 Enno Zusätzliche Informationen aktualisiert Überarbeitungen anzeigen
2020-01-05 12:32 Enno Notiz hinzugefügt: 0008666
2020-01-05 13:30 Enno Notiz hinzugefügt: 0008667
2020-01-05 13:36 Enno Notiz hinzugefügt: 0008668
2020-01-05 17:56 Xolgrim Notiz hinzugefügt: 0008671
2020-01-05 18:42 Enno Notiz hinzugefügt: 0008672
2020-01-05 18:43 Enno Notiz hinzugefügt: 0008673
2020-01-05 18:46 Enno Notiz hinzugefügt: 0008674
2020-01-05 18:52 Enno Notiz hinzugefügt: 0008675
2020-01-05 18:58 Enno Notiz hinzugefügt: 0008676
2020-01-05 19:22 Xolgrim Notiz hinzugefügt: 0008677
2020-01-06 07:46 Xolgrim Notiz bearbeitet: 0008677 Überarbeitungen anzeigen
2020-01-06 20:48 Enno Notiz hinzugefügt: 0008680
2020-01-06 22:25 Enno Notiz hinzugefügt: 0008681
2020-01-06 22:26 Enno Notiz hinzugefügt: 0008682
2020-01-07 19:26 Enno Status zugewiesen => erledigt
2020-01-07 19:26 Enno Lösung offen => erledigt
2020-01-07 19:26 Enno Behoben in Version => 3.23
2020-01-07 19:26 Enno Notiz hinzugefügt: 0008683