Eintragsdetails ansehen
ID | Projekt | Kategorie | Sichtbarkeit | Meldungsdatum | Zuletzt aktualisiert |
---|---|---|---|---|---|
0002630 | Eressea | Monster | öffentlich | 2020-01-05 12:24 | 2020-01-07 19:26 |
Reporter | Enno | Bearbeitung durch | Enno | ||
Priorität | normal | Schweregrad | kleinerer Fehler | Reproduzierbar | nicht getestet |
Status | erledigt | Lösung | erledigt | ||
Produktversion | 3.22.1 | ||||
Zielversion | 3.23 | Behoben in Version | 3.23 | ||
Zusammenfassung | 0002630: 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 |
| ||||
Tags | Keine Tags zugeordnet. | ||||
Partei | enno | ||||
Spiel | E2 | ||||
Report | 1150 | ||||
Interessante Entdeckung: Alle Monster geben jede Woche einen BEWACHE Befehl, selbst wenn sie bereits bewachen. Unnötig. |
|
Oh. Ich glaube, Flucht passiert vor dem ersten Kampfreport, da sind also kleine Einheiten eventuell schon vor dem Kampf entkommen? |
|
Neue Entdeckung: Einige Einheiten werden doppelt attackiert, wegen get_money_for_dragon(). |
|
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. |
|
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? |
|
Wenn die aus der Laune angreifen, reproduziert sich der Bug bei einem Test schon einmal nicht. |
|
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. |
|
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. |
|
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. |
|
@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. |
|
Oh. Jungdrachen haben das RCF_DRAGON Flag nicht gesetzt? Dann sind sie keine Drachen ... |
|
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? |
|
Oh. Bewachen kann er wegen RCF_UNARMEDGUARD - da braucht man keine armedmen() zu haben. |
|
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. |
|
Ä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 | |
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 | |
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 |