Zu der Untergrundveränderung:
1) Ich weiß nicht, ob das jetzt die beste Lösung dafür ist, aber ich würde es so machen wie mit den anderen Festungsupgrades. Ich mache mal ein Beispiel für die Elbenfestung.
Ich hätte das jetzt über einen neuen Eintrag in den Art-Parametern gemacht, der könnte dann ungefähr so aussehen.
Draw = W3DScriptedModelDraw ModuleTag_DrawUntergrund
OkToChangeModelColor = Yes
StaticModelLODMode = Yes ;// Will append M or L to the skin name depending on GameLOD
DefaultModelConditionState
Model = None
End
ModelConditionState = FORTRESS_IMPROVEMENT_4
Model = GBCastfloor
End
End
Erklärung:
Wichtig sind hier nur die DefaultModelCondition- und die ModelConditionState. Die DefaultModelConditionSta te gibt an welches Model direkt angezeigt werden soll. In diesem Fall ist es keines, da es ja erst nach dem Upgrade erscheinen soll. Hinter dem "=" bei ModelConditionState steht der Verweis zu dem Upgrade. Dazu im unteren Teil mehr. Du siehst, dass hier nun ein Model angegeben ist (GBCastfloor ist nur ein Beispielmodel).
Damit das Model nach dem Upgrade erscheint ist dieser Eintrag in den Engineering Parametern nötig:
Behavior = ModelConditionUpgrade ModuleTag_UntergrundUp
TriggeredBy = Upgrade_ElvenFortressUntergrund
AddConditionFlags = FORTRESS_IMPROVEMENT_4
Permanent = Yes
End
Erklärung:
Ich denke man erkennt hier direkt, dass nach dem Erhalt des Upgrades Upgrade_ElvenFortressUnt ergrund nun FORTRESS_IMPROVEMENT_4 als neue Condition hinzugefügt wird und unser Model nun angezeigt wird.
2) Das mit dem Rüstungsbonus ist durch einen einfachen Eintrag zu lösen. Mit dem Radius , in dem der Bonus gilt muss man ein bisschen rumprobieren.
Behavior = PassiveAreaEffectBehavior ModuleTag_UntergrundModifier
UpgradeRequired = Upgrade_ElvenFortressUntergrund
EffectRadius = 200
PingDelay = 2000
ModifierName = EFUntergrundLeadership
AllowFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
End