du meinst warum ich nicht canHaveBonus verwende? weil ich mir Abfragezeit spare, wenn ich gleich getBonusType nehme.
du meinst warum ich nicht canHaveBonus verwende? weil ich mir Abfragezeit spare, wenn ich gleich getBonusType nehme.
Pie's Ancient Europe (PAE)
Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.
- Pie's Ancient Europe (letztes Update: 22.12.2022)
... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!
canHaveBonus tut hier eh nicht, die erfüllt nämlich alle Regeln vom Karte generieren. Also alle Ressis aufs richtige Gelände, keine zu weit von der Küste weg, keine auf Gipfel…
Die korrekte Methode ist etwa so:
Code:void CvPlot::doPlopRessiFromEvent() { PROFILE_FUNC(); //tu Dinge CvCity* pCity; CvWString szBuffer; int iI; if (getBonusType() == NO_BONUS) //hier liegt noch nichts. { FAssertMsg((0 < NumBonusInfosFürDasEvent), "GC.getNumBonusInfos() is not greater than zero but an array is being allocated in CvPlot::doImprovement"); //gibt's denn überhaupt relevante Ressis for (iI = 0; iI < NumBonusInfosFürDasEvent; ++iI) { if (GC.getGameINLINE().getSorenRandNum(dieEreignisPlopWahrscheinlichkeit) == 0) { setBonusType((BonusTypes)iI); //Das ist der Text "In der Nähe der Stadt pCity wurde eine neue Ressource vom Typ iI entdeckt" pCity = GC.getMapINLINE().findCity(getX_INLINE(), getY_INLINE(), getOwnerINLINE(), NO_TEAM, false); if (pCity != NULL) { szBuffer = gDLL->getText("TXT_KEY_MISC_DISCOVERED_NEW_RESOURCE", GC.getBonusInfo((BonusTypes) iI).getTextKeyWide(), pCity->getNameKey()); gDLL->getInterfaceIFace()->addMessage(getOwnerINLINE(), false, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_DISCOVERBONUS", MESSAGE_TYPE_MINOR_EVENT, GC.getBonusInfo((BonusTypes) iI).getButton(), (ColorTypes)GC.getInfoTypeForString("COLOR_WHITE"), getX_INLINE(), getY_INLINE(), true, true); } break; //wenn eine Ressi gesetzt wurde, reicht's } } } doImprovementUpgrade(); //Ertrag anpassen? Weiß net genau. }
Ich hab da was bei Civ V gelesen: Ideologie. Interessentkonflikte der Volks. Spaltung des Reichs!
hohhohohoho....
Bei jedem Wechsel der Regierungsform gibts ne chance: je mehr Regierungen gewechselt werden und je mehr Städte, desto höher die Wahrscheinlichkeit, dass sich ein Reich spaltet.... hohoho...
Das is bestimmt spielspasshemmend
Pie's Ancient Europe (PAE)
Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.
- Pie's Ancient Europe (letztes Update: 22.12.2022)
... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!
@Bonusressourcen:
Es gibt eine Situation, bei der die Beschränkung für belegte, aber noch nicht entdeckte Ressourcen funktioniert. Wälder und Savannen expandieren nicht auf diese Felder. Immer noch.
aha. kann mir da mal jemand im SDK nachsehen, wie das funzt?
Pie's Ancient Europe (PAE)
Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.
- Pie's Ancient Europe (letztes Update: 22.12.2022)
... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!
Patch 6 mit den Formationen und dem neuen Szenario "Der Peloponnesische Krieg" rücken schon in greifbare Nähe.....
Aber ich hab da was für die SDK Fritzen:
Warum stören BTS bei den Beförderungen die Tags:
Bei den Standard-Beförderungen ist auch noch ein Vorteil bei den TerrainDefenses dabei.PHP-Code:
<TerrainAttacks>
<TerrainAttack>
<TerrainType>TERRAIN_GRASS</TerrainType>
<iTerrainAttack>50</iTerrainAttack>
</TerrainAttack>
<TerrainAttack>
<TerrainType>TERRAIN_PLAINS</TerrainType>
<iTerrainAttack>50</iTerrainAttack>
</TerrainAttack>
<TerrainAttack>
<TerrainType>TERRAIN_DESERT</TerrainType>
<iTerrainAttack>50</iTerrainAttack>
</TerrainAttack>
</TerrainAttacks>
Aber hier geht's nur um die Attacks ohne den Defenses. Gibt bei der KI einen CtD. Bei der HI nicht.
Mach ich nur Defenses-Vorteile geht's. Mach ich nur Attacks-Vorteile (wie im Code) dann nicht.
Kann man da was im C++ auslesen? Muss ich Attacks mit Defenses verknüpfen? Ich probier das mal....
Edit: Wenn die Attacks-Werte > Defenses-Werte sind, dann gibt's nen CtD. Wenn die Werte für Attacks <= Defenses sind, dann geht's. Mist. Und bei den Schiffen (Keil, Zange) is das gleiche... aber da scheints zu funktionieren, oder die KI hat einfach noch nie diese Formation angenommen... weiß ich nicht... ich spiel ja nie
Geändert von Pie (14. April 2013 um 22:30 Uhr)
Pie's Ancient Europe (PAE)
Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.
- Pie's Ancient Europe (letztes Update: 22.12.2022)
... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!
Also zum Feature:
Also wie gehabt, oder wenn halt die Ressi mit dem Featur kompatibel ist (Wild<->Wald). Außerdem net, wenn eine Einheit drauf steht oder eine Modernisierung.Code:if ((getBonusType() == NO_BONUS) || (GC.getBonusInfo(getBonusType()).isFeature(iI)))
Flunky: Häh?
Nachtrag zu der Formation Zangenangriff: Es lag an iCityAttack -50 darin. Ich habs auf -25 geändert und jetzt geht's. Kann es sein, dass wenn mit allen negativen Promotions die Zahl -100% erreicht wird, dass er sich dann aufhängt?
Pie's Ancient Europe (PAE)
Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.
- Pie's Ancient Europe (letztes Update: 22.12.2022)
... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!
Da oben steht, dass das Ploppen von Wald genauso funktioniert wie bei Ressis
Terrainangriff- und -verteidigungsprozente sind unabhängig voneinander und werden zumindest beim Befördern und beim Kampf einfach übernommen. Also zu vorherigen Boni auf dem gleichen Gelände addiert.
Dito bei Stadtangriff und -verteidigung.
Heute in: Zitate aus dem Civ4-Quellcode
//WTF? why float and cast to int?
Ein CityAttack-Wert von -50 bei ner Beförderung hat nur die Konsequenz, dass die KI die Beförderung mit 0 Punkten in Hinsicht auf Stadtangriff bewertet. Aber durch diesen Wert von 0 wird nicht geteilt oder sowas, also wüsst ich net, dass das zum Problem werden kann. Probiers doch mal mit was kleinerem als -50. Also -80 z.B. Dann käm halt ne negative Zahl raus.
Geändert von Flunky (15. April 2013 um 00:05 Uhr)
Ich sag's doch, das ist ne absichtlich eingebaute Falle, falls irgend jemand darauf kommt, das Produkt zu gut zu machen.
Heißt das dann nicht, dass das getBonusType() mit dem NO_BONUS doch genau das abfragt, was wir wollen? Da ja Wald auf noch unsichtbaren Ressourcen eben nicht nachwächst, würd das doch passen. Und dann könnt das doch auch mit dem canHaveBonus funktionieren.
canHaveBonus ist für den Kartengenerator, da werden auch die Civ-typischen Abstandsregeln und so beachtet. Dass z.B. Mais nie auf Ebene platziert wird, oder Fische mitten auf dem Ozean.
getBonusType() == NO_BONUS ist die Funktion, die ihr wollt. Weiß auch net, warum die nicht zuverlässig arbeitet.
Etwas Anderes: Hat schon mal jemand isenchines K-Mod-DLL und Thorgals 40er-DLL gleichzeitig ausprobiert? Legt man einfach beide DLLs in den Assets-Ordner, oder ist es so einfach nicht? (Wenn schon neuer Patch, dann auch alles testen, was es zu testen gibt, dachte ich mir.)
Ist überhaupt bei uns schon mal isenchines Upload verlinkt worden? Wenn nicht, dann hier bitte: K-Mod-dll.
Es wird immer nur eine dll benutzt. Man könnte eine davon so umschreiben, dass Teile der anderen genutzt werden, oder beide zusammenführen. k/A wieviel Aufwand das ist. Cybah, Monaldinho, alpha?