Modderecke > Tutorials
Silberdornpfeil-Upgrade für die Elbenfestung
(1/1)
DarkAtra:
Hallo MU,
ich dachte mir, dass es nichts schadet mal was reinzustellen. Darum fang ich mal damit an der Elbenfestung ein Upgrade für Silberdornpfeile zu geben, da ich erstens finde, dass es sinn macht dieser Festung ebenfalls ein Upgrade für Pfeile zur Verfügungs zu stellen und ich zweites damit gleich mal diese Frage kläre:
--- Zitat von: Moca am 26. Aug 2015, 15:47 ---1000 Dank euch beiden, ihr habt mir wirklich sehr weiter geholfen.
Mal eine andere Frage. Lässt sich von den Elben die Festung selbst und die Erweiterungs-Wachtürme mit Silberdornpfeilen bestücken? Falls ja, welche ini und was müsste man genau umschreiben?
--- Ende Zitat ---
Was brauche ich für dieses Tutorial?
* Final Big (zum Öffnen von .big Dateien)
* Einen Texteditor eurer wahl
* Dieses Big-Archiv: https://modding-union.com/index.php/topic,33192.0.html
* Ein paar Grundkenntnisse
Als erstes benennen wir das Big-Archiv aus dem Download um in __mod.big.
Dann Erstellen wir die Upgrades, die wir später verwenden werden. Dazu gehen wir in unserer __mod.big in die Datei 'data\ini\mod\upgrade.inc' und fügen den folgenden Code ein:
--- Code: ---Upgrade Upgrade_ElvenFortressSilverthornMunitions
Type = OBJECT
End
Upgrade Upgrade_ElvenFortressSilverthornMunitionsTrigger
Type = OBJECT
BuildCost = 1500 ; Die Kosten für das Upgrade in der Festung
BuildTime = 30 ; Die Zeit, die benötigt wird um das Upgrade zu erforschen
ResearchSound = UpgradeSilverThornArrows ; der Sound der abgespielt wird denn das Upgrade erforscht wurde. Ich habe hier das von den Elbeneinheiten genommen.
DisplayName = UPGRADE:ElvenSilverthornArrows ; der Name vom Upgrade (ebenfalls von den Einheiten übernommen)
SkirmishAIHeuristic = AI_UPGRADEHEURISTIC_FORTRESS ; Wie wichtig ist es für die AI? (Übernommen von den Feuerpfeilupgrade der Menschenfestung)
End
--- Ende Code ---
Danach fangen wir mit den Veränderungen in der ini der Elbenfestung an.
Dazu schauen wir uns 'data\ini\object\goodfaction\structures\elven\elvenfortress.ini' (ini.big) an und kopieren diese Datei auch gleich mal in unsere __mod.big.
Dann implementieren wir die neuen Behavior. Dazu suchen wir in der kopierten Datei nach "ModuleTag_AI" und fügen darüber den folgenden Code ein.
--- Code: --- ;// Neues Upgrade für Silberdornpfeile
Behavior = CastleUpgrade ModuleTag_PassOutSilverthornMunitionsUpgrade
TriggeredBy = Upgrade_ElvenFortressSilverthornMunitionsTrigger
Upgrade = Upgrade_ElvenFortressSilverthornMunitions
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ; I need to react to the upgrade, so I can have it for when new construction asks me for all the upgrades
TriggeredBy = Upgrade_ElvenFortressSilverthornMunitions
End
--- Ende Code ---
Zusätzlich müssen wir noch das Weaponset der Festung ändern. Dazu suchen wir in der ini der Festung nach "WeaponSet" und ändern es so ab:
--- Code: --- WeaponSet
Weapon = PRIMARY ElvenFortressArrowTowerBow
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
--- Ende Code ---
Als nächstes erstellen wir unsere Weapons für die Festung. Dazu gehen wir in die 'data\ini\mod\weapon.inc' und fügen den folgenden Code ein:
--- Code: ---Weapon ElvenFortressArrowTowerBow ; eine Kopie der orginalen Festungswaffe
AttackRange = KEEP_ARCHER_RANGE
WeaponSpeed = 321 ; dist/sec
MinWeaponSpeed = 241
MaxWeaponSpeed = 481 ; dist/sec Upper limit on scaling, when attacking past nominal "max" range
FireFX = FX_RohanArcherBowWeapon
ScaleWeaponSpeed = Yes ; Used for lob weapons, scales speed proportional to range
HitPercentage = 100 ;When this weapon is used it will hit exactly 50% of the time.
ScatterRadius = 16.0 ;When this weapon misses it can randomly miss by as much as this distance.
DelayBetweenShots = Min:KEEP_BOW_DELAYBETWEENSHOTS_MIN Max:KEEP_BOW_DELAYBETWEENSHOTS_MAX
PreAttackDelay = KEEP_BOW_PREATTACKDELAY ; 1467 is the prep time for archer.
PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
FiringDuration = KEEP_BOW_DELAYBETWEENSHOTS_MAX ; Duration of the archer firing shot is 500ms.
IsAimingWeapon = Yes
AntiAirborneVehicle = Yes
AntiAirborneMonster = Yes
HitPassengerPercentage = 20%
AcceptableAimDelta = 180.0 ; We want to be able to shoot all round, as we canit move.
CanBeDodged = Yes ; Will check for a DodgePercent on the target to have a second chance at failing HitPercent
ProjectileNugget ; Default arrow
ProjectileTemplateName = GoodFactionArrow
WarheadTemplateName = FortressArrowTowerBowWarhead
ForbiddenUpgradeNames = Upgrade_ElvenFortressSilverthornMunitions
End
ProjectileNugget ; Upgraded arrow (neu)
ProjectileTemplateName = MirkwoodArcherSilverthornProjectile
WarheadTemplateName = ElvenFortressArrowTowerBowUpgradedWarhead ; Der neue Warhead (siehe unten)
RequiredUpgradeNames = Upgrade_ElvenFortressSilverthornMunitions ; das Upgrade, welches den neuen Warhead aktiviert.
End
End
; Der neue Warhead für die Projektile
; Es ist im Prinzip eine Kopie des MirkwoodWarheads mit Silberdornpfeilen
Weapon ElvenFortressArrowTowerBowUpgradedWarhead
ProjectileCollidesWith = ENEMIES NEUTRAL STRUCTURES WALLS
RadiusDamageAffects = ENEMIES NEUTRALS NOT_SIMILAR ;ALLIES
HitStoredTarget = Yes ; Always hits initial target.
DamageNugget ; A basic Nugget that just does damage
Damage = ELVEN_MIRKWOOD_ARCHER_DAMAGE_UPGRADE_PIERCE
Radius = 0.0 ; HitStoredTarget means we hurt the person we launched at. And nobody else. So a miss hurts nobody.
DelayTime = 0
DamageType = PIERCE
DamageFXType = GOOD_ARROW_PIERCE
DeathType = EXPLODED
End
; Damage to everything else is increased
DamageNugget
;SpecialObjectFilter = ALL -STRUCTURE
Damage = ELVEN_MIRKWOOD_ARCHER_DAMAGE_UPGRADE_MAGIC
Radius = 0.0
DelayTime = 0
DamageType = MAGIC
DamageFXType = MAGIC
DeathType = EXPLODED
DamageScalar = 25% NONE +STRUCTURE
End
; ..and meta impact damage on infantry
MetaImpactNugget
SpecialObjectFilter = NONE +INFANTRY
ShockWaveAmount = 50.0
ShockWaveRadius = 10.0
ShockWaveArc = 90 ; in degrees to each side 180 is full circle
ShockWaveTaperOff = 1.0
ShockWaveSpeed = 0.0
ShockWaveZMult = 1.0
OnlyWhenJustDied = Yes
End
End
--- Ende Code ---
Als nächstes legen wir das neue Commandset der Festung an:
--- Code: ---; Eigentlich das gleiche Commandset der orginalen Festung nur mit unserem neuen Commandbutton (zu dem wir gleich kommen)
CommandSet ModElvenFortressCommandSet
InitialVisible = 6
//Main Menu
1 = Command_ConstructElvenPorter
; 2 = Command_ConstructNoldorWarriorHorde ; Added for BFME2 Expansion
2 = Command_SelectRevivablesElvenFortress
3 = Command_SelectUpgradesElvenFortress
4 = Command_PurchaseNewEagle
6 = Command_Sell
//Improvements
7 = Command_PurchaseUpgradeElvenFortressEnchantedAnvil
8 = Command_PurchaseUpgradeElvenFortressBlessedMist
9 = Command_PurchaseUpgradeElvenFortressCrystalMoat
10 = Command_PurchaseUpgradeElvenFortressSilverthornMunitions ; der neue Commandbutton für die Silberdornpfeile
11 = Command_PurchaseUpgradeElvenFortressMysticFountains
12 = Command_PurchaseUpgradeElvenFortressEncasingVines
13 = Command_PurchaseUpgradeElvenFortressEaglesNest
14 = Command_RadialBack
//Heroes
15 = Command_RingHeroReviveSlot
16 = Command_CreateAHeroReviveSlot // Note we also need an extra slot for the Create A Hero
17 = Command_GenericReviveSlot1 //Revives any hero. Use Slot1-Slot8 and keep them UNIQUE within the same commandset!
18 = Command_GenericReviveSlot2
19 = Command_GenericReviveSlot3
20 = Command_GenericReviveSlot4
21 = Command_GenericReviveSlot5
22 = Command_GenericReviveSlot6
23 = Command_GenericReviveSlot7
24 = Command_RadialBack
End
--- Ende Code ---
Nun also den neuen Button für die 'data\ini\mod\commandbutton.inc':
--- Code: ---CommandButton Command_PurchaseUpgradeElvenFortressSilverthornMunitions
Command = OBJECT_UPGRADE
Upgrade = Upgrade_ElvenFortressSilverthornMunitionsTrigger ; das Upgrade mit den Kosten usw...
Options = CANCELABLE
TextLabel = CONTROLBAR:ElvenFortressSilverthornMinitions ; unser Buttonname (dazu kommen wir gleich ;D)
ButtonImage = BEEregionForge_SilverthornArrows ; Das Icon des Buttons (das selbe wie in der Elbenschmiede)
ButtonBorderType = UPGRADE
DescriptLabel = CONTROLBAR:ToolTipElvenFortressSilverthornMinitions ; unser Buttontooltip (dazu kommen wir gleich ;D)
Radial = Yes
InPalantir = No
End
--- Ende Code ---
und die Veränderung an den bereits vorhandenen Menüknöpfen in der 'data\ini\commandbutton.ini':
--- Code: ---CommandButton Command_SelectRevivablesElvenFortress
Command = PUSH_VISIBLE_COMMAND_RANGE
TextLabel = CONTROLBAR:SelectRevivablesElvenFortress
ButtonImage = UCCommon_GoodHeroes
ButtonBorderType = SYSTEM
DescriptLabel = CONTROLBAR:ToolTipCommandSelectRevivablesElvenFortress
Radial = Yes
CommandRangeStart = 14 ; erhöht auf 14
CommandRangeCount = 10
End
--- Ende Code ---
und:
--- Code: ---CommandButton Command_SelectUpgradesElvenFortress
Command = PUSH_VISIBLE_COMMAND_RANGE
TextLabel = CONTROLBAR:SelectUpgradesElvenFortress
ButtonImage = UCCommon_UpgradeStructureNew
ButtonBorderType = SYSTEM
DescriptLabel = CONTROLBAR:ToolTipCommandSelectUpgradesElvenFortress
Radial = Yes
CommandRangeStart = 6
CommandRangeCount = 8 ; Erhöht auf 8
End
--- Ende Code ---
Als letztes Fügen wir noch die folgenden Einträge in die lotr.str ein:
--- Code: ---CONTROLBAR:ElvenFortressSilverthornMinitions
"Silberdornpfeile kaufen (&W)"
End
CONTROLBAR:ToolTipElvenFortressSilverthornMinitions
"Rüstet die Festung und alle angeschlossenen Türme mit Silberdornpfeilen aus."
End
--- Ende Code ---
Damit wären wir soweit fertig!
Ich hoffe ich konnte helfen.
cheruskerarmin:
Hallo,
das würde ich gerne mal ausprobieren aber das benötigte Big-Archiv kann unter dem angegebenen Link leider nicht mehr gefunden werden.
Danke und Gruss
Armin
DarkAtra:
--- Zitat von: cheruskerarmin am 2. Mai 2019, 18:57 ---Hallo,
das würde ich gerne mal ausprobieren aber das benötigte Big-Archiv kann unter dem angegebenen Link leider nicht mehr gefunden werden.
Danke und Gruss
Armin
--- Ende Zitat ---
Hey Armin,
erstmal sorry. Ich war eine ganze Weile nichtmehr online ^^ Ich habe den neuen Download Link ergänzt.
Beste Grüße, DarkAtra
cheruskerarmin:
Hallo DarkAtra,
vielen Dank!
Da ich in Kürze nen neuen PC mit Windows 10 aufsetzen muss bin ich erstmal froh wenn das Game auf diesem OS auch noch läuft.
Werde es dann auf jeden Fall ausprobieren.
Funzt dieser Mod auch unabhängig vom Edain-Mod?
Vielen Dank nochmal
Gruss
Armin
DarkAtra:
--- Zitat von: cheruskerarmin am 25. Jan 2020, 20:21 ---Hallo DarkAtra,
vielen Dank!
Da ich in Kürze nen neuen PC mit Windows 10 aufsetzen muss bin ich erstmal froh wenn das Game auf diesem OS auch noch läuft.
Werde es dann auf jeden Fall ausprobieren.
Funzt dieser Mod auch unabhängig vom Edain-Mod?
Vielen Dank nochmal
Gruss
Armin
--- Ende Zitat ---
Hey,
das ganze sollte sich auch auf Edain übertragen lassen. Es kann jedoch sein, dass einige Einträge anders benannt sind als hier beschrieben. Am besten mal probieren ^^
Beste Grüße, Atra
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln