Commit aa6b2d97 authored by Excelsior's avatar Excelsior

RB munitions pass out code.

parent 8935cc4e
......@@ -87,6 +87,7 @@ General Balance Changes
--- arm damage against Fortresses and Citadels halved;
--- arm health reduced to 4000 (was 10000, originally 2000).
- Disabled Ent rage from trained Ents and Treebeard.
- Production Buildings, Resource Buildings and Forges now benefit from Fortress Munitions upgrade (must be within wall building radius to benefit).
Sound Changes and Additions
......@@ -462,6 +463,7 @@ Dwarves
--- vision and stealth detection range increased to 200 (from 160);
--- now able to detect Gollum.
- Fortress Oil Casks damage radius increased to 250 to match that of Boiling Oil and Magma Cauldrons (was 200).
- Mineshaft attack damage reduced to 75 (from 120) to match that of other Resource Buildings.
Isengard
......@@ -530,6 +532,7 @@ Isengard
----- convert unpack (trigger) time reduced to 500ms (was 1200s).
----- ability trigger freeze time reduced to 1800ms (from 2500ms).
- Warg Pit level 3 upgrade now enables ranged attack.
- Furnace attack damage reduced to 75 (from 120) to match that of other Resource Buildings.
Mordor
......@@ -617,6 +620,7 @@ Mordor
----- can now be targeted on Monsters;
----- added new cast animation.
--- added several new animations (such as cheering, taunting, paralysed, splatted death and attack move) and improved existing ones.
- Slaughterhouse attack damage reduced to 75 (from 120) to match that of other Resource Buildings.
Goblins
......
......@@ -2680,6 +2680,7 @@
#define KEEP_BOW_DAMAGE 120
#define KEEP_BOW_UPGRADED_DAMAGE 20
#define RB_BOW_UPGRADED_DAMAGE 10 ;,;
#define KEEP_ARCHER_RANGE 250
#define KEEP_BOW_PREATTACKDELAY 5
......
......@@ -1186,7 +1186,7 @@ Object AngmarFortressCitadel
TriggeredBy = Upgrade_AngmarFortressIceMunitions
RefreshDelay = 2000
Range = ANGMAR_FORTRESS_WALL_EFFECTIVE_RADIUS ;;,;; MEN_FORTRESS_WALL_EFFECTIVE_RADIUS
ObjectFilter = ANY +AngmarWallTowerSmall +AngmarTrollSlingWall +AngmarBarracks +AngmarDen +AngmarForgeWorks +AngmarHallofTwilight ;,; Added +AngmarBarracks +AngmarDen +AngmarForgeWorks +AngmarHallofTwilight
ObjectFilter = ANY +AngmarWallTowerSmall +AngmarTrollSlingWall +AngmarBarracks +AngmarDen +AngmarForgeWorks +AngmarHallofTwilight +AngmarMill ;,; Added +AngmarBarracks +AngmarDen +AngmarForgeWorks +AngmarHallofTwilight +AngmarMill
End
;----------------------------------------------------------------------------------
......
......@@ -241,7 +241,7 @@ Object AngmarMill
End
WeaponSet
Weapon = PRIMARY EvilStructureBow
Weapon = PRIMARY StructureMillBowAngmar ;,; EvilStructureBow
Conditions = PLAYER_UPGRADE
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
......@@ -340,6 +340,15 @@ Object AngmarMill
TriggeredBy = Upgrade_StructureLevel3
ConflictsWith = Upgrade_EasyAIMultiPlayer
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_AngmarFortressIceMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_AngmarFortressIceMunitions
End
; Behavior = RebuildHoleExposeDie ModuleTag_ExposeDie
; ExemptStatus = SOLD
......
......@@ -910,7 +910,7 @@ Object IsengardFortressCitadel
TriggeredBy = Upgrade_IsengardFortressOrcfireMunitionsTrigger
RefreshDelay = 2000
Range = ISENGARD_FORTRESS_WALL_EFFECTIVE_RADIUS ;;,;; 99999
ObjectFilter = ANY +IsengardArmory +IsengardWargPit +IsengardSiegeWorks
ObjectFilter = ANY +IsengardArmory +IsengardWargPit +IsengardSiegeWorks +IsengardFurnace +IsengardLumberMill
End
//Iron Plating Improvement
......
......@@ -8,6 +8,24 @@ ChildObject IsengardFurnace Furnace
KindOf = +LIVING_WORLD_BUILDING_MIRROR +ECONOMY_STRUCTURE
WeaponSet ;,;
Conditions = None
End
WeaponSet ;,;
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY StructureRBBowEvil
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_EvilFortressFlamingMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_EvilFortressFlamingMunitions
End
Body = StructureBody ModuleTag_05
MaxHealth = ISENGARD_FURNACE_HEALTH
MaxHealthDamaged = ISENGARD_FURNACE_HEALTH_DAMAGED
......
......@@ -10,6 +10,24 @@ ChildObject IsengardLumberMill LumberMill
Side = Isengard ;;,;;
KindOf = -AUTO_RALLYPOINT ;,; Added in v5.1
WeaponSet ;,;
Conditions = None
End
WeaponSet ;,;
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY StructureRBBowEvil
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_EvilFortressFlamingMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_EvilFortressFlamingMunitions
End
Body = StructureBody ModuleTag_05
MaxHealth = ISENGARD_LUMBERMILL_HEALTH
......
......@@ -744,7 +744,7 @@ Object MordorFortressCitadel
TriggeredBy = Upgrade_MordorFortressFireArrowsTrigger
RefreshDelay = 2000
Range = MORDOR_FORTRESS_WALL_EFFECTIVE_RADIUS ;;,;; 99999
ObjectFilter = ANY +MordorBarricade +MordorHaradrimPalace ;,; Added MordorHaradrimPalace
ObjectFilter = ANY +MordorBarricade +MordorHaradrimPalace +MordorSlaughterHouse +MordorLumberMill ;,; Added MordorHaradrimPalace +MordorSlaughterHouse +MordorLumberMill
End
;----------------------------------------------------------------------------------
......
......@@ -10,6 +10,24 @@ ChildObject MordorLumberMill LumberMill
Side = Mordor ;;,;;
KindOf = -AUTO_RALLYPOINT ;,; Added in v5.1
WeaponSet ;,;
Conditions = None
End
WeaponSet ;,;
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY StructureRBBowEvil
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_EvilFortressFlamingMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_EvilFortressFlamingMunitions
End
Body = StructureBody ModuleTag_05
MaxHealth = MORDOR_LUMBERMILL_HEALTH
......
......@@ -8,6 +8,24 @@ ChildObject MordorSlaughterHouse SlaughterHouse
BountyValue = MORDOR_SLAUGHTERHOUSE_BOUNTY_VALUE
KindOf = +LIVING_WORLD_BUILDING_MIRROR +ECONOMY_STRUCTURE
WeaponSet ;,;
Conditions = None
End
WeaponSet ;,;
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY StructureRBBowEvil
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_EvilFortressFlamingMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_EvilFortressFlamingMunitions
End
Body = ActiveBody ModuleTag_01
MaxHealth = MORDOR_SLAUGHTERHOUSE_HEALTH
......
......@@ -796,7 +796,7 @@ Object WildFortressCitadel
TriggeredBy = Upgrade_WildFortressFireArrowsTrigger
RefreshDelay = 2000
Range = MORDOR_FORTRESS_WALL_EFFECTIVE_RADIUS ;;,;; 99999
ObjectFilter = ANY +WildTreasureTrove +GoblinCave
ObjectFilter = ANY +WildTreasureTrove +GoblinCave +WildMineShaft +WildLumberMill
End
;//Web Cocoon Upgrade
......
......@@ -11,6 +11,25 @@ ChildObject WildLumberMill LumberMill
KindOf = -AUTO_RALLYPOINT ;,; Added in v5.1
WeaponSet ;,;
Conditions = None
End
WeaponSet ;,;
Weapon = PRIMARY StructureRBBowEvil
Conditions = PLAYER_UPGRADE
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_EvilFortressFlamingMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_EvilFortressFlamingMunitions
End
Body = StructureBody ModuleTag_05
MaxHealth = WILD_LUMBERMILL_HEALTH
MaxHealthDamaged = WILD_LUMBERMILL_HEALTH_DAMAGED
......
......@@ -268,7 +268,7 @@ Object WildMineShaft
End
WeaponSet
Weapon = PRIMARY EvilStructureBow
Weapon = PRIMARY StructureRBBowEvil ;,; EvilStructureBow
Conditions = PLAYER_UPGRADE
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
......@@ -389,6 +389,15 @@ Object WildMineShaft
TriggeredBy = Upgrade_StructureLevel3
ConflictsWith = Upgrade_EasyAIMultiPlayer
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_EvilFortressFlamingMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_EvilFortressFlamingMunitions
End
Behavior = RebuildHoleExposeDie ModuleTag_ExposeDie
ExemptStatus = SOLD
......
......@@ -1192,7 +1192,7 @@ Object DwarvenFortressCitadel
TriggeredBy = Upgrade_GoodFortressFlamingMunitionsTrigger
RefreshDelay = 2000
Range = DWARVEN_FORTRESS_WALL_EFFECTIVE_RADIUS ;;,;; 99999
ObjectFilter = ANY +DwarvenSentryTower_Independent +DwarvenCastleWallTower +DwarvenWallCatapult +DwarvenWallTowerSmall +DwarfBarracks +DwarvenArcheryRange +DwarvenSiegeWorks ;,; Added +DwarfBarracks +DwarvenArcheryRange +DwarvenSiegeWorks ;;,;; Added +DwarvenCastleWallTower +DwarvenWallCatapult +DwarvenWallTowerSmall
ObjectFilter = ANY +DwarvenSentryTower_Independent +DwarvenCastleWallTower +DwarvenWallCatapult +DwarvenWallTowerSmall +DwarfBarracks +DwarvenArcheryRange +DwarvenSiegeWorks +DwarvenMineShaft ;,; Added +DwarfBarracks +DwarvenArcheryRange +DwarvenSiegeWorks +DwarvenMineShaft ;;,;; Added +DwarvenCastleWallTower +DwarvenWallCatapult +DwarvenWallTowerSmall
End
;----------------------------------------------------------------------------------
......
......@@ -448,7 +448,7 @@ ChildObject DwarvenMineShaft MineShaft_Interface
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY StructureAxeWeapon
Weapon = PRIMARY StructureMineshaftAxeWeaponDwarves ;,; StructureAxeWeapon
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
......@@ -474,6 +474,15 @@ ChildObject DwarvenMineShaft MineShaft_Interface
TriggeredBy = Upgrade_StructureLevel3
ConflictsWith = Upgrade_EasyAIMultiPlayer
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_GoodFortressFlamingMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_GoodFortressFlamingMunitions
End
End
......
......@@ -853,7 +853,7 @@ Object ElvenCitadel
TriggeredBy = Upgrade_ElvenFortressFlamingMunitionsTrigger
RefreshDelay = 2000
Range = ELVEN_FORTRESS_WALL_EFFECTIVE_RADIUS ;;,;; 99999
ObjectFilter = ANY +ElvenBarracks +ElvenGreenPasture +EregionForge
ObjectFilter = ANY +ElvenBarracks +ElvenGreenPasture +EregionForge +ElvenMallornTree
End
Behavior = PassiveAreaEffectBehavior ModuleTag_MysticFountainsHealing
......
......@@ -59,7 +59,7 @@ ChildObject GondorFarm FarmInterface
End
WeaponSet
Weapon = PRIMARY GondorStructureBow
Weapon = PRIMARY StructureFarmBowMen ;,; GondorStructureBow
Conditions = PLAYER_UPGRADE
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
......@@ -130,6 +130,15 @@ ChildObject GondorFarm FarmInterface
TriggeredBy = Upgrade_StructureLevel3
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_GoodFortressFlamingMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_GoodFortressFlamingMunitions
End
; Same as farm interface, except without the AUTO_RALLYPOINT
KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE NEED_BASE_FOUNDATION CASTLE_KEEP FS_CASH_PRODUCER LIVING_WORLD_BUILDING_MIRROR ATTACK_NEEDS_LINE_OF_SIGHT CAN_ATTACK MADE_OF_STONE ECONOMY_STRUCTURE IGNORE_FOR_VICTORY
......
......@@ -928,7 +928,7 @@ Object MenFortressCitadel
TriggeredBy = Upgrade_GoodFortressFlamingMunitionsTrigger
RefreshDelay = 2000
Range = MEN_FORTRESS_WALL_EFFECTIVE_RADIUS ;;,;; 99999
ObjectFilter = ANY +GondorSentryTower +GondorSentryTower_Independant +GondorCastleWallTower +GondorTrebuchetWall +MenWallTowerSmall +GondorBarracks +GondorArcherRange +GondorStable +GondorForge ;,; Added +GondorBarracks +GondorArcherRange +GondorStable +GondorForge ;;,;; Added +GondorCastleWallTower +GondorTrebuchetWall +MenWallTowerSmall
ObjectFilter = ANY +GondorSentryTower +GondorSentryTower_Independant +GondorCastleWallTower +GondorTrebuchetWall +MenWallTowerSmall +GondorBarracks +GondorArcherRange +GondorStable +GondorForge +GondorFarm ;,; Added +GondorBarracks +GondorArcherRange +GondorStable +GondorForge +GondorFarm ;;,;; Added +GondorCastleWallTower +GondorTrebuchetWall +MenWallTowerSmall
End
Behavior = AttributeModifierAuraUpdate ModuleTag_TowerArmorEnabler ;,;
......
......@@ -1179,6 +1179,21 @@ ChildObject ElvenLorienArcher_Slaved ElvenLorienArcher
UseSlaverAsControlForEvaObjectSightedEvents = No ; Not a creep
End
Behavior = WeaponSetUpgrade ModuleTag_FlamingMunitions ;,;
TriggeredBy = Upgrade_StructureLevel3 Upgrade_GoodFortressFlamingMunitions
RequiresAllTriggers = Yes
End
Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;,;
TriggeredBy = Upgrade_GoodFortressFlamingMunitions
End
Behavior = SubObjectsUpgrade SilverthornArrows_Upgrade ;,;
TriggeredBy = Upgrade_GoodFortressFlamingMunitions
ShowSubObjects = FireArowTip ArrowNock ; yes, it's a typo.
HideSubObjects = arrow
End
Behavior = SlowDeathBehavior ModuleTag_05 ; overriden to be faster, so we fall with the barricade rubble.
DeathTypes = ALL -KNOCKBACK
SinkDelay = 10
......
......@@ -2005,7 +2005,9 @@ Weapon StructureDwarvenAxeThrowForgedBladeUpgradedWarhead
End
End
;--------------------------------------------------------------------------------------------------------- ;,;
;---------------------------------------------------------------------------------------------------------
;,;
Weapon StructureDwarvenAxeWarhead
RadiusDamageAffects = ENEMIES
HitStoredTarget = Yes
......@@ -2041,7 +2043,36 @@ Weapon StructureDwarvenAxeForgedBladeWarhead
End
End
;----------------------------------------------------------------------------------------------------------------------------------------
;,;
;---------------------------------------------------------------------------------------------------------
;,;
Weapon StructureMineShaftDwarvenAxeForgedBladeWarhead
RadiusDamageAffects = ENEMIES
HitStoredTarget = Yes
DamageNugget
Damage = RB_BOW_UPGRADED_DAMAGE
Radius = 0.0
DelayTime = 0
DamageType = STRUCTURAL ; Moving all structure-based weapons over to Structural Damage for balance reasons - GB
DamageFXType = SWORD_SLASH ; Not GOOD_ARROW_PIERCE as this creates arrows in the victim :)
DeathType = EXPLODED
End
DamageNugget
Damage = STRUCTURE_BOW_DAMAGE
Radius = 0.0
DelayTime = 0
DamageType = STRUCTURAL ; Moving all structure-based weapons over to Structural Damage for balance reasons - GB
DamageFXType = SWORD_SLASH ; Not GOOD_ARROW_PIERCE as this creates arrows in the victim :)
DeathType = EXPLODED
End
End
;,;
;----------------------------------------------------------------------------------------------------------------------------------------
Weapon DwarvenAxeThrowBombardWarhead
......@@ -2494,7 +2525,14 @@ Weapon LorienMallornTreeBow ; BALANCE Lorien Archer weapon
ProjectileNugget ; Default arrow
ProjectileTemplateName = GoodFactionArrow
WarheadTemplateName = MallornTreeBowWarhead ;,; StructureBowWarhead
ForbiddenUpgradeNames = Upgrade_GoodFortressFlamingMunitions ;,;
End
ProjectileNugget ; Upgraded arrow ;,;
ProjectileTemplateName = MirkwoodArcherSilverthornProjectile
WarheadTemplateName = StructureMallornTreeBowWarheadSilverthorn
RequiredUpgradeNames = Upgrade_GoodFortressFlamingMunitions
End
End
;------------------------------------------------------------------------------
......@@ -4126,6 +4164,41 @@ Weapon StructureBowMen ; BALANCE Archer Weapon
End
End
;------------------------------------------------------------------------------ ;,;
Weapon StructureFarmBowMen ; BALANCE Archer Weapon
AttackRange = GONDOR_STRUCTURE_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:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MIN Max:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MAX
PreAttackDelay = GONDOR_STRUCTURE_ARCHER_BOW_PREATTACKDELAY ; 1467 is the prep time for archer.
PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
FiringDuration = GONDOR_STRUCTURE_ARCHER_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 = StructureBowWarhead
ForbiddenUpgradeNames = Upgrade_GoodFortressFlamingMunitions
End
ProjectileNugget ; Upgraded arrow
ProjectileTemplateName = GoodFactionFireArrow
WarheadTemplateName = StructureFarmBowWarheadFire
RequiredUpgradeNames = Upgrade_GoodFortressFlamingMunitions
End
End
;------------------------------------------------------------------------------ ;,;
Weapon StructureBowElves ; BALANCE Archer Weapon
AttackRange = GONDOR_STRUCTURE_ARCHER_RANGE
......@@ -4161,6 +4234,41 @@ Weapon StructureBowElves ; BALANCE Archer Weapon
End
End
;------------------------------------------------------------------------------ ;,;
Weapon StructureMallornTreeBowElves ; BALANCE Archer Weapon
AttackRange = GONDOR_STRUCTURE_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:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MIN Max:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MAX
PreAttackDelay = GONDOR_STRUCTURE_ARCHER_BOW_PREATTACKDELAY ; 1467 is the prep time for archer.
PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
FiringDuration = GONDOR_STRUCTURE_ARCHER_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 = StructureBowWarhead
ForbiddenUpgradeNames = Upgrade_GoodFortressFlamingMunitions
End
ProjectileNugget ; Upgraded arrow
ProjectileTemplateName = MirkwoodArcherSilverthornProjectile
WarheadTemplateName = StructureMallornTreeBowWarheadSilverthorn
RequiredUpgradeNames = Upgrade_GoodFortressFlamingMunitions
End
End
;------------------------------------------------------------------------------ ;,;
Weapon StructureAxeWeaponDwarves ; BALANCE Axe Weapon
AttackRange = KEEP_ARCHER_RANGE
......@@ -4197,6 +4305,42 @@ Weapon StructureAxeWeaponDwarves ; BALANCE Axe Weapon
End
End
;------------------------------------------------------------------------------ ;,;
Weapon StructureMineshaftAxeWeaponDwarves ; BALANCE Axe Weapon
AttackRange = KEEP_ARCHER_RANGE
WeaponSpeed = 50 ; dist/sec
MinWeaponSpeed = 241
MaxWeaponSpeed = 481 ; dist/sec Upper limit on scaling, when attacking past nominal "max" range
FireFX = FX_DwarfAxeThrowerWeapon
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 axe
ProjectileTemplateName = StructureDwarvenAxe
WarheadTemplateName = StructureDwarvenAxeWarhead
ForbiddenUpgradeNames = Upgrade_GoodFortressFlamingMunitions
End
ProjectileNugget ; Upgraded axe
ProjectileTemplateName = StructureUpgradedDwarvenAxe
WarheadTemplateName = StructureMineShaftDwarvenAxeForgedBladeWarhead
RequiredUpgradeNames = Upgrade_GoodFortressFlamingMunitions
End
End
;------------------------------------------------------------------------------ ;,;
Weapon StructureBowAngmar ; BALANCE Archer Weapon
AttackRange = GONDOR_STRUCTURE_ARCHER_RANGE
......@@ -4227,7 +4371,43 @@ Weapon StructureBowAngmar ; BALANCE Archer Weapon
ProjectileNugget ; Upgraded arrow
ProjectileTemplateName = EvilFactionIceArrow
WarheadTemplateName = StructureBowWarheadFire
WarheadTemplateName = StructureBowWarheadIce
RequiredUpgradeNames = Upgrade_AngmarFortressIceMunitions
End
End
;------------------------------------------------------------------------------ ;,;
Weapon StructureMillBowAngmar ; BALANCE Archer Weapon
AttackRange = GONDOR_STRUCTURE_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:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MIN Max:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MAX
PreAttackDelay = GONDOR_STRUCTURE_ARCHER_BOW_PREATTACKDELAY ; 1467 is the prep time for archer.
PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
FiringDuration = GONDOR_STRUCTURE_ARCHER_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 = EvilFactionArrow
WarheadTemplateName = StructureBowWarhead
ForbiddenUpgradeNames = Upgrade_AngmarFortressIceMunitions
End
ProjectileNugget ; Upgraded arrow
ProjectileTemplateName = EvilFactionIceArrow
WarheadTemplateName = StructureMillBowWarheadIce
RequiredUpgradeNames = Upgrade_AngmarFortressIceMunitions
End
......@@ -4268,6 +4448,43 @@ Weapon StructureBowIsengard ; BALANCE Archer Weapon
End
End
;------------------------------------------------------------------------------ ;,;
Weapon StructureRBBowEvil ; BALANCE Archer Weapon
AttackRange = GONDOR_STRUCTURE_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:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MIN Max:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MAX
PreAttackDelay = GONDOR_STRUCTURE_ARCHER_BOW_PREATTACKDELAY ; 1467 is the prep time for archer.
PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
FiringDuration = GONDOR_STRUCTURE_ARCHER_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 = EvilFactionArrow
WarheadTemplateName = StructureBowWarhead
ForbiddenUpgradeNames = Upgrade_EvilFortressFlamingMunitions
End
ProjectileNugget ; Upgraded arrow
ProjectileTemplateName = EvilFactionFireArrow
WarheadTemplateName = EvilRBStructureBowUpgradedWarhead
RequiredUpgradeNames = Upgrade_EvilFortressFlamingMunitions
End
End
;------------------------------------------------------------------------------ ;,;
......@@ -4642,6 +4859,33 @@ Weapon StructureBowWarheadFire
End
;---------------------------- ;,;
Weapon StructureFarmBowWarheadFire
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 = STRUCTURE_BOW_DAMAGE
Radius = 0.0 ; HitStoredTarget means we hurt the person we launched at. And nobody else. So a miss hurts nobody.
DelayTime = 0
DamageType = STRUCTURAL ; Moving all structure-based weapons over to Structural Damage for balance reasons - GB
DamageFXType = FLAME ;;,;; GOOD_ARROW_PIERCE
DeathType = BURNED ;;,;; NORMAL
DamageScalar = 0% NONE +EntMoot +ElvenEntMoot
End
DamageNugget
Damage = RB_BOW_UPGRADED_DAMAGE
Radius = 0.0 // HitStoredTarget means we hurt the person we launched at. And nobody else. So a miss hurts nobody.
DelayTime = 0
DamageType = FLAME
DamageFXType = FLAME
DeathType = BURNED
End
End
;---------------------------- ;,;
Weapon StructureBowWarheadSilverthorn
ProjectileCollidesWith = ENEMIES NEUTRAL STRUCTURES WALLS
......@@ -4679,6 +4923,43 @@ Weapon StructureBowWarheadSilverthorn
End
;---------------------------- ;,;
Weapon StructureMallornTreeBowWarheadSilverthorn
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 = MALLORN_TREE_BOW_DAMAGE
Radius = 0.0 ; HitStoredTarget means we hurt the person we launched at. And nobody else. So a miss hurts nobody.
DelayTime = 0
DamageType = STRUCTURAL ; Moving all structure-based weapons over to Structural Damage for balance reasons - GB
DamageFXType = MAGIC
DeathType = EXPLODED
End
DamageNugget
Damage = RB_BOW_UPGRADED_DAMAGE
Radius = 0.0 // HitStoredTarget means we hurt the person we launched at. And nobody else. So a miss hurts nobody.
DelayTime = 0
DamageType = MAGIC
DamageFXType = MAGIC
DeathType = EXPLODED
End
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
;----------------------------
Weapon StructureBowWarheadIce ;;,;;
ProjectileCollidesWith = ENEMIES NEUTRAL STRUCTURES WALLS
......@@ -4705,6 +4986,33 @@ Weapon StructureBowWarheadIce ;;,;;
End
End
;---------------------------- ;,;
Weapon StructureMillBowWarheadIce
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 = STRUCTURE_BOW_DAMAGE
Radius = 0.0 ; HitStoredTarget means we hurt the person we launched at. And nobody else. So a miss hurts nobody.
DelayTime = 0
DamageType = STRUCTURAL ; Moving all structure-based weapons over to Structural Damage for balance reasons - GB
DamageFXType = FLAME ; intentional
DeathType = NORMAL