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

abtreiben trotz leuchtturmüberwachung

11.07.2011 19:02

e2

mir ist gerade in dieser auswertung 730 das abtreiben eines schiffes aufgefallen. verhindern die leuchttürme nicht ein abtreiben?

falls ja, gibt es noch bugreporting und wo?

11.07.2011 21:08

Wenn Bug, dann vielleicht auch in E3. (Wenn der (mit Personen) überladene Kutter, den ich beobachte, sich nicht irgendwie selbst wider flott bekommen hat. Ich sehe nur das er weg ist. Geht VERLASSE oder GIB 0 x PERSONEN auf hoher See?)
Bugreports in:

http://bugs.eressea.de/login_page.php

12.07.2011 07:46

Gib 0 funktioniert auf See. Und ich glaube, dass mit dem Schutz vorm Abtreiben ist schon länger kaputt.

12.07.2011 11:04

oh, dann sind schiffe also nur nach an küsten vor abtreibung sicher?!

12.07.2011 12:38

Nein, ein Leuchtturm verhindert nicht mit absoluter Sicherheit ein Abtreiben.
Schiffe sind nur in Küstengewässern vor Abtreibung sicher.

Aber das ist glaube ich schon immer so und kein Bug. Die Regeln sagen:

"Ab einer Größe von 10 verringert ein Leuchtturm im Umkreis von log10(Leuchtturmgröße)+1 Feldern die Wahrscheinlichkeit des Abtreibens von Schiffen. "

12.07.2011 18:30

oh!
danke, habe einen bugreport geschrieben und die regeln schon ewig nicht mehr gelesen. bekomme dann wahrscheinlich nochmal die gleiche antwort.

26.07.2011 08:40

zu einem sehr ähnlichen thema habe ich eher theoretische fragen.

ein leuchtturm deckt region A als sichtbereich ab. nun ist die frage ob in region A selbst dann die gefahr des abtreibens verringert wird, wenn

a) das wahrnehmungstalent des leuchtturmbesitzers nicht reicht um die entfernung zu region A zu überwinden?

b) der leuchtturm gar nicht besetzt ist?

ich weiss schon, dass man die fragen nicht ohne codeeinsicht sicher beantworten kann, aber interessant finde sie trotzdem.

gruß

durgan

26.07.2011 09:05

Ich füge mal noch eine Frage an

c) Brauche ich ein HELFE Bewache zum Leuchtturm-Besitzer um den Abtreibeschutz zu erhalten oder ist jedes Schiff geschützt?

27.07.2011 03:10

Du hast schon lange nicht mehr Eressea gespielt...

...wenn Du Dich bei diesem thread-Titel fragst, wie die Zeugen Jehovas zur Fristenlösung stehen.

29.07.2011 03:19

Aus dem Code:
Code:
      /* storms should be the first thing we do. */
      stormchance = stormyness / shipspeed(sh, u);
      if (check_leuchtturm(next_point, NULL))
        stormchance /= 3;


Stormyness ist abhängig von Jahreszeit.
Erkenntnis 1: Abtreibechance ist abhängig von der Schiffsgeschwindigkeit.

Erkenntnis 2: Wenn Schiff in Leuchtturmwirkung wird die Chance zum Abtreiben gedrittelt.

Jetzt zur Leuchtturmwirkung (check_leuchtturm), freie Interpretation des Codes:

