Seite 52 von 170 ErsteErste ... 24248495051525354555662102152 ... LetzteLetzte
Ergebnis 766 bis 780 von 2537

Thema: PAE VI: Patch 6.1-6.13

  1. #766
    Schatten des Ostens Avatar von Kendogan
    Registriert seit
    08.03.14
    Beiträge
    15.257
    Keine CallBacks

    Ich weiß auch nicht so recht, was ich von der gesamten Idee halten soll. Ressourcen zu modernisieren und mit Straßen zu verbinden ist nunmal ureigenes CIV-Feeling

  2. #767
    Registrierter Benutzer
    Registriert seit
    02.01.17
    Beiträge
    70
    Zitat Zitat von Flunky Beitrag anzeigen
    Was mir da noch einfällt: die wär es mit einem Arbeitsboot-Build "Kleiner Hafen", der auf Küste errichtet werden kann und actAsCity+Straße beinhaltet? Keine Ahnung, ob das funktioniert. Zum testen könnte man mit dem Weltenbauer Festung+Straße ins Wasser neben eine Insel setzen.

    Aber redges Ansatz ist schon cool. Blöd könnte es werden, wenn die KI im Krieg eine Verbindungsstraße zum Kupfer kappt und nicht die Straße/Mine auf dem Feld selbst und es daher verfügbar bleibt. Also vielleicht auf Ressourcen auf anderen Landmassen (Area) einschränken? Seeblockade sollte auch noch berücksichtigt werden.
    Das erstere hatte ich auch schon probiert. Eine Straße auf Wasser/Küste geht. Man bräuchte eine Grafik für pendelnde Schiffe und hätte eine Wasserstraße. Mit Plünderung und alles. Allerdings müsste man verhindern, daß diese zu lang wird. Dazu bräuchte man vlt. noch ein Extra Feldtyp wie 'Flache Küste' oder eben 'Wasserstraße'. Ich hab das gelassen wegen dem Modden der Routen und der nif Dateien.

    Die Blockaden und Krieg werden glaub ich mit pPlot.isTradeNetwork mit abgeprüft.
    Achtung Spoiler:

    Code:
    bool CvPlot::isTradeNetwork(TeamTypes eTeam) const
    {
    	FAssertMsg(eTeam != NO_TEAM, "eTeam is not assigned a valid value");
    
    	if (atWar(eTeam, getTeam()))
    	{
    		return false;
    	}
    
    	if (getBlockadedCount(eTeam) > 0)
    	{
    		return false;
    	}
    
    	if (isTradeNetworkImpassable(eTeam))
    	{
    		return false;
    	}
    
    	if (!isOwned())
    	{
    		if (!isRevealed(eTeam, false))
    		{
    			return false;
    		}
    	}
    
    	return isBonusNetwork(eTeam);
    }

  3. #768
    Registrierter Benutzer
    Registriert seit
    02.01.17
    Beiträge
    70
    Zitat Zitat von Pie Beitrag anzeigen
    Ok, dann übernehm ich das fast so. ich programmiers nur ein bisschen um.
    Ich hab bei allPlotsInCityCross die 'Anzahl der Operationen und Vergleiche auf ein Minimum reduziert. Es ist sicherlich schneller als die 2xrange(5) Schleife mit Test auf Ecken, aber ob das am Ende viel bringt ist zu bezweifeln? Hat jemand ein Profiler für Python zur Hand?

  4. #769
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Ich würds mit getNumCityPlotIndex (oder wie das heißt) machen. und auch gleich alles in einer funktion. brauch die anderen ja für sonst nix.
    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.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  5. #770
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    getNumCityPlotIndex (oder wie das heißt) ersetzt die dritte Funktion. Der Inhalt der zweiten Funktion wird in PAE immer wieder verwendet, die könnte man also für Ställe, Schmieden, ... nutzen. Oder ist die eh original PAE?

    isTradeNetwork klingt gut, ich würd aber erwarten, dass dort auch auf eine Straße- bzw. Hafenverbindung getestet wird. Also mit der letzten Zeile 'isBonusNetwork'.

  6. #771
    Registrierter Benutzer
    Registriert seit
    02.01.17
    Beiträge
    70
    Zitat Zitat von Flunky Beitrag anzeigen
    getNumCityPlotIndex (oder wie das heißt) ersetzt die dritte Funktion. Der Inhalt der zweiten Funktion wird in PAE immer wieder verwendet, die könnte man also für Ställe, Schmieden, ... nutzen. Oder ist die eh original PAE?
    Die Fragmente der zweiten Fkt. sind so oder ähnlich im Code zu finden u.a. in PAE_Trade.getCitySaleableGoods. Solch eine Funktion hatte ich bisher nicht gefunden, aber auch nicht intensiv danach gesucht. Für Refactoring bin ich immer.

  7. #772
    Registrierter Benutzer
    Registriert seit
    02.01.17
    Beiträge
    70
    Es gibt eine Methode getCityIndexPlot(i). Mit der in C++ per 'for (int i = 0; i < NUM_CITY_PLOTS; ++i)' iteriert wird.

  8. #773
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    Kann gut sein, dass "getAvailableBonus" immer wieder implementiert ist.

    Genau, die "getCityIndexPlot" meinen wir. Ich muss die jedes Mal wieder nachschlagen^^

  9. #774
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    so und redge's Feature wurde somit eingebaut (am Ende der PAE_Trade.doCityCheckFreeBonuses)

    Falls du meine gekürzte Version testen willst, dann nur zu. Brauch ichs nicht testen

    Achtung Spoiler:
    PHP-Code:
    # --------------------------------------------------------------- 
    # Feature von redge
    # Bsp: 1-Feld-Inseln: Bonusresourcen mit Wirtschaftsmodernisierungen sind nicht im Handelsnetz
    def addUnreachableBonusesToCity(pCity):
        
        
    # nur mit Handelsposten möglich
        
    if not pCity.isHasBuilding(gc.getInfoTypeForString("BUILDING_TRADEPOST")): return
        
        
    iCityTeam pCity.getTeam()
        for 
    i in range(gc.getNUM_CITY_PLOTS()):
            
    pLoopPlot pCity.getCityIndexPlot(i)
            if 
    pLoopPlot is not None and not pLoopPlot.isNone():
                
                
    # doch deaktiv weil Bsp: Bonus auf der Krim, Feind dazwischen.
                #if pLoopPlot.getArea() == pCity.plot().getArea(): continue
                
                
    iBonus pLoopPlot.getBonusType(iCityTeam)
                
    iImprovement pLoopPlot.getImprovementType()
                
                if 
    iBonus == -or iImprovement == -1: continue
                
                if 
    pCity.hasBonus(iBonus): continue
                
                if 
    gc.getImprovementInfo(iImprovement).isImprovementBonusMakesValid(iBonus):
                    
    #if pLoopPlot.getRouteType() != -1: # pfeif auf die Strasse auf ner 1-Feld-Insel
                    
    _doCityProvideBonus(pCityiBonus1)
    # --------------------------------------------------- 
    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.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  10. #775
    Registrierter Benutzer
    Registriert seit
    02.01.17
    Beiträge
    70
    Zitat Zitat von Pie Beitrag anzeigen
    so und redge's Feature wurde somit eingebaut (am Ende der PAE_Trade.doCityCheckFreeBonuses)

    Falls du meine gekürzte Version testen willst, dann nur zu. Brauch ichs nicht testen
    Super und auch schön kompakt. Hab mal ein Smoke Test gemacht. Funktioniert soweit bis auf:

    Man braucht die RouteType-Abfrage. Sonst bekommst du alle Resourcen unabhängig von der Straße. Also auch solche die man 'normal' erreicht.

    Bemerkenswert: Ich hab beim Testen ohne die Routenabfrage eine nicht angebundene aber erschlossene Resource, die normal erreichbar ist, erhalten -- in der übernächsten Runde!! .
    Das läßt vermuten, daß evtl. PAE_Trade.doCityCheckFreeBonuses nicht für alle Städte ausgeführt wird!? Hier sollten wir noch genauer testen. Dazu komme ich heute aber nicht mehr.

  11. #776
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    Nee, die wird in jeder Stadt aufgerufen, aber onCityDoTurn ist (im Singleplayer) am Ende der Runde.

    PHP-Code:
    def onCityDoTurn(selfargsList):
            
    'City Production'
            
    pCity argsList[0]
            
    iPlayer argsList[1]
            
    # CyInterface().addMessage(gc.getGame().getActivePlayer(), True, 10, CyTranslator().getText("TXT_KEY_MESSAGE_TEST",("onCityDoTurn: ",iPlayer)), None, 2, None, ColorTypes(10), 0, 0, False, False)
            
    pPlayer gc.getPlayer(iPlayer)
            
    iTeam pPlayer.getTeam()
            
    pTeam gc.getTeam(iTeam)
            
    # pCityPlot = pCity.plot()
            
    popCity pCity.getPopulation()
            
    iGameTurn gc.getGame().getGameTurn()
            
    iGameTurnYear gc.getGame().getGameTurnYear()

            
    CvAdvisorUtils.cityAdvise(pCityiPlayer)

            if 
    pCity.getOwner() == gc.getBARBARIAN_PLAYER(): return

            
    # Trade feature: Check for free bonuses aquired via trade (Boggy)
            
    PAE_Trade.doCityCheckFreeBonuses(pCity

  12. #777
    Registrierter Benutzer
    Registriert seit
    02.01.17
    Beiträge
    70
    Zitat Zitat von Flunky Beitrag anzeigen
    Nee, die wird in jeder Stadt aufgerufen, aber onCityDoTurn ist (im Singleplayer) am Ende der Runde.
    Ah das passt dann wohl, denn ich habe ein Save verwendet in dem der Zug praktisch abgeschlossen war.

  13. #778
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Zitat Zitat von redge Beitrag anzeigen
    Man braucht die RouteType-Abfrage. Sonst bekommst du alle Resourcen unabhängig von der Straße. Also auch solche die man 'normal' erreicht.
    Ist doch egal oder? Wenns in Reichweite der Stadt ist, soll sie es auch haben dürfen.

    Naja, blöd vielleicht da es dann andere Städte mithaben könnten. Doch mit Straße?
    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.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  14. #779
    Registrierter Benutzer
    Registriert seit
    28.09.12
    Beiträge
    10.558
    Zitat Zitat von Pie Beitrag anzeigen
    INaja, blöd vielleicht da es dann andere Städte mithaben könnten. Doch mit Straße?
    Rssourcen hat man echt genug... macht da bloss keine großen Erleichterungen!

  15. #780
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    nagut, dann mit Straße.
    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.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

Seite 52 von 170 ErsteErste ... 24248495051525354555662102152 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •