Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002453EresseaGeneralöffentlich2018-06-24 19:03
ReporterEnno Bearbeitung durchEnno  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status erledigtLösungerledigt 
Produktversion3.16.2 
Zielversion3.16.3Behoben in Version3.16.3 
Zusammenfassung0002453: Neue Parteien verhungern sofort
Beschreibung

Einheit 1bzv (1bzv) verliert in Sungad (0,0) 1 von 1 Personen durch Unterernährung. Unglücklicherweise wurde deine Partei ausgelöscht.

TagsKeine Tags zugeordnet.
Parteiene6
SpielE2
Report1082

Notizen / Dateien

Enno

Enno

2018-06-24 12:13

Administrator   ~0007922

Ich vermute, dass das am neuen Equipment Code liegt, nachdem die Definition aus dem XML geflogen ist. In equipment.lua stehen zwei Definitionen (warum zwei?):

local mysets = {
    ['first_unit'] = {
        ['items'] = {
            ['money'] = 2500,
            ['log'] = 10,
            ['stone'] = 4
        }
    },
    ['seed_unit'] = {
        ['items'] = {
            ['log'] = 50,
            ['stone'] = 50,
            ['iron'] = 50,
            ['laen'] = 10,
            ['sword'] = 1,
            ['mallorn'] = 10,
            ['skillpotion'] = 5,
            ['lifepotion'] = 5,
            ['money'] = 20000
        },
        ['skills'] = {
            ['perception'] = 30,
            ['melee'] = 1
        }
    },
Enno

Enno

2018-06-24 12:16

Administrator   ~0007923

Aufklärung: seed_unit ist ein Relikt aus autoseed.lua, als die Parteien noch vollautomatisch gesetzt wurden. first_unit wird von addplayer benutzt, und hätte beim Aussetzen passieren sollen, wenn nicht rules.equip_first auf einen anderen Namen gesetzt ist (ist es nicht).

Eine Normalisierung dieser beiden Namen wäre bestimmt gut.

Enno

Enno

2018-06-24 12:23

Administrator   ~0007924

Wenn in C equip_unit aufgerufen wird, delegiert das an den Callback lua_equipunit. Der checkt, ob es im Lua-State eine globale Funktion namens equip_unit gibt. Das geht schief (lua_isfunction() ist FALSE), deshalb passiert nichts.

Die Funktion equip_unit ist aber in equipment.lua! Warum also?

Enno

Enno

2018-06-24 12:30

Administrator   ~0007925

Oh! Es scheint, der Mapper lädt andere Module als das Spiel. Insbesondere nicht die Spiel-spezifischen Module. Das geht natürlich nicht.

Enno

Enno

2018-06-24 18:10

Administrator   ~0007927

Der Bug ist gefixt, nur die Parteien in den Daten muss ich jetzt noch reparieren.

Enno

Enno

2018-06-24 19:03

Administrator   ~0007928

Habe das unfertige Release von 3.16.3 erweitert um diesen Bugfix, und die betroffenen Parteien repariert.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2018-06-24 12:02 Enno Neuer Eintrag
2018-06-24 12:04 Enno Bearbeitung durch => Enno
2018-06-24 12:04 Enno Status neu => zugewiesen
2018-06-24 12:07 Enno Produktversion => 3.16.2
2018-06-24 12:07 Enno Zielversion => 3.16.3
2018-06-24 12:13 Enno Notiz hinzugefügt: 0007922
2018-06-24 12:16 Enno Notiz hinzugefügt: 0007923
2018-06-24 12:23 Enno Notiz hinzugefügt: 0007924
2018-06-24 12:30 Enno Notiz hinzugefügt: 0007925
2018-06-24 18:10 Enno Notiz hinzugefügt: 0007927
2018-06-24 19:03 Enno Status zugewiesen => erledigt
2018-06-24 19:03 Enno Lösung offen => erledigt
2018-06-24 19:03 Enno Behoben in Version => 3.16.3
2018-06-24 19:03 Enno Notiz hinzugefügt: 0007928