Switch to full style
Diskussionen rund um Eressea, das Fantasy-Strategiespiel.
Antwort erstellen

31.07.2011 11:21

Andunier hat geschrieben:Wäre sicher interessant, wenn Du Zeit und Lust hast, nochmal in den Code zu gucken. :-)


Straßen bauen sollte nur gehen, wenn gebäude arbeitet, und arbeiten kann es nur, wenn Unterhalt bezahlt worden ist. Richtig ist, dass der Einstürzcode derzeit "herausgeommen" worden ist (#ifdef COLLAPSE_CHANCE) und auch der sich anschliessende Codeteil zum Zerstören betroffenen Strassen.

Der Code wurde per "Schalter" inaktiv: (config.h)
Code:
/** Chance of an unmaintained building crashing */
/* #define COLLAPSE_CHANCE 0.4F */
#undef COLLAPSE_CHANCE


So, aber zurück zum Thema. Die Abtreibewahrscheinlichkeit wird nur dann reduziert, denn der Leuchtturm arbeitet:
Code:
if (fval(b, BLD_WORKING) ...


Dieser Wert wird nur dann gesetzt, wenn auch die Unterhaltskosten bezahlt werden konnten oder das Gebäude "freigestellt" (per Magie vom Unterhalt befreit) worden ist. (economy.c, zeile 996ff)
Code:
 if (fval(b, BLD_MAINTAINED) || b->type == NULL || b->type->maintenance == NULL
    || is_cursed(b->attribs, C_NOCOST, 0)) {
    fset(b, BLD_MAINTAINED);
    fset(b, BLD_WORKING);
    return true;
  }


Das beantwortet die Frage. Der LT MUSS voll funktionieren.

Gruß
Fiete
Antwort erstellen