CODE
;Mirkwood Archers
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Object ElvenMirkwoodArcher
CommandPoints = 100
WeaponSet
Conditions = None
Weapon = PRIMARY SuperBow
Weapon = TERTIARY SuperBowBombard
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT ; Not AI.
End
End
Object ElvenMirkwoodArcherHorde
CommandPoints = 1000
WeaponSet
Conditions = None
Weapon = PRIMARY SuperMissileHordeRangefinder
Weapon = TERTIARY SuperMissileHordeRangefinderBombard
AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT ; Not AI.
End
End
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;WEAPONS
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Weapon SuperBow
AttackRange = 400
RangeBonusMinHeight = 10
RangeBonus = 1
RangeBonusPerFoot = 1 ; ;#MULTIPLY( ELVEN_MIRKWOOD_ARCHER_RANGE .01 )
WeaponSpeed = 350 ; dist/sec
MinWeaponSpeed = 250
MaxWeaponSpeed = 490 ; 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.
AcceptableAimDelta = 20 ; prevent twitchy reaiming in horde on horde
DelayBetweenShots = 0
PreAttackDelay = 450
PreAttackRandomAmount = 200
PreAttackType = PER_POSITION
FiringDuration = 0
ClipSize = 1
AutoReloadsClip = Yes
AutoReloadWhenIdle = 1
ClipReloadTime = Min:ELVEN_MIRKWOOD_ARCHER_BOW_RELOADTIME_MIN Max:ELVEN_MIRKWOOD_ARCHER_BOW_RELOADTIME_MAX
ContinuousFireOne = 0
ContinuousFireCoast = ELVEN_MIRKWOOD_ARCHER_BOW_RELOADTIME_MAX
AntiAirborneVehicle = Yes
AntiAirborneMonster = Yes
HitPassengerPercentage = 20%
CanBeDodged = Yes ; Will check for a DodgePercent on the target to have a second chance at failing HitPercent
ProjectileNugget ; Default arrow
ProjectileTemplateName = GoodFactionArrow
WarheadTemplateName = SuperBowWarhead
ForbiddenUpgradeNames = Upgrade_RohanFireArrows
End
ProjectileNugget ; Fire arrow avialble through fire upgrade
ProjectileTemplateName = GoodFactionFireArrow
WarheadTemplateName = RohanArcherBowFireWarhead
RequiredUpgradeNames = Upgrade_RohanFireArrows
End
End
Weapon SuperBowBombard
AttackRange = 300
MinimumAttackRange = #SUBTRACT( ELVEN_MIRKWOOD_ARCHER_BOMBARD_MINRANGE 75 )
RangeBonusMinHeight = 10
RangeBonus = 1
RangeBonusPerFoot = 1 ; ;#MULTIPLY( ELVEN_MIRKWOOD_ARCHER_BOMBARD_MAXRANGE .01 )
WeaponSpeed = 350 ; dist/sec
MinWeaponSpeed = 250
MaxWeaponSpeed = 490 ; 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 = 0 ;Always scatter
ScatterRadius = ARCHER_BOMBARD_SCATTER_RADIUS ;When this weapon misses it can randomly miss by as much as this distance.
AcceptableAimDelta = 20 ; prevent twitchy reaiming in horde on horde
DelayBetweenShots = 0
PreAttackDelay = 450
PreAttackRandomAmount = 200
PreAttackType = PER_POSITION
FiringDuration = 0
ClipSize = 1
AutoReloadsClip = Yes
AutoReloadWhenIdle = 1
ClipReloadTime = Min:ELVEN_MIRKWOOD_ARCHER_BOW_RELOADTIME_MIN Max:ELVEN_MIRKWOOD_ARCHER_BOW_RELOADTIME_MAX
ContinuousFireOne = 0
ContinuousFireCoast = ELVEN_MIRKWOOD_ARCHER_BOW_RELOADTIME_MAX
AntiAirborneVehicle = Yes
AntiAirborneMonster = Yes
HitPassengerPercentage = 20%
CanBeDodged = Yes ; Will check for a DodgePercent on the target to have a second chance at failing HitPercent
NoVictimNeeded = Yes
BombardType = Yes
ProjectileNugget ; Default arrow
ProjectileTemplateName = GoodFactionArrowBombard
WarheadTemplateName = SuperBowBombardWarhead
ForbiddenUpgradeNames = Upgrade_RohanFireArrows
End
ProjectileNugget ; Fire arrow avialble through fire upgrade
ProjectileTemplateName = GoodFactionFireArrowBombard
WarheadTemplateName = RohanArcherBowBombardFireWarhead
RequiredUpgradeNames = Upgrade_RohanFireArrows
End
End
Weapon SuperBowWarhead
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 = 450
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 = NORMAL
End
End
Weapon SuperBowBombardWarhead
ProjectileCollidesWith = ENEMIES NEUTRAL STRUCTURES WALLS
RadiusDamageAffects = ENEMIES NEUTRALS NOT_SIMILAR ;ALLIES
HitStoredTarget = No
DamageNugget ; A basic Nugget that just does damage
Damage = 450
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 = NORMAL
End
End
Weapon SuperMissileHordeRangefinder
AttackRange = 400
RangeBonusMinHeight = 10
RangeBonus = 1
RangeBonusPerFoot = 1 ; ;#MULTIPLY( ELVEN_MIRKWOOD_ARCHER_RANGE .01 )
DelayBetweenShots = 1000
LeechRangeWeapon = Yes
AcceptableAimDelta = 45
AntiAirborneVehicle = Yes
AntiAirborneMonster = Yes
CanFireWhileMoving = Yes ; When aboard a ship.
FinishAttackOnceStarted = No
HordeAttackNugget
End
End
Weapon SuperMissileHordeRangefinderBombard
AttackRange = 300
MinimumAttackRange = ELVEN_MIRKWOOD_ARCHER_BOMBARD_MINRANGE
RangeBonusMinHeight = 10
RangeBonus = 1
RangeBonusPerFoot = 1 ; ;#MULTIPLY( ELVEN_MIRKWOOD_ARCHER_BOMBARD_MAXRANGE .01 )
DelayBetweenShots = 1000
LeechRangeWeapon = Yes
AcceptableAimDelta = 45
AntiAirborneVehicle = Yes
AntiAirborneMonster = Yes
CanFireWhileMoving = Yes ; When aboard a ship.
FinishAttackOnceStarted = No
NoVictimNeeded = Yes
BombardType = Yes
ScatterRadius = ARCHER_BOMBARD_SCATTER_RADIUS ; Only used for cursor radius
HordeAttackNugget
End
End