Code:
if (fval(b, BLD_WORKING) && b->size >= 10) {


Das Gebäude muss "arbeiten" und eine Grösse >= 10 haben. Achtung, jetzt gleich ein wenig mehr:
Code:
int maxd = (int)log10(b->size) + 1;

      if (skill_enabled[SK_PERCEPTION]) {
        region *r2 = b->region;
        unit *u;
        int c = 0;
        int d = 0;

        for (u = r2->units; u; u = u->next) {
          if (u->building == b) {
            c += u->number;
            if (c > buildingcapacity(b))
              break;
            if (f == NULL || u->faction == f) {
              if (!d)
                d = distance(r, r2);
              if (maxd < d)
                break;
              if (eff_skill(u, SK_PERCEPTION, r) >= d * 3)
                return true;
            }
          } else if (c)
            break;              /* first unit that's no longer in the house ends the search */
        }
      } else {
        /* E3A rule: no perception req'd */
        return maxd;
      }

mit maxD wird die Maximale Sichtweite des LTs bestimmt.
Also, wenn Wahrnehmung aktiviert ist (in E3 z.B. nicht), werden überhaupt erst die Insassen untersucht. Es werden dabei tatsächlich nur die Insassen untersucht, die in das Gebäude passen.
Dann gibt es den angefragten Check auf Parteizugehörigkeit, der aber für die Sturmchancenbeeinflussung *nicht* greift (Aufruf der Funktion mit NULL als Partei-Parameter, s.o.).
Ist eine Einheit im Leuchtturm und ist dieser groß genug, auch das Schiff zu sehen, dann wird das Wahrnehmungstalent der Einheit untersucht. Reicht auch dass aus, liefert die Funktion ein freundliches "YEP!" und meint damit, dass ein Leuchtturm das Schiff beeinflusst, was dann wiederum zur Reduzierung der Abtriebschance führt.

Lucon hat ganz Recht, denn die ganze Sturmgeschichte wird nur dann durchlaufen, wenn das nächste Feld in der Bewegung des Schiffes ein Ozeanfeld ist (also kein Küstenfeld und kein Landfeld).

Soweit mein Blick in den Code.

Gruß
Fiete

29.07.2011 09:02

Danke Fiete, für Deine ausführlichen Erklärungen zum Quellcode.

Allerdings frage ich mich nun zwei Dinge:
1. Wenn ich das richtig verstanden habe, ist es egal, ob ich mit dem Leuchtturmbesitzer alliiert bin oder nicht (wegen dem NULL als Partei)?
2. In E3 würde ein leerer Leuchtturm seine Aufgabe verrichten? Und dann wegen 1. würde er allen vorbeifahrenden Schiffe (innerhalb des Wirkungsradius) die Abtreibewahrscheinlichkeit reduzieren?

29.07.2011 09:29

Andunier hat geschrieben:1. Wenn ich das richtig verstanden habe, ist es egal, ob ich mit dem Leuchtturmbesitzer alliiert bin oder nicht (wegen dem NULL als Partei)?


Richtig.

Andunier hat geschrieben:2. In E3 würde ein leerer Leuchtturm seine Aufgabe verrichten? Und dann wegen 1. würde er allen vorbeifahrenden Schiffe (innerhalb des Wirkungsradius) die Abtreibewahrscheinlichkeit reduzieren?


Hm, er muss die Eigenschaft "working" haben
Code:
 if (fval(b, BLD_WORKING) && b->size >= 10) {
, und die habe ich nicht untersucht. Idealerweise muss der Unterhalt bezahlt worden sein. Da einen tieferen Blick reinzuwerfen gelingt mir erst wieder Sonntag...
Aber ich gehe davon aus, dass ein Gebäude zum Arbeiten besetzt sein muss, damit der Unterhalt am Anfang der Runde geleistet werden konnte.

Gruss
Fiete

29.07.2011 09:53

Ja, vermutlich hast Du recht. Leere Gebäude zerfallen ja nur nicht mehr, sollten aber nicht arbeiten. Es sei denn der Leuchtturm funktioniert auch passiv, wie Tunnel, Damm und Karawanserei. Soweit ich weiß, erhalten diese ja auch ohne Unterhalt die Straße. Die Insassen des Leuchtturms "produzieren" ja auch nichts. Wäre dann nur eher die Frage, ob das Bug oder Feature ist...

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

30.07.2011 06:54

Prima Erklärung, Fiete! Ein unerwarteter Nebeneffekt der Freigabe des Sourcecode ist, das solche Fragen jetzt auch von anderen Leuten als mir selber beantwortet werden :-) Das ist spitze.

30.07.2011 22:40

Enno hat geschrieben:[...]Das ist spitze.


Ironie?

Mein Bedenken dabei ist, dass Du auch jahrelang Teile der Spielmechanik nicht im Detail erläutert hast, gerade damit ein wenig mehr Unberechenbarkeit vorkommt. Ich hoffe, dass nach der Freigabe faktisch jedes Detail des Codes bekannt gemacht werden darf - mit allen Vor- und Nachteilen.

Und Danke fürs Lob - bedeutet mir wirklich was. (Keine Ironie).

Gruß
Fiete
Antwort erstellen