Hab die Fragen von Marcus Feedback und die Antworten hierherverschoben, weil das hier besser passt und ich mich damit besser zurechtfinde
Hab die Fragen von Marcus Feedback und die Antworten hierherverschoben, weil das hier besser passt und ich mich damit besser zurechtfinde
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!
Achso. Ja, dachte das wird eh wieder brav beantwortet...
Ich muss denen irgendeinen Wert geben, weil sie laut BTS tot sind. Und den letzten Verletzungsgrad hab ich nicht mehr am Schirm. Ich hab daher 15% vom Grundwert angegeben. Bei Einheiten, die 100% Stärke hatten und flüchten ist 15% schon sehr wenig. Natürlich hats den blöden Effekt, das halbtote Einheiten dann etwas mehr haben.
Wie seht ihr das? Soll ich die Einheiten mit 1% Gesundheit "wiederbeleben" lassen oder mit 10% ? 15% ist ja wohl zuviel.
Ja, das ändert sich alles noch. Dafür muss ich mir erst einen Plan schmieden.- Das Christentum verbreitet sich historisch gesehen ein wenig zu schnell, finde ich
Ja, das ist Absicht. Die sollen auch in der Verteidigung einer Stadt gut sein (nicht am offenem Gelände)! Katapulte wurde auch für die Verteidigung verwendet.Noch etwas, was mir aufgefallen ist: Katapulte bekommen bei der Ausbildung die Stadtverteidigungsbeförderung statt Stadtangriff - ist das wirklich so gedacht gewesen?
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!
Man könnte eventuell im CombatLogHit rausfinden, wie stark die Einheit ursprünglich war. Die iCurrCombatStr wird scheinbar nur am Anfang des Kampfes ausgerechnet und hängt linear von den Hitpoints ab:
iCurrHitPoints = iCurrCombatStr * iMaxHitPoints / iMaxCombatStrPHP-Code:
iCurrCombatStr = ((pCombatDetails->iMaxCombatStr * pCombatDetails->iCurrHitPoints) / pCombatDetails->iMaxHitPoints);
Das müsste wie gesagt onCombatLogHit passieren und in irgendner Python-Variable zwischengespeichert werden. Es findet ja immer nur ein Kampf gleichzeitig statt, da sollte eindeutig sein, zu welchem Kampf die gespeicherte Zahl gehört.
ICh fand bei der python referenz: CombatDetails
INT iCurrCombatStr
INT iCurrHitPoints
aber wie frag ich das in onCombatResult() ab?
und ob ich jemals in onCombatResult() was aus onCombatLogHit() rausfinden könnt? Denke nicht.
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!
Halt über ne globale Variable. Zur Not: Scriptdata auf dem Kampfplot setzen.
Der Kampfplot ist hier nicht verfügbar, aber eOwner, also könnte man die ScriptData in der HS des Besitzers setzenPHP-Code:
def onCombatLogHit(self, argsList):
'Combat Message'
# global gCombatMessages, gCombatLog
genericArgs = argsList[0][0]
cdAttacker = genericArgs[0]
cdDefender = genericArgs[1]
iIsAttacker = genericArgs[2]
iDamage = genericArgs[3]
# BTS Original
if cdDefender.eOwner == cdDefender.eVisualOwner:
szDefenderName = gc.getPlayer(cdDefender.eOwner).getNameKey()
else:
szDefenderName = localText.getText("TXT_KEY_TRAIT_PLAYER_UNKNOWN", ())
if cdAttacker.eOwner == cdAttacker.eVisualOwner:
szAttackerName = gc.getPlayer(cdAttacker.eOwner).getNameKey()
else:
szAttackerName = localText.getText("TXT_KEY_TRAIT_PLAYER_UNKNOWN", ())
if iIsAttacker == 0:
combatMessage = localText.getText("TXT_KEY_COMBAT_MESSAGE_HIT", (szDefenderName, cdDefender.sUnitName, iDamage, cdDefender.iCurrHitPoints, cdDefender.iMaxHitPoints))
CyInterface().addCombatMessage(cdAttacker.eOwner, combatMessage)
CyInterface().addCombatMessage(cdDefender.eOwner, combatMessage)
if cdDefender.iCurrHitPoints <= 0:
# hier
combatMessage = localText.getText("TXT_KEY_COMBAT_MESSAGE_DEFEATED", (szAttackerName, cdAttacker.sUnitName, szDefenderName, cdDefender.sUnitName))
CyInterface().addCombatMessage(cdAttacker.eOwner, combatMessage)
CyInterface().addCombatMessage(cdDefender.eOwner, combatMessage)
elif iIsAttacker == 1:
combatMessage = localText.getText("TXT_KEY_COMBAT_MESSAGE_HIT", (szAttackerName, cdAttacker.sUnitName, iDamage, cdAttacker.iCurrHitPoints, cdAttacker.iMaxHitPoints))
CyInterface().addCombatMessage(cdAttacker.eOwner, combatMessage)
CyInterface().addCombatMessage(cdDefender.eOwner, combatMessage)
if cdAttacker.iCurrHitPoints <= 0:
# bzw. hier
combatMessage = localText.getText("TXT_KEY_COMBAT_MESSAGE_DEFEATED", (szDefenderName, cdDefender.sUnitName, szAttackerName, cdAttacker.sUnitName))
CyInterface().addCombatMessage(cdAttacker.eOwner, combatMessage)
CyInterface().addCombatMessage(cdDefender.eOwner, combatMessage)
Oder eine Variable in der CvEventManager-Klasse hinzufügen.
Der Haken an dem Plan ist, dass onCombatLogHit nur aufgerufen wird, wenn ein menschlicher Spieler am Kampf beteiligt ist. Wobei das vielleicht auch egal wär, wenn die Fluchtmechanik zwischen KIs anders oder meinetwegen garnicht funktioniert.
ja, ne globale variable in der eventmanager class. da steht dann immer der wert drin, von der zuletzt getöteten einheit. das reicht mir schon.
und die KI - KI aktionen bekommen wie gehabt ihre 15%.
oder ich erspar mir das und mach gleich 99% Schaden. Dann gibts keine Beschwerden
Geändert von Pie (16. Juni 2020 um 00:03 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!
Ich habe auch eine Frage: Warum kann ich mit dem Präfekt keinen Provinzpalast mehr bauen? Mache ich da was falsch? (siehe Screenshot) Die Voraussetzung in der Stadt ist doch zumindest im Baumenu gegeben ...
...it's a sad und beautiful world. (R. Benigni "Down by law")
Ja, man braucht eine gewisse Anzahl an Städten mit Stadtstatus.
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!