Seite 37 von 70 ErsteErste ... 2733343536373839404147 ... LetzteLetzte
Ergebnis 541 bis 555 von 1046

Thema: [TAC] Europäische Fraktionen: Oberhäupter, Diplomatie

  1. #541
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Na ok, ich lege mal los.

    iBaseAttitude

    Wert, den Basis Wert der Attitude den der Spieler (Leaderhead) gegenüber anderen Spielern an den Tag legt.
    Grundwert der Berechnungsformel für die Gesamt-Attitude.
    Gilt gegenüber allen (Europäer und Ureinwohner).

    Dieser Wert ist verdammt wichtig und hat auf alles mögliche Einfluss.
    (Diplomatisches Verhalten, Geschenke, Preise in einigen Features, Kriege, ...)

    Wertebereich Vanilla: -3 bis 5

    -3 heißt die KI ist sehr feindlich und aggressiv.
    5 heißt die KI frißt jedem anderen Spieler aus der Hand.

    Theoretisch ist hier auch ein viel breitere Wertebereich möglich: -10 bis 10
    (Das wäre aber meiner Meinung nach nicht sinnvoll. Die KIs würden nur noch Quatsch machen.)

    Code der Attitude Berechnung:
    (Teil wo er reinspielt in rot.)
    Achtung Spoiler:

    Code:
    int CvPlayerAI::AI_getAttitudeVal(PlayerTypes ePlayer, bool bForced)
    {
    	PROFILE_FUNC();
    
    	FAssertMsg(ePlayer != getID(), "shouldn't call this function on ourselves");
    
    	if (bForced)
    	{
    		if (getTeam() == GET_PLAYER(ePlayer).getTeam())
    		{
    			return 100;
    		}
    	}
    
    	int iAttitude = GC.getLeaderHeadInfo(getPersonalityType()).getBaseAttitude();
    
    	if (GET_PLAYER(ePlayer).isNative())
    	{
    		iAttitude += GC.getLeaderHeadInfo(getPersonalityType()).getNativeAttitude();
    	}
    
    	iAttitude += GC.getHandicapInfo(GET_PLAYER(ePlayer).getHandicapType()).getAttitudeChange();
    
    	iAttitude -= std::max(0, (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).getNumMembers() - GET_TEAM(getTeam()).getNumMembers()));
    
    	if (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).AI_getWarSuccess(getTeam()) > GET_TEAM(getTeam()).AI_getWarSuccess(GET_PLAYER(ePlayer).getTeam()))
    	{
    		iAttitude += GC.getLeaderHeadInfo(getPersonalityType()).getLostWarAttitudeChange();
    	}
    
    	iAttitude += AI_getCloseBordersAttitude(ePlayer);
    	iAttitude += AI_getStolenPlotsAttitude(ePlayer);
    	iAttitude += AI_getAlarmAttitude(ePlayer);
    	iAttitude += AI_getRebelAttitude(ePlayer);
    	iAttitude += AI_getWarAttitude(ePlayer);
    	iAttitude += AI_getPeaceAttitude(ePlayer);
    	iAttitude += AI_getOpenBordersAttitude(ePlayer);
    	iAttitude += AI_getDefensivePactAttitude(ePlayer);
    	iAttitude += AI_getRivalDefensivePactAttitude(ePlayer);
    	iAttitude += AI_getShareWarAttitude(ePlayer);
    	iAttitude += AI_getTradeAttitude(ePlayer);
    	iAttitude += AI_getRivalTradeAttitude(ePlayer);
    
    	for (int iI = 0; iI < NUM_MEMORY_TYPES; iI++)
    	{
    		iAttitude += AI_getMemoryAttitude(ePlayer, ((MemoryTypes)iI));
    	}
    
    	iAttitude += AI_getAttitudeExtra(ePlayer);
    
    	return range(iAttitude, -100, 100);
    }


    Vorschlag:

    Bitte übertreibt es bei dem Wert nicht.

    Wertebereich Vorschläge:

    Europäer-Wertebereich: -2 (ziemlich aggressiv / feindlich) bis +3 (sehr friedlich / freundlich)

    Werden die Werte hier zu extrem, sind die Europäer keine vernünftigen Gegner mehr, weil sie entweder ständig in Konflikte gezogen werden oder zu passiv sind.

    Abstufung also sowas wie:

    -2 / -1 / 0 / 1 / 2 oder mal 3

    Ureinwohner-Wertebereich: -5 bis 5

    Hier könnte man sich etwas mehr Freiraum gönnen.
    - 5 wäre aber echt heftig !
    Die UE-KI würde wohl alles und jeden anfeinden. (Auch andere UEs)
    + 5 und die KI ist dein kleines Schoßhündchen.

    Könige: 0 (alles andere macht keinen Sinn)

    Natürlich wird dieser Wert in der Gesamtberechnung wieder relativiert.
    Aber dennoch schlägt sich die Basis relativ stark nieder. (Vorallem am Anfang des Spieles.)
    Geändert von raystuttgart (11. Juni 2011 um 23:05 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  2. #542
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    Schöne, kompakte Übersicht, ray! Bitte weiter so.

  3. #543
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    iNativeAttitude

    Oh man, hier habe ich vorher Quatsch erzählt.
    Achtung Spoiler:

    Muss mich tausendmal entschuldigen.

    Die Stelle die ich hier zitiert hatte benutzt einen ganz anderen Wert als iNativeAttitude !
    Die benutzt nämlich iNativeAttitudeChange, welcher aus Civ4CivicInfos.xml kommt.


    Der Wert gilt nur Spieler --> UE.
    (Im Fall anderer Spieler ist UE, als Zusatz zu iBaseAttitude obendrauf.)

    Wird dieser Wert negativ gesetzt, dann ist die KI aggressiver gegen Ureinwohner als gegenüber Europäern.
    Ist er positiv, dann ist die KI gegenüber Ureinwohner etwas friedlicher als gegenüber Europäern.

    Wertebereich Vanilla: -2 bis +4

    Theoretisch ist auch ein viel breitere Wertebereich möglich: -10 bis 10
    (Aber auch hier wären diese Werte viel zu extrem.)

    Code:
    (Hier wird er in die Attitude gegenüber einer UE reingerechnet. siehe rot)

    Achtung Spoiler:

    Code:
    int CvPlayerAI::AI_getAttitudeVal(PlayerTypes ePlayer, bool bForced)
    {
    	PROFILE_FUNC();
    
    	FAssertMsg(ePlayer != getID(), "shouldn't call this function on ourselves");
    
    	if (bForced)
    	{
    		if (getTeam() == GET_PLAYER(ePlayer).getTeam())
    		{
    			return 100;
    		}
    	}
    
    	int iAttitude = GC.getLeaderHeadInfo(getPersonalityType()).getBaseAttitude();
    
    	if (GET_PLAYER(ePlayer).isNative())
    	{
    		iAttitude += GC.getLeaderHeadInfo(getPersonalityType()).getNativeAttitude();
    	}
    
    	iAttitude += GC.getHandicapInfo(GET_PLAYER(ePlayer).getHandicapType()).getAttitudeChange();
    
    	iAttitude -= std::max(0, (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).getNumMembers() - GET_TEAM(getTeam()).getNumMembers()));
    
    	if (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).AI_getWarSuccess(getTeam()) > GET_TEAM(getTeam()).AI_getWarSuccess(GET_PLAYER(ePlayer).getTeam()))
    	{
    		iAttitude += GC.getLeaderHeadInfo(getPersonalityType()).getLostWarAttitudeChange();
    	}
    
    	iAttitude += AI_getCloseBordersAttitude(ePlayer);
    	iAttitude += AI_getStolenPlotsAttitude(ePlayer);
    	iAttitude += AI_getAlarmAttitude(ePlayer);
    	iAttitude += AI_getRebelAttitude(ePlayer);
    	iAttitude += AI_getWarAttitude(ePlayer);
    	iAttitude += AI_getPeaceAttitude(ePlayer);
    	iAttitude += AI_getOpenBordersAttitude(ePlayer);
    	iAttitude += AI_getDefensivePactAttitude(ePlayer);
    	iAttitude += AI_getRivalDefensivePactAttitude(ePlayer);
    	iAttitude += AI_getShareWarAttitude(ePlayer);
    	iAttitude += AI_getTradeAttitude(ePlayer);
    	iAttitude += AI_getRivalTradeAttitude(ePlayer);
    
    	for (int iI = 0; iI < NUM_MEMORY_TYPES; iI++)
    	{
    		iAttitude += AI_getMemoryAttitude(ePlayer, ((MemoryTypes)iI));
    	}
    
    	iAttitude += AI_getAttitudeExtra(ePlayer);
    
    	return range(iAttitude, -100, 100);
    }


    Außerdem beeinflusst dieser Wert, wie häufig die KI versucht zu missionieren.
    (Ist er sehr negativ, wird die KI wenig missionieren. Ist er positiv, wird die KI öfter missionieren. siehe rot)

    Achtung Spoiler:

    Code:
    case UNITAI_MISSIONARY:
    			if (!AI_isStrategy(STRATEGY_REVOLUTION_PREPARING))
    			{
    				int iLowerPop = 12;
    				int iPop = 15 + iCount * 5;
    				int iModifier = 0;
    				iModifier -= getNativeCombatModifier() * 4;
    				iModifier += getMissionaryRateModifier();
    				iModifier += 10 * GC.getLeaderHeadInfo(getLeaderType()).getNativeAttitude();
    				iModifier += getMissionarySuccessPercent() - 50;
    				if (iModifier != 0)
    				{
    					iLowerPop *= 100 + std::max(0, -iModifier);
    					iLowerPop /= 100 + std::max(0, iModifier);
    					iPop *= 100 + std::max(0, -iModifier);
    					iPop /= 100 + std::max(0, iModifier);
    				}
    
    				iValue = (100 * std::max(0, iPopulation - (iLowerPop + iPop * iCount))) / iPop;
    				if (iValue > 0)
    				{
    					iValue += 100;
    				}
    			}
    			break;



    Vorschlag:

    Auch bei diesem Wert würde ich es nicht übertreiben.

    Europäer-Wertebereich: -3 (sehr feindlich gegenüber UEs) bis +3 / +4 (sehr freundlich gegenüber UEs)

    Der Regelfall sollte meiner Meinung nach bei den Werten -1, 0, 1 liegen.

    Sowas wie -3 und +3 oder + 4 sollten Ausnahmen sein.

    Staffelung sowas wie:
    -3 / -1 / 0 / +1 / +3 oder mal +4

    Ureinwohner-Wertebereich: ???

    Wollt ihr hier differenzieren ?

    Könige: 0 (Alles andere macht keinen Sinn.)


    Natürlich gilt auch hier wieder:
    Der Wert wird in der Gesamtwertung wieder relativiert, wiegt aber dennoch recht schwer. (Vorallem am Anfang.)

    WICHTIG:

    Gegenüber Ureinwohner sollte die Summe von iBaseAttitude und iNativeAttitude betrachtet werden.

    Die Werte ersetzten sich nicht, sondern werden im Falle "andere KI ist Ureinwohner" zusammenaddiert.

    Sprich:
    Ist iBaseAttitude bereits sehr hoch, dann kann iNativeAttitude auch recht niedrig sein.

    Umgekehrt:
    Ist iBaseAttitude bereits sehr negativ, dann sollte iNativeAttitude nicht zu negative sein.
    Geändert von raystuttgart (11. Juni 2011 um 23:09 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  4. #544
    hat den Blues Avatar von Elwood
    Registriert seit
    05.11.07
    Beiträge
    4.352
    Willkomen zum Grundkurs Civ4LeaderHeadInfos.xml

    Hier werden Informationen zu den einzelnen Tags der Civ4LeaderHeadInfos.xml in zusammengefasst und auch für Laien möglichst verständlich präsentiert. Vielen Dank an raystuttgart, von dem der größte Teil der Infos stammt. Soweit möglich, werden die passenden Einzelpostings zu den Tags mit verlinkt, dort finden sich noch mehr Informationen, teils mit dll-Codestellen. Bei Unverständnis der Kurzfassung hier in der Übersicht also erst mal immer dem Link folgen!

    aktueller Stand: 11. 10. 2011

    Grundsätzlich kann gesagt werden, viele der hier eingetragenen Werte haben nichts mit direkt im Spiel ablesbaren Werten (zb. Beziehungswerte im Diplomatiemenü) zu tun. Der größte Teil sind Multiplikatoren oder Divisoren in dll-Formeln, deren realen Auswirkungen und Zusammenhänge für dll-Unkundige kaum nachvollziehbar sind. In einigen Fällen beziehen sich Werte aber auch auf konkretere Elemente wie Runden, Prozente, Promille. Dies wird hier durch Unterstreichung in den Texten verdeutlicht. Auch hier gilt aber, die Weiterverarbeitung dieses Wertes in dll-Formeln ist möglich.
    In diesem Grundkurs geht es maßgeblich um die Ureinwohner und die Europäer, der König ist eine recht "kastrierte"-KI, die den überwiegenden Teil des Spieles nicht auf der Karte vertreten ist. Alle Angaben im Folgenden gelten im Zweifelsfalle nicht für ihn, da er teils seine eigenen Gesetzmäßigkeiten hat, es sei denn, es wird ausdrücklich auf ihn Bezug genommen.

    Abkürzungen und Definitionen:

    E ... Europäer
    K ... König
    UE ... Ureinwohner

    g=g ... heißt größer gleich größer, sprich, wenn der Zahlenwert des Tags erhöht wird, erhöht sich auch der Effekt des Tags, ein Beispiel: Wenn die iBaseAttitude größer wird, bspw. von 0 auf 3, dann wird auch ihr Effekt größer, der Leader ist grundsätzlich positiver gegenüber allen anderen Leadern (KI wie HI) gestimmt.

    g=k ... heißt größer gleich kleiner, sprich, wenn der Zahlenwert des Tags erhöht wird, verringert der Effekt des Tags, ein Beispiel: Wenn der iMaxWarRand größer wird, bspw. von 100 auf 800, dann wird ihr Effekt verringert, der Leader ist weniger schnell bereit, einen absoluten Krieg zu entfesseln.

    Vanilla-Werte: ... hier wird eine Spanne von bis angegeben, in der sich Werte für diesen Tag in Col2-Vanilla bewegen.
    Vorschlag: ... Vorschlag für funktionale/sinnvolle Werte, mehr oder niedriger kann durchaus (technisch) möglich sein, evtl. aber nicht sinnvoll, soweit nicht anders vermerkt von ray

    UE ... nicht für Ureinwohner verfügbar, bzw. ohne nutzen für diese (zB. Kartentausch)
    E ... nicht für Europäer verfügbar, bzw. ohne nutzen für diese (zB. Indianische Söldner)
    AUS: ... der folgende Wert muss eingetragen werden, wenn der Tag deaktiviert/wirkungslos werden soll, ACHTUNG nicht alle Tags können/sollten deaktiveirt werden. (zB. 0 für iAlarmAttitudeChange bei den Europäern, diese reagieren ja nicht auf Kulturdruck durch Ureinwohner )

    Von Bedeutung sind oft Gesinnungsabstufungen als Schwellenwerte für verschiedene Aktionen, hier die Entsprechungen Englisch/Deutsch. In den Tags werden teils Zahlenwerte als Entsprechungen genutzt (zB. iMinAttitudeGiveMercs), teils die Wörter.

    FRIENDLY = Liebevoll =4
    PLEASED = Erfreut =3
    CAUTIOUS = Vorsichtig =2
    ANGRY = Ärgerlich =1
    FURIOUS = Wütend =0

    Wir überspringen die ersten 4 Tags zu Text und Grafikverlinkungen des jeweiligen Leaders, die sind selbst erklärend

    <AlarmType>ALARM_DEFAULT</AlarmType>
    • für E u. K ist immer NONE, für UE immer ALARM_DEFAULT als Standard gesetz, Modifikator zur Gesinnung eines Leaders, Änderungen hier nur über neue AlarmTypes möglich, (ALARM_DEFAULT löst aus, dass ein UE, der von vielen Städten einer Fraktion unter Kulturdruck gesetzt wird, diese schlechter leiden kann)

    <iBaseAttitude>-3</iBaseAttitude>
    • Von Spielbeginn an wirksamer Gesinnungsgrundwert, unsichtbar im Diplomatiemenü, sehr hoher, permanenten Einfluss auf diplomatisches Verhalten eines Leaders
      g=g
      Vanilla-Werte: -3 bis 5
      Vorschlag: E -2 bis 3 // UE -5 bis 5 // K 0

    <iNativeAttitude>-1</iNativeAttitude>
    • Modifikator der Gesinnung eines Leaders (sowohl E, wie auch UE) gegenüber UEs, beeinflusst auch, wie häufig eine E-KI versucht zu missionieren. Details zum Zusammenspiel mit iBaseAttitude s. hier
      g=g
      AUS: 0
      Vanilla-Werte: -2 bis 4
      Vorschlag: E -3 bis 4 // UE kein Vorschlag // K 0

    <iMinAttitudeGiveMercs>4</iMinAttitudeGiveMercs>
    • nötige Mindestgesinnung eines UE, um einen Söldner überhaupt anzubieten, Zahlenwerte=Gesinnungsstufe
      g=k
      AUS: 5
      E
      Vanilla-Werte: kein Vanilla-Feature
      Vorschlag (Elwood): UE 3-4

    <iBaseChanceGiveMercs>40</iBaseChanceGiveMercs>
    • Chance pro Runde in Promille einen Söldner angeboten zu bekommen, sofern die Mindestgesinnung (s.o.) stimmt
      g=g
      AUS: 0
      E
      Vanilla-Werte: kein Vanilla-Feature
      Vorschlag (Elwood): UE 20 - 45

    <iRefuseToTalkWarThreshold>20</iRefuseToTalkWarThreshold>
    • Mindestanzahl an Runden die vergangen sein muss, bis ein Leader überhaupt wieder Gesprächsbereit ist, danach noch keine Garantie auf Friedensbereitschaft, Verdopplung des Wertes, wenn Leader selbst den Krieg erklärt (näheres hier), zusätzliche Infos hier
      g=g
      AUS: 0
      Vanilla-Werte: 6 bis 20
      Vorschlag: E 6 bis 14 // UE 6 bis 22 // K 100 (sicherheitshalber)

    <iMaxGoldTradePercent>90</iMaxGoldTradePercent>
    • Menge des Goldes in Prozent, die einem Leader von seiner gesamten Goldmenge zur Verfügung steht, um diplomatische Transaktionen zu tätigen und Handel zu betreiben (mit anderen E und UE, nicht Europhafenhandel!), ACHTUNG: UEs können Gold außer zum Handeln kaum sinnvoll einsetzen!
      g=g
      AUS: 0
      Vanilla-Werte: E 5 // UE 100
      Vorschlag: E 25 bis 35 // UE 100 // K 0 (sicherheitshalber)


    <iMaxWarRand>200</iMaxWarRand>
    • Wert, der Auslösen eines "totalen Krieges" beeinflusst, wenn Voraussetzungen dafür (zB. Militärmacht, u.a.) gegeben sind; 100/iMaxWarRand=Prozentchance für Krieg, auf diese Prozentchance wird jede Runde neu gewürfelt (wenn Voraussetzung erfüllt!); ACHTUNG erfolgreicher Wurf heißt nicht automatisch Krieg, s. NoWarAttitudeProbs weiter unten; KI-Entscheidungsreihenfolge: maxwar ja/nein, wenn nein --> limitedwar ja/nein, wenn nein --> dogpilewar ja/nein
      g=k
      AUS: 10000+
      Vanilla-Werte: E 50 bis 400 // UE 100 bis 400 // K 200
      Vorschlag (Elwood): E 50 bis 600 // UE 50 bis 600 // K 200

    <iMaxWarNearbyPowerRatio>100</iMaxWarNearbyPowerRatio>
    • Wert in Prozent der angibt, wie hoch die militärische Stärke eines (potentiellen) nahen Gegners höchstens im Vergleich zu der des Leaders sein darf, um einen totalen Krieg erklären zu können, nah bedeutet: Gegner muss über Land erreichbar sein und über mindestens die in iMaxWarMinAdjacentLandPercent angegebene Menge angrenzende Kulturfelder verfügen
      g=g
      AUS: 0 bzw. 1 (KI schätz sich immer als zu schwach ein) oder 10000+ (KI im Selbstmordmodus, KI beachtet Stärkeverältnis quasi nicht)
      Vanilla-Werte: E 80 bis 130 // UE 130 // K 0
      Vorschlag (Elwood): 65 bis 150

    <iMaxWarDistantPowerRatio>100</iMaxWarDistantPowerRatio>
    • Wert in Prozent der angibt, wie hoch die militärische Stärke eines (potentiellen) entfernten Gegners höchstens im Vergleich zu der des Leaders sein darf, um einen totalen Krieg erklären zu können, entfernt bedeutet: Gegner kann über Land oder Wasser erreichbar sein, hat aber keine angrenzenden Kulturfelder
      g=g
      AUS: 0 bzw. 1 (KI schätz sich immer als zu schwach ein) oder 10000+ (KI im Selbstmordmodus, KI beachtet Stärkeverältnis quasi nicht)
      Vanilla-Werte: E 40 bis 100 // UE 0 (besitzt keine Schiffe!) // K 0
      Vorschlag (Elwood): E 55 bis 120 // UE 0

    <iMaxWarMinAdjacentLandPercent>3</iMaxWarMinAdjacentLandPercent>
    • Wert in Prozent der angibt, wieviel Land eines (potentiellen) Gegners mindestens angrenzen muss, um einen totalen Krieg erklären zu können
      g=g
      AUS: 0 (ACHTUNG: Totale Kriege auf Basis der NearbyPowerRatio können dann ohne direkte Kulturgrenzenberührung erklärt werden, Erreichbarkeit über Land muss aber möglich sein)
      Vanilla-Werte: E 1 bis 4 // UE 2 bis 7 // K 0
      Vorschlag (Elwood): E 0 bis 8 // UE 3 bis 9

    <iLimitedWarRand>200</iLimitedWarRand>
    • Wert, der Auslösen eines "begrenzten Krieges" beeinflusst, wenn Voraussetzungen dafür (zB. Militärmacht, u.a.) gegeben sind; 100/iLimitedWarRand=Prozentchance für Krieg, auf diese Prozentchance wird jede Runde neu gewürfelt (wenn Voraussetzung erfüllt!); ACHTUNG erfolgreicher Wurf heißt nicht automatisch Krieg, s. NoWarAttitudeProbs weiter unten: KI-Entscheidungsreihenfolge: maxwar ja/nein, wenn nein --> limitedwar ja/nein, wenn nein --> dogpilewar ja/nein
      g=k
      AUS: 10000+
      Vanilla-Werte: E 40 bis 300 // UE 50 bis 300 // K 0
      Vorschlag (Elwood): E 25 bis 300 // UE 25 bis 300 // K 0

    <iLimitedWarPowerRatio>100</iLimitedWarPowerRatio>
    • Wert in Prozent der angibt, wie hoch die militärische Stärke eines (potentiellen) Gegners höchstens im Vergleich zu der des Leaders sein darf, um einen begrenzten Krieg erklären zu können
      g=g
      AUS: 0 bzw. 1 (KI schätz sich immer als zu schwach ein) oder 10000+ (KI im Selbstmordmodus, KI beachtet Stärkeverältnis quasi nicht)
      Vanilla-Werte: E 80 bis 110 // UE 80 bis 130 // K 0
      Vorschlag (Elwood): 90 bis 185


    <iDogpileWarRand>100</iDogpileWarRand>
    • Wert, der Auslösen eines "ich-hau-jetzt-auch-mit-drauf-Krieges" beeinflusst, wenn Voraussetzungen dafür (zB. Militärmacht, u.a.) gegeben sind; 100/iDogpileWarRand=Prozentchance für Krieg, auf diese Prozentchance wird jede Runde neu gewürfelt (wenn Voraussetzung erfüllt!); ACHTUNG erfolgreicher Wurf heißt nicht automatisch Krieg, s. NoWarAttitudeProbs weiter unten; Als "Mindestgrenzwert" des Stärkeverhältnisse Dogpile gilt:
      eigene Stärke KI + Stärke des gesamten Teams > 150 % Verteidigungsstärke gegnerisches Team; KI-Entscheidungsreihenfolge: maxwar ja/nein, wenn nein --> limitedwar ja/nein, wenn nein --> dogpilewar ja/nein
      g=k
      AUS: 10000+
      Vanilla-Werte: E 25 bis 100 // UE 25 bis 100 // K 0
      Vorschlag (Elwood): E 25 bis 300 // UE 25 bis 300 // K 0


    <iMakePeaceRand>100</iMakePeaceRand>
    • Wert, der Wahrscheinlichkeit eines Friedensangebotes eines Leaders in einem von im selbst begonnen Krieg bestimmt (nach dem Auslaufen von der über iRefuseToTalkWarThreshold definierten Zeitspanne! ). ACHTUNG gilt nur zwischen KI und KI, nicht zwischen KI und HI! 100/iMakePeaceRand=Prozentcahnce für Friedesnangebot des Leader an andere KI pro Runde; wird für jede KI bei Krieg gegen mehrere separat berechnet; Wert sagt nichts über Annahmechance des Angebots aus; Es spielen sowohl für E als auch für UE weitere Faktoren eine Rolle (werden u.U. nach iMakePeaceRand geprüft)
      g=k
      AUS: 10000+ (macht solche Angebote nie, quasi Dauerkrieg) oder 1 (macht solche Angebote jede Runde)
      Vanilla-Werte: E 10 bis 80 // UE 10 bis 80 // K 0
      Vorschlag (Elwood): E 10 bis 50 // UE 10 bis 35 // K 0


    <iDeclareWarTradeRand>40</iDeclareWarTradeRand>
    • Wert, der Wahrscheinlichkeit der Überredung eines Leader zum Krieg durch einen anderen (KI oder HI) beeinflusst; 100/iDeclareWarTradeRand=Prozentcahnce für Anfrage des Leader an andere KI; ACHTUNG: nur ein Faktor, andere Faktoren spielen ebenfalls eine Rolle (bspw. passt in Dogpile-Warplan, laufen schon andere Kriege, was wird für Kriegseintritt geboten)
      g=k
      AUS: 10000+ (nimmt solche Angebote (nahezu) nie an) oder 1 (nimmt solche Angebote (nahezu) immer an)
      Vanilla-Werte: E 40 // UE 40 // K 0
      Vorschlag (Elwood): E 10 bis 70 // UE 10 bis 70 // K 0


    <iDemandRebukedSneakProb>40</iDemandRebukedSneakProb>
    • Wert in Prozent der angibt, mit welcher Wahrscheinlichkeit die KI nach der Zurückweisung einer Forderung einen Krieg vorzubereiten beginnt; Bedingung ist, dass KI stärker als ablehnder Spieler ist;
      g=g
      AUS: 0
      Vanilla-Werte: E 40 bis 80 // UE 10 bis 60 // K 0
      Vorschlag (Elwood): E 10 bis 80 // UE 10 bis 80 // K 0


    <iDemandRebukedWarProb>40</iDemandRebukedWarProb>
    • Wert in Prozent der angibt, mit welcher Wahrscheinlichkeit die KI nach der Zurückweisung einer Forderung sofort den Krieg erklärt; Bedingungen: KI stärker als ablehnder Spieler ist; Erreichbarkeit über Land besteht; wenn Bedingungen nicht erfüllt, evtl. Vorbereitung eines Krieges
      g=g
      AUS: 0
      Vanilla-Werte: E 0 bis 80 // UE 0 bis 25 // K 0
      Vorschlag (Elwood): 10 bis 80

    <iRazeCityProb>40</iRazeCityProb>
    • Wert in Prozent der angibt, mit welcher Wahrscheinlichkeit die KI eine eingenommene Stadt zerstört; kommt erst zur Anwendung, wenn E-KI mehr als 4 Städte besitzt; wird auf die Grundwahrscheinlichkeit von 33% aufgeschalgen, Obergenze ist max. 66%; ACHTUNG, UEs zerstören Städte immer, unabhängig von iRazeCityProb; ACHTUNG, es spielen weitere Faktoren eine Rolle, u.a., ob die Stadt einem menschlichen Spieler gehörte u. ob die KI auf dem selben Kontinent Städte besitzt, wie groß die Distanz ist, u.a.
      g=g
      AUS: 0
      Vanilla-Werte: E 0 // UE 0 // K 0
      Vorschlag (Elwood): E -15 bis 20 // UE 0 // K 0


    <iBaseAttackOddsChange>6</iBaseAttackOddsChange>

    • fixer Wert in Prozent, den ein Leader auf die Prozente der realen Gewinnchance eines Kampfes aufschlägt; daraus resultierender Wert X wird für Beurteilung genutzt, ob sich Angriff lohnt, Wert spiegelt quasi den permanenten Grad des "Verschätzens" der KI bei Kampfchancen wieder, ACHTUNG iAttackOddsChangeRand fließt in Berechnung von Wert X auch als Aufschlag mit ein!
      g=g
      AUS: 0
      Vanilla-Werte: 0 bis 8
      Vorschlag: max. 8


    <iAttackOddsChangeRand>10</iAttackOddsChangeRand>

    • Obergrenze des Zufallswertes in Prozent, den ein Leader auf die realen Prozente der Gewinnchance eines Kampfes aufschlägt; Wert wird zweimal generiert und jeweils aufgeschlagen; daraus resultierender Wert X wird für Beurteilung genutzt, ob sich Angriff lohnt, Wert spiegelt quasi den zufälligen Grad des "Verschätzens" der KI bei Kampfchancen wieder; wird pro Runde neu generiert; ACHTUNG iBaseAttackOddsChange fließt in Berechnung von Wert X auch als Aufschlag mit ein!
      g=g
      AUS: 0
      Vanilla-Werte: 4 bis 8
      Vorschlag: 4 bis 8


    <iCloseBordersAttitudeChange>-3</iCloseBordersAttitudeChange>

    • Europäer: Wert der angibt, um wieviel sich die Beziehungen zu diesem Leader maximal verändern können, wenn die Kulturgrenzen aneinander stoßen; wenn "-" = Verschlechterung, wenn "+" = Verbesserung; Je Größer der ausgeübte Kulturdruck, desto schneller wird der Wert ausgeschöpft, Erreichbarkeit über Land wird berücksichtigt (verschlechtert schneller als wenn nur über See), bei Wegnahme von Stadtradiusfeldern deutlich schnellere Verschlechterung;
      Ureinwohner: Beeinflusst die Reaktion eines UE auf gestohlenes Land durch Sidlungsgründung bzw. -eroberrung
      g=g
      AUS: 0
      Vanilla-Werte: E -2 bis 6 // UE -2 bis -5 // K 0
      Vorschlag (Elwood): -2 bis -6

    <iAlarmAttitudeChange>-4</iAlarmAttitudeChange>
    • Wert der beeinflusst, wie schnell UEs auf Kulturdruck durch Es negativ reagieren; "Euer Lebensstil ist eine Gefahr für uns" ist die sichtbare Auswirkung in der Diplo; Wert wird zur Berechnung in Formel benutzt, kein Diplo-Wert "an sich"; weitere Einflussfaktoren auf das "Bedrohtheitsgefühl" der UE: Anzahl der E-Städte insgesamt, die Größe der E-Bevölkerung, die Anzahl der Einheiten und die Missionierung (wirkt sich positiv aus)
      g=k
      AUS: 0
      E
      Vanilla-Werte: E 0 // UE -1 bis -3 // K 0
      Vorschlag (Elwood): UE -1 bis -4

    <iLostWarAttitudeChange>-4</iLostWarAttitudeChange>
    • Wert der die Gesinnung eines Leaders direkt modifiziert (wird intern auf Gesinnungsgesamtwert aufgeschlagen); ACHTUNG: kommt nur im Kriegszustand gegenüber dem Kontrahenten zur Anwendung und auch das nur, wenn Leader mehr Gefechte verloren hat als Kontrahent (Anzahl der mehr verlorenen Kämpfe ist bedeutungslos); wird nach Friedenschschluss auf 0 gesetzt, summiert sich also nie auf in Folgekriegen. Negative Werte = Leader wird immer verärgerter (Chance auf Friedensschluss sinkt) Positive Werte = Leader wird freundlicher (Chance auf Friedensschluss steigt)
      g=g
      AUS: 0
      Vanilla-Werte: E 0 bis 4 // UE -1 // K 0
      Vorschlag (Elwood): -2 bis 4


    <iRebelAttitudeDivisor>-500</iRebelAttitudeDivisor>
    • Wert, der die Einstellung eines Königs gegenüber seiner rebellisch werdenden Kolonie beeinflusst; je kleiner der negative Wert, desto stärker verschlechtern sich Beziehungen zum König (-100 ist also fünfmal schlechter als -500)
      g=k
      AUS: 0
      E
      UE
      Vanilla-Werte: E 0 // UE 0 // K -500
      Vorschlag (Elwood): K -500


    <iAtWarAttitudeDivisor>-4</iAtWarAttitudeDivisor>
    • Wert, der die Einstellung der KI gegenüber einem Kriegsgegner während des Krieges beeinflusst; Wert von -X bedeutet, dass aller X-Runden sich die Beziehung zum Kriegsgegner um -1 verschlechtert bis zum Erreichen der Höchstgrenze (s. IAtWarAttitudeChangeLimit ); bei Friedensschluss wieder auf 0 gesetzt; s. hier
      g=g
      AUS: 10000
      Vanilla-Werte: -5
      Vorschlag (Elwood): -4 bis -16


    <iAtWarAttitudeChangeLimit>5</ iAtWarAttitudeChangeLimit>
    • Wert, der die Höchstgrenze der Veränderung der Beziehungen zu diesem Leader durch andauernden Krieg festlegt (idR negativ, da iAtWarAttitudeDivisor auch negativ); ACHTUNG, definiert Höchstgrenze der Veränderung die auf den festen Startwert von -3 bei Kriegsbeginn aufgeschlagen wird.
      g=g
      AUS: 0
      Vanilla-Werte: 5
      Vorschlag (Elwood): 1 bis 5


    <iAtPeaceAttitudeDivisor>60</iAtPeaceAttitudeDivisor>
    • Wert, der die Einstellung der KI gegenüber andere während des Friedens beeinflusst; Wert von +X bedeutet, dass aller X-Runden anhaltenden Friedens sich die Beziehung um +1 verbessert bis zum Erreichen der Höchstgrenze (s. IatPeaceChangeLimit); bei Kriegsbeginn wieder auf 0 gesetzt; s. hier
      g=g
      AUS: 10000
      Vanilla-Werte: 60
      Vorschlag (Elwood): 20 bis 80


    <iAtPeaceChangeLimit>4</iAtPeaceChangeLimit>
    • Wert, der die Höchstgrenze der Veränderung der Beziehungen zu diesem Leader durch andauernden Frieden festlegt (idR positiv, da iAtPeaceAttitudeDivisor auch positiv);
      g=g
      AUS: 0
      Vanilla-Werte: 1
      Vorschlag (Elwood): 2 bis 5


    <iOpenBordersAttitudeDivisor>34</iOpenBordersAttitudeDivisor>
    • Wert, der die Einstellung der KI gegenüber andere während offener Grenzen beeinflusst; Wert von +X bedeutet, dass aller X-Runden bestehender offener Grenzen sich die Beziehung um +1 verbessert bis zum Erreichen der Höchstgrenze (s. iOpenBordersAttitudeChangeLimit); bei Annulierung offener Grenzen wieder auf 0 gesetzt;
      g=g
      AUS: 10000
      Vanilla-Werte: 25
      Vorschlag (Elwood): 15 bis 60


    <iOpenBordersAttitudeChangeLimit>2</iOpenBordersAttitudeChangeLimit>
    • Wert, der die Höchstgrenze der Veränderung der Beziehungen zu diesem Leader durch bestehende offener Grenzen festlegt (idR positiv, da iOpenBordersAttitudeDivisor auch positiv);
      g=g
      AUS: 0
      Vanilla-Werte: 2
      Vorschlag (Elwood): 1 bis 5


    <iDefensivePactAttitudeDivisor>12</iDefensivePactAttitudeDivisor>
    • Wert, der die Einstellung der KI gegenüber andere während einer Allianz beeinflusst; Wert von +X bedeutet, dass aller X-Runden einer bestehenden Allianz sich die Beziehung um +1 verbessert bis zum Erreichen der Höchstgrenze (s. iDefensivePactAttitudeChangeLimit); bei Annulierung der Allianz wieder auf 0 gesetzt;
      g=g
      AUS: 10000
      Vanilla-Werte: 12
      Vorschlag (Elwood): 6 bis 24


    <iDefensivePactAttitudeChangeLimit>2</iDefensivePactAttitudeChangeLimit>
    • Wert, der die Höchstgrenze der Veränderung der Beziehungen zu diesem Leader durch bestehende Allianz festlegt (idR positiv, da iDefensivePactAttitudeDivisor auch positiv);
      g=g
      AUS: 0
      Vanilla-Werte: 2
      Vorschlag (Elwood): 1 bis 7


    <iShareWarAttitudeChange>1</iShareWarAttitudeChange>
    • Grundwert, der auf die Beziehung zu einem anderen Leader aufgeschlagen wird, wenn man gemeinsame Kriegsgegner hat (idR positiv, da iDefensivePactAttitudeDivisor auch positiv); Anzahl der gemeinsamen Kriegsgegner bedeutungslos; addiert sich zu iShareWarAttitudeDivisor hinzu; Beziehungsbonus kann dadurch auch über iShareWarAttitudeChangeLimit steigen; wird wieder aus der Beziehung gestrichen sobald gemeinsamer Krieg beendet;
      g=g
      AUS: 0
      Vanilla-Werte: 1
      Vorschlag (Elwood): 1 bis 5


    <iShareWarAttitudeDivisor>8</iShareWarAttitudeDivisor>
    • Wert, der die Einstellung der KI gegenüber andere beeinflusst, wenn es gemeinsame Kriegsgegner gibt; Wert von +X bedeutet, dass aller X-Runden Krieg gegen einen gemeinsamen Gegner sich die Beziehung um +1 verbessert bis zum Erreichen der Höchstgrenze (s. iShareWarAttitudeChangeLimit); wieder auf 0 gesetzt, wenn unter den (dann ehemaligen) Kriegspartnern Krieg herrscht; bleibt ansonsten immer bestehen, auch wenn Krieg gegen gemeinsamen Gegner beendet
      g=g
      AUS: 0
      Vanilla-Werte: 8
      Vorschlag (Elwood): 4 bis 20


    <iShareWarAttitudeChangeLimit>2</iShareWarAttitudeChangeLimit>
    • Wert, der die Höchstgrenze der Veränderung der Beziehungen zu diesem Leader festlegt, wenn man gemeinsame Kriegsgegner hat (idR positiv, da iShareWarAttitudeDivisor auch positiv); ACHTUNG: kann durch aufschlagen von iShareWarAttitudeChange in einem laufenden gemeinsamen Krieg übertroffen werden!
      g=g
      AUS: 0
      Vanilla-Werte: 2 bis 4
      Vorschlag (Elwood): 2 bis 5


    <DemandTributeAttitudeThreshold>CAUTIOUS</DemandTributeAttitudeThreshold >
    • Beziehungswert, bis zu dem die KI Tribute von der HI fordern kann; ACHTUNG: KI muss stärker sein, darf gerade keinen Krieg gegen HI vorbereitet haben, müsste theoretisch auch einen erklären können und letzte Tributorderung muss "abgeklungen" sein!
      AUS: NONE
      Vanilla-Werte: CAUTIOUS
      Vorschlag (Elwood): FURIOUS bis FRIENDLY


    <NoGiveHelpAttitudeThreshold>CAUTIOUS</NoGiveHelpAttitudeThreshold >
    • Beziehungswert, ab dem die KI der HI Unterstützung zukommen lassen kann (E: Gold, UE: Rohstoffe); ACHTUNG: E-KI muss doppelt so wohlhabend sein sein; generell gilt: Letzte Tributorderung muss "abgeklungen" sein und Zufallsvariable spielt eine Rolle!
      AUS: NONE
      Vanilla-Werte: CAUTIOUS
      Vorschlag (Elwood): E: FRIENDLY UE: xxxxxxxxxxxxxxx


    <MapRefuseAttitudeThreshold>CAUTIOUS</MapRefuseAttitudeThreshold >
    • Beziehungswert, ab dem die KI prinzipiell bereit ist Kartenhandel zu betreiben;
      AUS: NONE
      UE
      Vanilla-Werte: E: FURIOUS bis PLEASED // UE: NONE
      Vorschlag (Elwood): E: FURIOUS bis PLEASED// UE: NONE


    <DeclareWarRefuseAttitudeThreshold>CAUTIOUS</DeclareWarRefuseAttitudeThreshold>
    • Beziehungswert, der angewendet wird, wenn eine andere Fraktion versucht, die KI zum Kriegseintritt zu überreden; der angegebene Wert muss gegenüber dieser Fraktion überschritten sein, sonst erfolgt kein Kriegseintritt; ACHTUNG: Wenn Beziehungswert zum angestrebten Kriegsgegner ANNOYED oder FURIOUS (= schlechter als CAUTIOUS) fällt Prüfung des Beziehungswertes zur überredenden Fraktion weg, Kriegseintritt dann sofort möglich!
      AUS: NONE
      Vanilla-Werte: FURIOUS bis PLEASED
      Vorschlag (Elwood): xxxxxxxxxxxxxxxxxxxx


    <DeclareWarThemRefuseAttitudeThreshold>CAUTIOUS</DeclareWarThemRefuseAttitudeThreshold>
    • Beziehungswert, der angewendet wird, wenn eine andere Fraktion versucht, die KI zum Kriegseintritt zu überreden; der angegebene Wert muss gegenüber dem potentiellen Kriegsgegner erreicht oder unterschritten sein, sonst erfolgt kein Kriegseintritt; ACHTUNG: Wenn Beziehungswert zum angestrebten Kriegsgegner FURIOUS (= schlechter als ANNOYED) fällt Prüfung des Beziehungswertes zum angestrebten Kriegsgegner weg, Kriegseintritt dann sofort möglich!
      AUS: NONE
      Vanilla-Werte: ANNOYED bis PLEASED
      Vorschlag (Elwood): xxxxxxxxxxxxxxxxxxxxxxxx


    <StopTradingRefuseAttitudeThreshold>CAUTIOUS</StopTradingRefuseAttitudeThreshold>
    • Beziehungswert, der angewendet wird, wenn eine andere Fraktion versucht, die KI zum Auflösen bestehender Verträge (offene Grenzen, Verteidigungsbündnisse, ...) zu überreden; der angegebene Wert muss gegenüber dieser Fraktion überschritten sein, sonst wird das Gesuch sofort abgewiesen; wenn Wert überschritten, weiter mit prüfen von StopTradingThemRefuseAttitudeThreshold;
      AUS: NONE
      Vanilla-Werte: ANNOYED bis PLEASED
      Vorschlag (Elwood): xxxxxxxxxxxxxxxxxxxxxxxxxx


    <StopTradingThemRefuseAttitudeThreshold>CAUTIOUS</StopTradingThemRefuseAttitudeThreshold>
    • Beziehungswert, der angewendet wird, wenn eine andere Fraktion versucht, die KI zum Auflösen bestehender Verträge (offene Grenzen, Verteidigungsbündnisse, ...) zu überreden; der angegebene Wert muss gegenüber dem Vertragspartner erreicht oder unterschritten sein, sonst erfolgt keine Auflösung;
      AUS: NONE
      Vanilla-Werte: FURIOUS bis CAUTIOUS
      Vorschlag (Elwood): xxxxxxxxxxxxxxxxxxxxxxx


    <OpenBordersRefuseAttitudeThreshold>CAUTIOUS</OpenBordersRefuseAttitudeThreshold>
    • Beziehungswert, der überschritten sein muss, damit die KI generell für offene Grenzen bereit ist; ACHTUNG: wenn in naher Vergangenheit derartiges Abkommen gebrochen wurde, dann keine sofortigen offenen Grenzen möglich, auch wenn Wert überschritten; wenn gemeinsam Krieg geführt wird sind offene Grenzen immer möglich, unabhängig von Beziehungen;
      AUS: NONE
      UE
      Vanilla-Werte: E: FURIOUS bis ANNOYED
      Vorschlag (Elwood): xxxxxxxxxx


    <DefensivePactRefuseAttitudeThreshold>CAUTIOUS</DefensivePactRefuseAttitudeThreshold>
    • Beziehungswert, der überschritten sein muss, damit die KI generell zu einem Verteidugungspakt bereit ist;
      AUS: NONE
      Vanilla-Werte: CAUTIOUS bis FRIENDLY
      Vorschlag (Elwood): xxxxxxxxxxxx


    <PermanentAllianceRefuseAttitudeThreshold>CAUTIOUS</PermanentAllianceRefuseAttitudeThreshold>
    • Beziehungswert, der überschritten sein muss, damit die KI generell zu einer permanenten Allianz bereit ist; ACHTUNG Macht der gemeinsamen Allianz darf insgesamt nicht größer 50% gesamten Macht in der Spielwelt sein, wenn doch, dann wird immer abgelehnt; Gemeinsame Kriegsvergangenheit ist nötig (Defensivpaktcounter + ShareWarCounter > 40)
      AUS: NONE
      Vanilla-Werte: E: PLEASED bis FRIENDLY
      Vorschlag (Elwood): xxxxxxxxxxxx


    <NoWarAttitudeProbs>

    • Wert, der einer bestimmten Gesinnung eines Leader eine Chance in Prozent pro Runde zuordnet, dass dieser nicht den Krieg erklärt, ACHTUNG: zuvor entscheidet Leader auf Basis anderer Werte (zB. militärischem Stärkeverhältnis, u.a.), ob er überhaupt Krieg führen möchte, erst wenn diese Entscheidung positiv ausfällt, kommen NoWarAttitudeProbs zum Einsatz, gewissermaßen als "Dämpfer", ATTITUDE_FURIOUS besitzt keinen Dämpfer mehr, wäre also immer für alle KI 0
      g=g
      AUS: 0 (gefährlich!)
      Vanilla-Werte: (E wie UE)
      ATTITUDE_FRIENDLY: 100
      ATTITUDE_PLEASED: 80 bis 100
      ATTITUDE_CAUTIOUS: 20 bis 90
      ATTITUDE_ANNOYED: 0 bis 50

      Vorschlag: E
      ATTITUDE_FRIENDLY: 70 bis 100
      ATTITUDE_PLEASED: 60 bis 90
      ATTITUDE_CAUTIOUS: 40 bis 70
      ATTITUDE_ANNOYED: 0 bis 50

      Vorschlag: UE
      ATTITUDE_FRIENDLY: 70 bis 100
      ATTITUDE_PLEASED: 60 bis 100
      ATTITUDE_CAUTIOUS: 40 bis 70
      ATTITUDE_ANNOYED: 0 bis 50
    Geändert von Elwood (11. Oktober 2011 um 13:55 Uhr)
    Geschichten zum Lesen ...

    Der seltsame Fall des William Penn | Col II --- TaC-Mod | abgebrochen
    Wahnsinn mit Methode? | Col II --- TaC-Mod | beendet | SdM April 2012
    Visiting Vvardenfell | TES III Morrowind | pausiert
    Es war einmal (noch) kein Portugal | Civ IV --- PAE-Mod | beendet
    Pack die Thermohose ein ... | Icewind Dale --- Trials of the Luremaster | läuft
    NEU: [RL] ... wie Gott nach Frankreich - Elwoods ??? | Modellbaubericht | läuft

  5. #545
    hat den Blues Avatar von Elwood
    Registriert seit
    05.11.07
    Beiträge
    4.352
    da, tippt man sich einen Wolf ... und der feine Herr ray postet hinter dem digitalen Rücken schon die ganze Zeit ...

    Welches Format wollen wir fortführen?
    Geschichten zum Lesen ...

    Der seltsame Fall des William Penn | Col II --- TaC-Mod | abgebrochen
    Wahnsinn mit Methode? | Col II --- TaC-Mod | beendet | SdM April 2012
    Visiting Vvardenfell | TES III Morrowind | pausiert
    Es war einmal (noch) kein Portugal | Civ IV --- PAE-Mod | beendet
    Pack die Thermohose ein ... | Icewind Dale --- Trials of the Luremaster | läuft
    NEU: [RL] ... wie Gott nach Frankreich - Elwoods ??? | Modellbaubericht | läuft

  6. #546
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von Elwood Beitrag anzeigen
    da, tippt man sich einen Wolf ... und der feine Herr ray postet hinter dem digitalen Rücken schon die ganze Zeit ...
    Ich dachte ich dürfte / sollte.

    P.S.:
    Ich werde versuche in den nächsten Posts deine Anmerkungen zu berücksichtigen.
    Geändert von raystuttgart (11. Juni 2011 um 22:36 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  7. #547
    hat den Blues Avatar von Elwood
    Registriert seit
    05.11.07
    Beiträge
    4.352
    halb so wild, ich dachte, dass du auf meinen ersten Post reagierst, ... egal, lese gespannt mit!

    Sieh dir bitte mal meinen Post an, besonders das Modell g=g / g=k, könntest du das in Folgepostings berücksichtigen? Das war für mich immer ein Hauptproblem, in welche Richtung dreht sich das Rad, wenn ich Werte senke oder anhebe ...
    Geschichten zum Lesen ...

    Der seltsame Fall des William Penn | Col II --- TaC-Mod | abgebrochen
    Wahnsinn mit Methode? | Col II --- TaC-Mod | beendet | SdM April 2012
    Visiting Vvardenfell | TES III Morrowind | pausiert
    Es war einmal (noch) kein Portugal | Civ IV --- PAE-Mod | beendet
    Pack die Thermohose ein ... | Icewind Dale --- Trials of the Luremaster | läuft
    NEU: [RL] ... wie Gott nach Frankreich - Elwoods ??? | Modellbaubericht | läuft

  8. #548
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Lasst uns hier mal einen Break machen und das Balancing von iBaseAttitude und iNativeAttitude vornehmen.

    Achtung Spoiler:

    Danach kommen nämlich die Einstellungen zum Krieg die irgendwie zusammengehören.

    Passen die Einstellungen für die Indianischen Söldner ?
    (Die würde ich dann nämlich mal außen vor lassen.)


    Wichtig:
    Betrachtet im Falle "andere KI ist Ureinwohner" die Summe der beiden Werte.
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  9. #549
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von Elwood Beitrag anzeigen
    <AlarmType>ALARM_DEFAULT</AlarmType>
    Ah ok, dachte das müsste ich nicht erklären.
    Gut, ich schreibe mal was dazu.

    -------------------

    In CivCol gibt es aktuell genau einen AlarmType: ALARM_DEFAULT.
    (Der ist Civ4AlarmInfos.xml definiert.)

    Dieser AlarmType wird standardmäßig von den Ureinwohnern verwendet.

    Hier die Logik, die ihn verwendet:
    Achtung Spoiler:

    Code:
    int CvPlayerAI::AI_getAlarmAttitude(PlayerTypes ePlayer)
    {
    	if (getTeam() == GET_PLAYER(ePlayer).getTeam())
    	{
    		return 0;
    	}
    
    	AlarmTypes eAlarm = (AlarmTypes) GC.getLeaderHeadInfo(getLeaderType()).getAlarmType();
    	if (eAlarm == NO_ALARM)
    	{
    		return 0;
    	}
    
    	int iAlarm = GET_PLAYER(ePlayer).getNumCities() * GC.getAlarmInfo(eAlarm).getNumColonies();
    	iAlarm *= std::max(0, 100 + GET_PLAYER(ePlayer).getNativeAngerModifier());
    	iAlarm /= 100;
    
    	int iLoop;
    	for (CvCity* pLoopCity = firstCity(&iLoop); pLoopCity != NULL; pLoopCity = nextCity(&iLoop))
    	{
    		iAlarm += pLoopCity->AI_calculateAlarm(ePlayer);
    	}
    
    	iAlarm *= GC.getLeaderHeadInfo(getPersonalityType()).getAlarmAttitudeChange();
    	iAlarm /= std::max(1, GC.getAlarmInfo(eAlarm).getAttitudeDivisor());
    
    	return std::min(iAlarm, 0);
    }


    Der AlarmType beeinflusst die Attitude der UEs.
    (Die sogenannte AlarmAttitude ist wiederum Teil der Gesamt-Attitude. siehe rot)
    Ich glaube, die ist im Diplo-Screen sogar als eigener Eintrag sichtbar, bin mir aber nicht sicher.

    Achtung Spoiler:

    Code:
    int CvPlayerAI::AI_getAttitudeVal(PlayerTypes ePlayer, bool bForced)
    {
    	PROFILE_FUNC();
    
    	FAssertMsg(ePlayer != getID(), "shouldn't call this function on ourselves");
    
    	if (bForced)
    	{
    		if (getTeam() == GET_PLAYER(ePlayer).getTeam())
    		{
    			return 100;
    		}
    	}
    
    	int iAttitude = GC.getLeaderHeadInfo(getPersonalityType()).getBaseAttitude();
    
    	if (GET_PLAYER(ePlayer).isNative())
    	{
    		iAttitude += GC.getLeaderHeadInfo(getPersonalityType()).getNativeAttitude();
    	}
    
    	iAttitude += GC.getHandicapInfo(GET_PLAYER(ePlayer).getHandicapType()).getAttitudeChange();
    
    	iAttitude -= std::max(0, (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).getNumMembers() - GET_TEAM(getTeam()).getNumMembers()));
    
    	if (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).AI_getWarSuccess(getTeam()) > GET_TEAM(getTeam()).AI_getWarSuccess(GET_PLAYER(ePlayer).getTeam()))
    	{
    		iAttitude += GC.getLeaderHeadInfo(getPersonalityType()).getLostWarAttitudeChange();
    	}
    
    	iAttitude += AI_getCloseBordersAttitude(ePlayer);
    	iAttitude += AI_getStolenPlotsAttitude(ePlayer);
    	iAttitude += AI_getAlarmAttitude(ePlayer);
    	iAttitude += AI_getRebelAttitude(ePlayer);
    	iAttitude += AI_getWarAttitude(ePlayer);
    	iAttitude += AI_getPeaceAttitude(ePlayer);
    	iAttitude += AI_getOpenBordersAttitude(ePlayer);
    	iAttitude += AI_getDefensivePactAttitude(ePlayer);
    	iAttitude += AI_getRivalDefensivePactAttitude(ePlayer);
    	iAttitude += AI_getShareWarAttitude(ePlayer);
    	iAttitude += AI_getTradeAttitude(ePlayer);
    	iAttitude += AI_getRivalTradeAttitude(ePlayer);
    
    	for (int iI = 0; iI < NUM_MEMORY_TYPES; iI++)
    	{
    		iAttitude += AI_getMemoryAttitude(ePlayer, ((MemoryTypes)iI));
    	}
    
    	iAttitude += AI_getAttitudeExtra(ePlayer);
    
    	return range(iAttitude, -100, 100);
    }


    Wird ein UE von vielen Städten eines anderen Spielers bedrängt, dann wird der UE schlechter auf diesen Spieler zu sprechen sein.

    Das wars schon.

    Will man also im XML einstellen, wie sich die UEs auf wachsenden Druck durch die Europäer verhalten, dann kann man das in der Civ4AlarmInfos.xml tun.

    Will man für unterschiedliche UEs hier unterschiedliche Verhalten haben dann muss man

    A) Unterschiedliche AlarmTypes definieren
    B) diese AlarmTypes entsprechend in den Leaderheads zuweisen
    Geändert von raystuttgart (11. Juni 2011 um 23:16 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  10. #550
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Wie gesagt, lasst uns mal die beiden Attitude-Werte Balancen.
    (Die sind nämlich verdammt wichtig.)
    Danach machen wir weiter.

    Nochmal zur Erklärung:

    <Type>LEADER_CUNHAMBEBE</Type>
    <iBaseAttitude>-3</iBaseAttitude>
    <iNativeAttitude>-1</iNativeAttitude>

    Das hier hat folgende Auswirkung:

    (Basis-)Attitude Cunhambebe gegenüber Europäern: -3
    (Basis-)Attitude Cunhambebe gegenüber Ureinwohner: -4 (-3 + -1)

    Wenn ihr aber das hier wollt:

    (Basis-)Attitude Cunhambebe gegenüber Europäern: -3
    (Basis-)Attitude Cunhambebe gegenüber Ureinwohner: -1

    Dann muss im XML das hier stehen:

    <Type>LEADER_CUNHAMBEBE</Type>
    <iBaseAttitude>-3</iBaseAttitude>
    <iNativeAttitude>2</iNativeAttitude>

    @Elwood:
    Vielleicht machst du einen ersten Vorschlag für die Werte jedes Leaderheads ?
    (Du kennst ja eure Systematik der Charaktermerkmale.)
    Geändert von raystuttgart (11. Juni 2011 um 23:33 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  11. #551
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Übrigens noch ein Hinweis:

    Wenn ihr wollt, dass die KIs in höheren Schwierigkeitsgraden aggressiver / unfreundlicher sind, dann nutzt diesen Eintrag in der Civ4HandicapInfos.xml:

    <iAttitudeChange>

    Auch hier gilt:
    +2 bedeutet freundlicher
    -2 bedeutet unfreundlicher

    Die Dimensionen entsprechen iBaseAttitude und iNativeAttitude.

    Seltsamerweise ist der auf allen Schwierigkeitsgraden 0.

    Die Stelle an der er in der Attitude-Berechnung gezogen wird, hab ich rot markiert.

    Achtung Spoiler:

    Code:
    int CvPlayerAI::AI_getAttitudeVal(PlayerTypes ePlayer, bool bForced)
    {
    	PROFILE_FUNC();
    
    	FAssertMsg(ePlayer != getID(), "shouldn't call this function on ourselves");
    
    	if (bForced)
    	{
    		if (getTeam() == GET_PLAYER(ePlayer).getTeam())
    		{
    			return 100;
    		}
    	}
    
    	int iAttitude = GC.getLeaderHeadInfo(getPersonalityType()).getBaseAttitude();
    
    	if (GET_PLAYER(ePlayer).isNative())
    	{
    		iAttitude += GC.getLeaderHeadInfo(getPersonalityType()).getNativeAttitude();
    	}
    
    	iAttitude += GC.getHandicapInfo(GET_PLAYER(ePlayer).getHandicapType()).getAttitudeChange();
    
    	iAttitude -= std::max(0, (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).getNumMembers() - GET_TEAM(getTeam()).getNumMembers()));
    
    	if (GET_TEAM(GET_PLAYER(ePlayer).getTeam()).AI_getWarSuccess(getTeam()) > GET_TEAM(getTeam()).AI_getWarSuccess(GET_PLAYER(ePlayer).getTeam()))
    	{
    		iAttitude += GC.getLeaderHeadInfo(getPersonalityType()).getLostWarAttitudeChange();
    	}
    
    	iAttitude += AI_getCloseBordersAttitude(ePlayer);
    	iAttitude += AI_getStolenPlotsAttitude(ePlayer);
    	iAttitude += AI_getAlarmAttitude(ePlayer);
    	iAttitude += AI_getRebelAttitude(ePlayer);
    	iAttitude += AI_getWarAttitude(ePlayer);
    	iAttitude += AI_getPeaceAttitude(ePlayer);
    	iAttitude += AI_getOpenBordersAttitude(ePlayer);
    	iAttitude += AI_getDefensivePactAttitude(ePlayer);
    	iAttitude += AI_getRivalDefensivePactAttitude(ePlayer);
    	iAttitude += AI_getShareWarAttitude(ePlayer);
    	iAttitude += AI_getTradeAttitude(ePlayer);
    	iAttitude += AI_getRivalTradeAttitude(ePlayer);
    
    	for (int iI = 0; iI < NUM_MEMORY_TYPES; iI++)
    	{
    		iAttitude += AI_getMemoryAttitude(ePlayer, ((MemoryTypes)iI));
    	}
    
    	iAttitude += AI_getAttitudeExtra(ePlayer);
    
    	return range(iAttitude, -100, 100);
    }


    Damit ließe sich nämlich erreichen, dass sowohl die "Anfänger" ihre freundliche KIs bekommen, wie auch die "Profis" ihre aggressiven.
    Geändert von raystuttgart (11. Juni 2011 um 23:54 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  12. #552
    hat den Blues Avatar von Elwood
    Registriert seit
    05.11.07
    Beiträge
    4.352
    Zusammenfassung ist bis hier aktuell


    Zitat Zitat von raystuttgart Beitrag anzeigen
    Passen die Einstellungen für die Indianischen Söldner ?
    (Die würde ich dann nämlich mal außen vor lassen.)
    Die Werte passen eigentlich, da kam schon lange kein gegenteiliges Feedback mehr Da meine Zusammenfassung möglichst vollständig werden soll, habe ich die beiden Tags dort bereits vermerkt, siehst du noch mal drüber, ob alles iO ist (Bitte auch bei "PLEASED = Freundlich/Erfreut (???)", da bin ich mir nicht sicher, mir schient, das Deutsche hat da eine Abstufung mehr )

    Zitat Zitat von raystuttgart Beitrag anzeigen
    Übrigens noch ein Hinweis:

    Wenn ihr wollt, dass die KIs in höheren Schwierigkeitsgraden aggressiver / unfreundlicher sind, dann nutzt diesen Eintrag in der Civ4HandicapInfos.xml:

    Damit ließe sich nämlich erreichen, dass sowohl die "Anfänger" ihre freundliche KIs bekommen, wie auch die "Profis" ihre aggressiven.
    ... das wäre ja wunderbar!

    Vorschlag kommt heut oder morgen
    Geschichten zum Lesen ...

    Der seltsame Fall des William Penn | Col II --- TaC-Mod | abgebrochen
    Wahnsinn mit Methode? | Col II --- TaC-Mod | beendet | SdM April 2012
    Visiting Vvardenfell | TES III Morrowind | pausiert
    Es war einmal (noch) kein Portugal | Civ IV --- PAE-Mod | beendet
    Pack die Thermohose ein ... | Icewind Dale --- Trials of the Luremaster | läuft
    NEU: [RL] ... wie Gott nach Frankreich - Elwoods ??? | Modellbaubericht | läuft

  13. #553
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von Elwood Beitrag anzeigen
    ... siehst du noch mal drüber, ob alles iO ist (Bitte auch bei "PLEASED = Freundlich/Erfreut (???)", da bin ich mir nicht sicher, mir schient, das Deutsche hat da eine Abstufung mehr )
    Das hier sind die entsprechenden AttitudeTypes:

    ATTITUDE_FURIOUS, (0)
    ATTITUDE_ANNOYED, (1)
    ATTITUDE_CAUTIOUS, (2)
    ATTITUDE_PLEASED, (3)
    ATTITUDE_FRIENDLY (4)

    Wie die auf deutsch dann heißen, wissen W.B. und Stöpsel bestimmt.

    Zitat Zitat von Elwood Beitrag anzeigen
    ... das wäre ja wunderbar!
    Mich hat es auch überrascht, dass das bisher nicht genutzt wird.

    Zitat Zitat von Elwood Beitrag anzeigen
    Vorschlag kommt heut oder morgen
    Super.
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  14. #554
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von Elwood Beitrag anzeigen
    <iNativeAttitude>-1</iNativeAttitude>
    • Modifikator zur Gesinnung aller UE gegenüber diesem Leader, prinzipiell für E und UE setzbar, beeinflusst auch, wie häufig eine E-KI versucht zu missionieren. Detail zum Zusammenspiel mit iBaseAttitude s.
    Hi Elwood,

    hier habe ich mich ja korrigieren müssen.
    (siehe hier ganz am Anfang)

    Es muss heißen:
    Modifikator der Gesinnung eines Leaders (sowohl E, wie auch UE) gegenüber UEs, beeinflusst auch ...

    Du hattest da am Anfang mit der Richtung doch Recht ... ich hatte mich beim Code lesen selbst verwirrt.
    Was ich an dieser Stelle und in der Diskussion danach schrieb war falsch, weil ich 2 XML Werte - iNativeAttiude und iNativeAttitudeChange - verwechselt hatte.

    Was hier steht, stimmt jetzt aber.
    Habs mehrfach kontrolliert.
    Geändert von raystuttgart (12. Juni 2011 um 08:49 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  15. #555
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    Guten Morgen Ihr beiden! Ich bin begeistert, wie gut eure Zusammenarbeit funktioniert!

    Und diese Zusammenfassung ist exzellent, Elwood!

Seite 37 von 70 ErsteErste ... 2733343536373839404147 ... LetzteLetzte

Berechtigungen

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