Modderecke > Coding
Marci_99's Fragenthread
Marci_99:
Hmmm sollte es aber
--- Code: ---CommandSet NoldorSoldatCommandSetMod
1 = Command_ToggleStance
2 = Command_ToggleElvenWarriorWeapon
3 = Command_SpecialAbilityNoldorWeaponSong
4 = Command_UpgradeNoldorPfeilUpgradeUnit
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
--- Ende Code ---
Radagast der Musikalische:
Du hast der Einheit bzw. der Horde auch das entsprechende CommandSet gegeben?
Marci_99:
Ja, habe ich
[code]
Object NoldorSoldaten
; ***ART Parameters ***
SelectPortrait = UPNoldorWarriorPortrait
ButtonImage = BEElvenBarracks_LorienWa rrior
Draw = W3DHordeModelDraw ModuleTag_01
OkToChangeModelColor = Yes
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
LodOptions = LOW
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_LO W
MaxRandomTextures = MAX_RANDOM_TEXTURES_LOW
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_LO W
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_LOW
End
LodOptions = MEDIUM
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_ME D
MaxRandomTextures = MAX_RANDOM_TEXTURES_MED
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_ME D
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_MED
End
LodOptions = HIGH
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_HI GH
MaxRandomTextures = MAX_RANDOM_TEXTURES_HIGH
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_HI GH
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_HIG H
End
;;====================== MODELS ================================================================
DefaultModelConditionSta te
Model = nulaelf_skn
Skeleton = RUElfWar_SKL
WeaponLaunchBone = PRIMARY ARROW
WeaponLaunchBone = SECONDARY ARROWNOCK ; when upgraded to flaming arrow
End
; --------- With Sword ------------
ModelConditionState = WEAPONSET_TOGGLE_1
Model = nulaelf_skn
Skeleton = RUElfWar_SKL
End
; --------- With Fire arrows Upgrade ------------
ModelConditionState = WEAPONSET_PLAYER_UPGRADE USER_4
Model = nulaelf_skn
Skeleton = RUElfWar_SKL
WeaponLaunchBone = PRIMARY ARROW
WeaponLaunchBone = SECONDARY ARROWNOCK ; when upgraded to flaming arrow
; ParticleSysBone = FireArowTip arrowFire FollowBone:Yes
; ParticleSysBone = FireArowTip arrowFire FollowBone:Yes
End
;;================== ANIMATIONS =================================================================
; ------ Flying ------- ;
AnimationState = STUNNED_STANDING_UP WEAPONSET_TOGGLE_1
StateName = STATE_GetUp
Animation = Sword
AnimationName = RUElfWar_GTPSX1
AnimationMode = ONCE
End
Animation = WantSword
AnimationName = RUElfWar_GTPB
AnimationMode = ONCE
End
Flags = MAINTAIN_FRAME_ACROSS_ST ATES4
BeginScript
PrevState = CurDrawablePrevAnimation State()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "STATE_GetUp" or PrevState == "STATE_Land"
then
if PrevAnim == "Bow" or PrevAnim == "WantSword"
then
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "WantSword"
end
end
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
return "Sword"
EndScript
End
AnimationState = STUNNED_STANDING_UP
StateName = STATE_GetUp
Animation = Bow
AnimationName = RUElfWar_GTPB
AnimationMode = ONCE
End
Animation = WantBow
AnimationName = RUElfWar_GTPSX1
AnimationMode = ONCE
End
Flags = MAINTAIN_FRAME_ACROSS_ST ATES4
BeginScript
PrevState = CurDrawablePrevAnimation State()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "STATE_GetUp" or PrevState == "STATE_Land"
then
if PrevAnim == "WantBow" or PrevAnim == "Sword"
then
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
return "WantBow"
end
else
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "Bow"
end
EndScript
End
AnimationState = STUNNED WEAPONSET_TOGGLE_1
StateName = STATE_Land
Animation = Sword
AnimationName = RUElfWar_LNDB
AnimationMode = ONCE
End
Animation = WantSword
AnimationName = RUElfWar_LNDA
AnimationMode = ONCE
End
BeginScript
PrevState = CurDrawablePrevAnimation State()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "STATE_Fly"
then
if PrevAnim == "WantSword" or PrevAnim == "Bow"
then
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "WantSword"
end
end
Flags = MAINTAIN_FRAME_ACROSS_ST ATES3
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
return "Sword"
EndScript
End
AnimationState = STUNNED
StateName = STATE_Land
Animation = Bow
AnimationName = RUElfWar_LNDA
AnimationMode = ONCE
End
Animation = WantBow
AnimationName = RUElfWar_LNDB
AnimationMode = ONCE
End
Flags = MAINTAIN_FRAME_ACROSS_ST ATES3
BeginScript
PrevState = CurDrawablePrevAnimation State()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "STATE_Fly"
then
if PrevAnim == "WantBow" or PrevAnim == "Sword"
then
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
return "WantBow"
end
end
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "Bow"
EndScript
End
AnimationState = STUNNED_FLAILING WEAPONSET_TOGGLE_1
StateName = STATE_Fly
Animation = Sword
AnimationName = RUElfWar_FLYB
AnimationMode = LOOP
End
Animation = WantSword
AnimationName = RUElfWar_FLYA
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_ST ATES2
BeginScript
PrevState = CurDrawablePrevAnimation State()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "Ready_Bow" or PrevState == "Moving_Bow" or PrevState == "Bored_Bow" ;;;;;;#TODO put in various bow states here
then
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "WantSword"
elseif PrevState == "STATE_Fly"
then
if PrevAnim == "Bow" or PrevAnim == "WantSword"
then
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "WantSword"
end
end
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
return "Sword"
EndScript
End
AnimationState = STUNNED_FLAILING
StateName = STATE_Fly
Animation = Bow
AnimationName = RUElfWar_FLYA
AnimationMode = LOOP
End
Animation = WantBow
AnimationName = RUElfWar_FLYB
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_ST ATES2
BeginScript
PrevState = CurDrawablePrevAnimation State()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "Ready_Sword" or PrevState == "Moving_Sword" or PrevState == "Bored_Sword" ;;;;;;#TODO put in various sword states here
then
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
return "WantBow"
elseif PrevState == "STATE_Fly"
then
if PrevAnim == "Sword" or PrevAnim == "WantBow"
then
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
return "WantBow"
end
end
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "Bow"
EndScript
End
; ------ Dying ------- ;
AnimationState = DYING WEAPONSET_TOGGLE_1
Animation = Sword1
AnimationName = RUElfWar_DIESv5
AnimationMode = ONCE
End
Animation = Sword2
AnimationName = RUElfWar_DIESV4
AnimationMode = ONCE
End
Animation = WantSword
AnimationName = RUElfWar_LNDA
AnimationMode = ONCE
End
BeginScript
PrevState = CurDrawablePrevAnimation State()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "STATE_Fly"
then
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "WantSword"
end
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
if GetClientRandomNumberRea l(0,2) < 1
then
return "Sword1"
else
return "Sword2"
end
EndScript
End
AnimationState = DYING
Animation = Bow1
AnimationName = RUElfWar_DIEB
AnimationMode = ONCE
End
Animation = Bow2
AnimationName = RUElfWar_DIEBV5
AnimationMode = ONCE
End
Animation = WantBow
AnimationName = RUElfWar_LNDB
AnimationMode = ONCE
End
BeginScript
PrevState = CurDrawablePrevAnimation State()
PrevAnim = CurDrawablePrevAnimation()
if PrevState == "STATE_Fly"
then
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
return "WantBow"
end
if GetClientRandomNumberRea l(0,2) < 1
then
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "Bow1"
else
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
return "Bow2"
end
EndScript
End
;;======== TERROR
AnimationState = MOVING EMOTION_TERROR WEAPONSET_TOGGLE_1
StateName = Moving_Sword
Animation = Terror
AnimationName = RUElfWar_RUNN
AnimationMode = LOOP
Distance = 40
End
Animation = finishrun_b
AnimationName = RUElfWar_RUNB
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 40
End
Animation = runtrans_bs
AnimationName = RUElfWar_RUNC
AnimationMode = ONCE
AnimationBlendTime = 5
Distance = 70
End
Animation = runtrans_sb_finish
AnimationName = RUElfWar_RUNT
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 70
End
Animation = runnoblend_s
AnimationName = RUElfWar_RUNN
AnimationMode = LOOP
AnimationBlendTime = 0
Distance = 40
End
Flags = RESTART_ANIM_WHEN_COMPLE TE MAINTAIN_FRAME_ACROSS_ST ATES
BeginScript
PrevAnim = CurDrawablePrevAnimation()
PrevState = CurDrawablePrevAnimation State()
CurDrawableHideSubObject("ARROW")
CurDrawableHideSubObject("ARROWNOCK")
if PrevState == "Moving_Bow"
then
if PrevAnim == "runtrans_sb"
then
return "runtrans_sb_finish"
elseif PrevAnim == "finishrun_s"
then
return "runnoblend_s"
else
return "finishrun_b"
end
elseif PrevAnim == "finishrun_b" or PrevAnim == "runtrans_sb_finish"
then
return "runtrans_bs"
elseif PrevAnim == "runtrans_bs" or PrevAnim == "run_s" or PrevAnim == "runnoblend_s"
then
return "runnoblend_s"
else
return "Terror"
end
EndScript
End
AnimationState = MOVING EMOTION_TERROR
StateName = Moving_Bow
Animation = RunAway_3
AnimationName = RUElfWar_RUNOT3
AnimationMode = ONCE
Distance = 40
End
Animation = RunAway_2
AnimationName = RUElfWar_RUNOT4
AnimationMode = ONCE
Distance = 40
End
Animation = RunAway
AnimationName = RUElfWar_RUNB
AnimationMode = ONCE
Distance = 40
End
Animation = finishrun_s
AnimationName = RUElfWar_RUNN
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 40
End
Animation = runtrans_sb
AnimationName = RUElfWar_RUNT
AnimationMode = ONCE
AnimationBlendTime = 5
Distance = 70
End
Animation = runtrans_bs_finish
AnimationName = RUElfWar_RUNC
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 70
End
Animation = RunAway_noblend
AnimationName = RUElfWar_RUNB
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 40
End
Flags = RESTART_ANIM_WHEN_COMPLE TE MAINTAIN_FRAME_ACROSS_ST ATES
BeginScript
PrevAnim = CurDrawablePrevAnimation()
PrevState = CurDrawablePrevAnimation State()
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
if PrevState == "Moving_Sword"
then
if PrevAnim == "runtrans_bs"
then
return "runtrans_bs_finish"
elseif PrevAnim == "finishrun_b"
then
return "RunAway_noblend"
else
return "finishrun_s"
end
elseif PrevAnim == "finishrun_s" or PrevAnim == "runtrans_bs_finish"
then
return "runtrans_sb"
elseif PrevAnim == "runtrans_sb" or PrevAnim == "run_b" or PrevAnim == "runnoblend_b"
then
return "RunAway_noblend"
else
Num = GetClientRandomNumberRea l(0,7)
if Num < 1
then
return "RunAway_2"
elseif Num > 6
then
return "RunAway_3"
else
return "RunAway"
end
end
EndScript
End
; ------ Attacking ------- ;
AnimationState = FIRING_OR_PREATTACK_A WEAPONSET_TOGGLE_1
StateName = Ready_Sword
Animation = AttackWithSwordA
AnimationName = RUElfWar_ATKSV2
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation = AttackWithSwordB
AnimationName = RUElfWar_ATKS
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation = AttackWithSwordD
AnimationName = RUElfWar_ATKSV4
AnimationMode = ONCE
UseWeaponTiming = Yes
End
BeginScript
CurDrawableHideSubObject("ArrowNock")
CurDrawableHideSubObject("arrow")
EndScript
End
;;---------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
AnimationState = PREATTACK_A
Animation = ReadyToDrawn
AnimationName = RUElfWar_ATKA1
AnimationMode = ONCE
AnimationBlendTime = 20 ; Must be 0 blend time otherwise the arrow will linger for the duration of the blend!
End
BeginScript
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("ArrowNock")
EndScript
End
AnimationState = FIRING_OR_RELOADING_A
StateName = STATE_Firing
Animation = OneFrameOfShooting
AnimationName = RUElfWar_ATKA2
AnimationMode = ONCE
AnimationBlendTime = 0
AnimationSpeedFactorRang e = 1.5 1.5
End
Flags = START_FRAME_FIRST
BeginScript
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("ArrowNock")
EndScript
End
;;--------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
AnimationState = PREATTACK_C WEAPONSET_TOGGLE_1
Animation = ReadyToDrawn
AnimationName = RUElfWar_ATKA1
AnimationMode = ONCE
AnimationBlendTime = 20 ; Must be 0 blend time otherwise the arrow will linger for the duration of the blend!
End
BeginScript
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("ArrowNock")
EndScript
End
AnimationState = FIRING_OR_RELOADING_C WEAPONSET_TOGGLE_1
StateName = STATE_Firing
Animation = OneFrameOfShooting
AnimationName = RUElfWar_ATKA2
AnimationMode = ONCE
AnimationBlendTime = 0
AnimationSpeedFactorRang e = 1.5 1.5
End
Flags = START_FRAME_FIRST
BeginScript
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("ArrowNock")
EndScript
End
;;------------------------- BACKUP --------------------------------------------------------------------
AnimationState = MOVING BACKING_UP WEAPONSET_TOGGLE_1
StateName = STATE_BackingUp
Animation = Sword
AnimationName = RUElfWar_BAKS
AnimationMode = LOOP
End
Animation = WantSword
AnimationName = RUElfWar_BAKB
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_ST ATES4
BeginScript
CurDrawableHideSubObject("ARROW")
CurDrawableHideSubObject("ARROWNOCK")
PrevAnim = CurDrawablePrevAnimation()
PrevState = CurDrawablePrevAnimation State()
if PrevState == "STATE_BackingUp"
then
if PrevAnim == "Bow" or PrevAnim == "WantSword"
then
return "WantSword"
end
end
return "Sword"
EndScript
End
AnimationState = MOVING BACKING_UP
StateName = STATE_BackingUp
Animation = Bow
AnimationName = RUElfWar_BAKB
AnimationMode = LOOP
End
Animation = WantBow
AnimationName = RUElfWar_BAKS
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_ST ATES4
BeginScript
CurDrawableShowSubObject("arrow")
CurDrawableShowSubObject("arrownock")
PrevAnim = CurDrawablePrevAnimation()
PrevState = CurDrawablePrevAnimation State()
if PrevState == "STATE_BackingUp"
then
if PrevAnim == "WantBow" or PrevAnim == "Sword"
then
return "WantBow"
end
end
return "Bow"
EndScript
End
; ------------ Moving ------------- ;
AnimationState = MOVING WEAPONSET_TOGGLE_1
StateName = Moving_Sword
SimilarRestart = Yes
Animation = run_s
AnimationName = RUElfWar_RUNS
AnimationMode = LOOP
Distance = 40
End
Animation = finishrun_b
AnimationName = RUElfWar_RUNB
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 40
End
Animation = runtrans_bs
AnimationName = RUElfWar_RUNC
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 70
End
Animation = runtrans_sb_finish
AnimationName = RUElfWar_RUNT
AnimationMode = ONCE
AnimationBlendTime = 0
Distance = 70
End
Animation = runnoblend_s
AnimationName = RUElfWar_RUNS
AnimationMode = LOOP
AnimationBlendTime = 0
Distance = 40
End
Flags = MAINTAIN_FRAME_ACROSS_ST ATES RESTART_ANIM_WHEN_COMPLE TE
BeginScript
PrevAnim = CurDrawablePrevAnimation()
PrevState = CurDrawablePrevAnimation State()
CurDrawableHideSubObject("ARROW")
CurDrawableHideSubObject("ARROWNOCK")
if PrevState == "Moving_Bow"
then
if PrevAnim == "runtrans_sb"
then
return "runtrans_sb_finish"
elseif PrevAnim == "finishrun_s"
then
return "runnoblend_s"
else
return "finishrun_b"
end
elseif PrevAnim == "finishrun_b" or PrevAnim == "runtrans_sb_finish" or PrevAnim == "WantSword"
then
return "runtrans_bs"
elseif PrevAnim == "runtrans_bs" or PrevAnim == "run_s" or PrevAnim == "runnoblend_s"
then
return "runnoblend_s"
else
return "run_s"
end
EndScript
End
AnimationState = MOVING
StateName = Moving_Bow
SimilarRestart = Yes
Animation = run_b
AnimationName = RUElfWar_RUNB
AnimationMode = LOOP
Distance = 40
&am
Turin Turumbar:
Ich hab die Codeboxen mal eingefügt, trotzdem lief da was beim kopieren schief und es wird nicht die gesamte Ini gezeigt. Vom Horde Code sehe ich auch nichts.
Marci_99:
Nun habe ich das Problem
"Diese Einheit kann dieses Upgrade nicht benutzen"
Hier meine Upgrade.ini einträge:
--- Code: ---Upgrade Upgrade_TechnologyNoldorArrow
DisplayName = UPGRADE:NoldorArrowUpgrade
Type = PLAYER
BuildCost = ANGMAR_TECH_ICE_ARROWS_BUILDCOST
BuildTime = ANGMAR_TECH_ICE_ARROWS_BUILDTIME
SkirmishAIHeuristic = AI_UPGRADEHEURISTIC_IMPORTANT
ResearchCompleteEvaEvent = UpgradeFlameArrowsReady
End
Upgrade Upgrade_NoldorArrowUnit
DisplayName = UPGRADE:NoldorArrowUpgrade
Tooltip = TOOLTIP:NoldorArrowUpgradeUnit
Type = OBJECT
BuildCost = 400 ;GONDOR_PERSONAL_FIRE_ARROWS_BUILDCOST
BuildTime = GONDOR_PERSONAL_FIRE_ARROWS_BUILDTIME
ResearchSound = UpgradeSilverThornArrows
RequiredObjectFilter = NONE +EregionForge
StrategicIcon = AptStrategicUnitUpgradeArrow
End
--- Ende Code ---
Command Button:
--- Code: ---CommandButton Command_UpgradeNoldorPfeilUpgradeSchmiede
Command = PLAYER_UPGRADE
Options = OK_FOR_MULTI_SELECT CANCELABLE
Upgrade = Upgrade_TechnologyNoldorArrow
TextLabel = UPGRADE:NoldorArrowUpgrade
ButtonImage = KUTIceArrowUpgradeIcon
ButtonBorderType = UPGRADE
DescriptLabel = CONTROLBAR:ToolTipPurchaseUpgradeRingVilya
Radial = Yes
;InPalantir = Yes
End
CommandButton Command_UpgradeNoldorPfeilUpgradeUnit
Command = OBJECT_UPGRADE
Options = NEED_UPGRADE OK_FOR_MULTI_SELECT CANCELABLE
Upgrade = Upgrade_NoldorArrowUnit
NeededUpgrade = Upgrade_TechnologyNoldorArrow
TextLabel = UPGRADE:NoldorArrowUpgrade
ButtonImage = KUTIceArrowUpgradeIcon
ButtonBorderType = UPGRADE
DescriptLabel = TOOLTIP:NoldorArrowUpgradeUnit
InPalantir = Yes
LacksPrerequisiteLabel = TOOLTIP:NoldorArrowUpgradeUnit
End
--- Ende Code ---
Weapon.ini
--- Code: ---Weapon NoldorStandartBow ; BALANCE Lorien Archer weapon
AttackRange = 380
RangeBonusMinHeight = EDAIN_ARCHER_RANGEBONUS_MINHEIGHT
RangeBonus = EDAIN_ARCHER_RANGEBONUS
RangeBonusPerFoot = EDAIN_ARCHER_RANGEBONUS_PERFOOT ;#MULTIPLY( 380 .003 )
WeaponSpeed = 450 ; dist/sec
MinWeaponSpeed = 321
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.
AcceptableAimDelta = 20 ; prevent twitchy reaiming in horde on horde
DelayBetweenShots = 0
PreAttackDelay = ROHAN_ELVENWARRIOR_BOW_PREATTACKDELAY
;PreAttackRandomAmount = 200
PreAttackType = PER_POSITION
FiringDuration = 0
OverrideVoiceAttackSound = ElvenWarriorVoiceAttackBow
OverrideVoiceEnterStateAttackSound = ElvenWarriorVoiceEnterStateAttackBow
;OverrideVoiceAttackAirSound = ElvenWarriorVoiceAttackBow
;OverrideVoiceAttackStructureSound = ElvenWarriorVoiceAttackBow
;OverrideVoiceAttackMachineSound = ElvenWarriorVoiceAttackBow
ClipSize = 1
AutoReloadsClip = Yes
AutoReloadWhenIdle = 1
ClipReloadTime = Min:LEGOLAS_RELOADTIME_MIN Max:LEGOLAS_RELOADTIME_MAX
ContinuousFireOne = 0
ContinuousFireCoast = LEGOLAS_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 = GaladhrimLorienBowWarhead
ForbiddenUpgradeNames = Upgrade_NoldorArrowUnit
End
ProjectileNugget ; Fire arrow available from fire arrow upgrade
ProjectileTemplateName = NoldorWhitedornProjectile
WarheadTemplateName = NoldorBowWhitedornWarhead
RequiredUpgradeNames = Upgrade_NoldorArrowUnit
End
End
--- Ende Code ---
Desweiteren wenn mein Gwaihir den Ring aufnimmt und etwas angreifen soll
etc. fliegt er immer höher aber kommt nicht zum angriff
Der Code:
--- Code: ---;-----------------------------------------------------------------------------
;
; Gwaihir.ini
;
;-----------------------------------------------------------------------------
Object NoldorGwaihir
ShockwaveResistance = SHOCKWAVE_RESISTANCE_ALWAYS
Scale = 1.3
; *** ART Parameters ***
SelectPortrait = HPGwahir
ButtonImage = HIGwahir
Draw = W3DScriptedModelDraw ModuleTag_01
OkToChangeModelColor = Yes
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
ExtraPublicBone = B_Passenger
DefaultModelConditionState
Model = GUGwaihir_SKN
Skeleton = GUGwaihir_SKL
End
IdleAnimationState
StateName = Idle
Animation = FlyB
AnimationName = GUGwaihir_HVRA
AnimationMode = LOOP
AnimationBlendTime = 10
End
End
AnimationState STUNNED SPECIAL_DAMAGED
StateName = STUNNED
Animation = HitB
AnimationName = GUGwaihir_HITB
AnimationMode = ONCE
AnimationBlendTime = 6
End
End
AnimationState STUNNED
Animation = HitB
AnimationName = GUGwaihir_HITA
AnimationMode = ONCE
AnimationBlendTime = 6
End
End
AnimationState = BACKING_UP
StateName = backup
Animation = FlyB
AnimationName = GUGwaihir_FLYB
AnimationMode = LOOP
AnimationBlendTime = 9
End
End
AnimationState = DIVING
StateName = Diving
Animation = DiveA
AnimationName = GUGwaihir_DIVA
AnimationMode = LOOP
AnimationBlendTime = 9
End
End
AnimationState = ABOUT_TO_HIT ; clawing
StateName = Claw
Animation = Claw
AnimationName = GUGwaihir_ATKB
AnimationMode = LOOP
AnimationBlendTime = 9
End
End
;--- HARD FLAPPING ------------------------
AnimationState = CLIMBING
StateName = Climbing
Animation = FlyB(climb)
AnimationName = GUGwaihir_FLYB
AnimationMode = LOOP
AnimationBlendTime = 9
AnimationSpeedFactorRange = 1.5 1.55
End
End
AnimationState = FREEFALL
StateName = Freefall
Animation = Freefall(ilde)
AnimationName = GUGwaihir_IDLA
AnimationMode = LOOP
AnimationBlendTime = 9
AnimationSpeedFactorRange = 0.7 0.75
End
End
AnimationState = MOVING
StateName = Moving
Animation = FLYA
AnimationName = GUGwaihir_FLYA
AnimationMode = LOOP
AnimationBlendTime = 12
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Idle" then CurDrawableSetTransitionAnimState("Trans_Begin_Moving") return end
EndScript
End
TransitionState = Trans_Begin_Moving
Animation = Transition
AnimationName = GUGwaihir_HVRC
AnimationMode = ONCE
AnimationBlendTime = 4
End
End
TransitionState = Trans_Dying
Animation = Transition
AnimationName = GUGwaihir_DIED
AnimationMode = ONCE
AnimationBlendTime = 9
End
End
AnimationState = DYING DEATH_1
StateName = DYING
Animation = DyingA
AnimationName = GUGwaihir_DIEE
AnimationMode = LOOP
AnimationBlendTime = 9
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Idle" then CurDrawableSetTransitionAnimState("Trans_Dying") return end
if Prev == "Moving" then CurDrawableSetTransitionAnimState("Trans_Dying") return end
EndScript
End
AnimationState = DYING DEATH_2
StateName = DYING
Animation = DyingA
AnimationName = GUGwaihir_HVRA
AnimationMode = LOOP
AnimationBlendTime = 9
End
End
End
; ***DESIGN parameters ***
Side = Noldor
EditorSorting = UNIT
ThreatLevel = GWAIHIR_THREAT_LEVEL
ThingClass = LARGE_MONSTER
TransportSlotCount = TRANSPORTSLOTCOUNT_MONSTER
WeaponSet
Conditions = None
Weapon = PRIMARY EagleGrabAttack
PreferredAgainst = PRIMARY INFANTRY THROWN_OBJECT CAVALRY
Weapon = SECONDARY EagleClawAttack
OnlyAgainst = SECONDARY MONSTER
Weapon = TERTIARY EaglePlowAttack
PreferredAgainst = TERTIARY STRUCTURE MACHINE HORDE
Weapon = QUATERNARY EagleClawWyrmAttack
PreferredAgainst = QUATERNARY CLEANUP_HAZARD ; Used as a user defined kindof, only the wyrm uses it.
End
ArmorSet
Conditions = None
Armor = EagleArmor
DamageFX = GwaihirDamageFX
End
VisionRange = VISION_FLIER
ShroudClearingRange = SHROUD_CLEAR_FLIER
BountyValue = GONDOR_GWAIHIR_BOUNTY_VALUE
DisplayName = OBJECT:NoldorGwaihir
;//DisplayMeleeDamage = EAGLE_PLOW_DAMAGE_INNER
CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
RamPower = 30;
RamZMult = 0.5;
BuildCost = 1800
BuildTime = 30
CommandSet = GwaihirCommandSet_Submod
CommandPoints = 40
; *** AUDIO Parameters ***;
VoiceAttack = EagleVoiceAttack
VoiceMove = EagleVoiceMove
VoicePriority = 60
VoiceSelect = EagleVoiceSelect
VoiceGuard = EagleVoiceMove
SoundAmbient = EagleAmbienceVoice
SoundImpact = ImpactHorse
;UnitSpecificSounds
;End
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_FLYA Frames: 2
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_FLYB Frames: 2
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_FLYC Frames: 2 63
;AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_FLYC Frames: 4 34
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_HVRA Frames: 4
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_HVRC Frames: 4
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_HITA Frames: 0
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_HITB Frames: 0
AnimationSound = Sound: EagleHurt Animation:GUGwaihir_SKL.GUGWAIHIR_HITA Frames: 1
AnimationSound = Sound: EagleHurt Animation:GUGwaihir_SKL.GUGWAIHIR_HITB Frames: 1
AnimationSound = Sound: EagleHurt Animation:GUGwaihir_SKL.GUGWAIHIR_DIED Frames: 1
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_ATKB Frames: 0
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_GRBB Frames: 0
AnimationSound = Sound: EagleAttack Animation:GUGwaihir_SKL.GUGWAIHIR_ATKB Frames: 1
AnimationSound = Sound: EagleAttack Animation:GUGwaihir_SKL.GUGWAIHIR_GRBB Frames: 1
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_DIED Frames: 0
AnimationSound = Sound: TrollBodyfall Animation:GUGwaihir_SKL.GUGWAIHIR_DIEF Frames: 2
AnimationSound = Sound: EagleWingFlaps Animation:GUGwaihir_SKL.GUGWAIHIR_DIEF Frames: 0
End
; Tie into LargeGroupAudio system
; No, we never do anything with this unit
;Behavior = LargeGroupAudioUpdate ModuleTag_LGAU
; Key = Eagle Unit Flyer
;End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD HERO SELECTABLE CAN_CAST_REFLECTIONS TRANSPORT SCORE NO_FREEWILL_ENTER MONSTER SCARY CANNOT_RETALIATE
Body = ActiveBody ModuleTag_02
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = 5000 ;BALANCE Gwaihir Health
; MaxHealthDamaged = 500
; RecoveryTime = 5000
HealingBuffFx = None
End
Behavior = AutoHealBehavior ModuleTag_GwaihirHealing
StartsActive = Yes
HealingAmount = HERO_HEAL_AMOUNT
HealingDelay = 1000
StartHealingDelay = 15000
HealOnlyIfNotInCombat = Yes
End
Behavior = GiantBirdAIUpdate ModuleTag_GiantBirdAI
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
AILuaEventsList = GwaihirFunctions
FollowThroughDistance = 160
FollowThroughCheckStep = 50
FollowThroughGradient = 1.0
GrabTossTimeTrigger = 3.0
GrabTossHeightTrigger = 80.0
TossFX = FX_DiebyFalling
SpecialContactPoints = Swoop
AttackPriority = AttackPriority_Eagle
End
Behavior = ModelConditionUpgrade ModuleTag_All_FactionUpgrade
TriggeredBy = Upgrade_AllFactionUpgrade
AddConditionFlags = USER_3
Permanent = Yes
End
LocomotorSet
Locomotor = FellBeastLocomotor ;BALANCE Gwaihir
Condition = SET_NORMAL
Speed = 108
End
LocomotorSet
Locomotor = FellBeastLocomotor ;BALANCE Gwaihir
Condition = SET_SUPERSONIC
Speed = 124
End
LocomotorSet
Locomotor = FellBeastLocomotor ; BALANCE Gwaihir
Condition = SET_WANDER
Speed = 88
End
Behavior = PhysicsBehavior ModuleTag_04
End
Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
End
Behavior = TransportContain TransportContainModuleTag
ObjectStatusOfContained = UNSELECTABLE UNATTACKABLE
PassengerFilter = ANY +INFANTRY +HULK +CAVALRY +GRAB_AND_DROP -HERO -PORTER
Slots = 1
ShowPips = No
CanGrabStructure = Yes
AllowEnemiesInside = Yes
AllowNeutralInside = Yes
AllowAlliesInside = No
DamagePercentToUnits = 100%
KillPassengersOnDeath = Yes
PassengerBonePrefix = PassengerBone:B_Passenger KindOf:GRAB_AND_DROP
GrabWeapon = FellbeastGrabWeapon ; fire this weapon when eagle grabs a victim
FireGrabWeaponOnVictim = No
ReleaseSnappyness = 0.05 ; 1.0 is very snappy, 0.0 is very loose
End
Behavior = SquishCollide ModuleTag_06
;nothing
End
Behavior = SlowDeathBehavior ModuleTag_SlowDeath
DeathTypes = ALL -FADED
DestructionDelay = 1000
ShadowWhenDead = No
FX = INITIAL FX_GwaihirDeath
Sound = INITIAL EagleVoiceDie
DeathFlags = DEATH_1
End
Behavior = SlowDeathBehavior ModuleTag_FadeDeath
DeathTypes = NONE +FADED
FadeDelay = 0
FadeTime = 2500
DestructionDelay = 2500
;Sound = INITIAL EagleVoiceDie
DeathFlags = DEATH_2
End
Behavior = DualWeaponBehavior ModuleTag_10
SwitchWeaponOnCloseRangeDistance = 24
End
Behavior = StancesBehavior ModuleTag_StancesBehavior
StanceTemplate = Hero
End
; -----------------------------------------------------------
; Fähigkeit der Ring Vilya
; -----------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_VilyaEnabler
SpecialPowerTemplate = SpecialAbilityVilya
TriggeredBy = Upgrade_Level_3
End
Behavior = SpecialPowerModule ModuleTag_ArrowWindStarter
SpecialPowerTemplate = SpecialAbilityVilya
UpdateModuleStartsAttack = No
StartsPaused = Yes
End
Behavior = ArrowStormUpdate ModuleTag_VilyaUpdate
SpecialPowerTemplate = SpecialAbilityVilya
StartAbilityRange = 320.0
UnpackTime = 1000 ;1000
PreparationTime = 800
PersistentPrepTime = 600
PackTime = 1200 ;1200
UnpackingVariation = 1
ParalyzeDurationWhenCompleted = 600
ParalyzeDurationWhenAborted = 800
ApproachRequiresLOS = Yes
AwardXPForTriggering = 0
;Specific to ArrowStorm
WeaponTemplate = GilGaladVilya
TargetRadius = 550
ShotsPerTarget = 4
ShotsPerBurst = 4
MaxShots = 4
CanShootEmptyGround = Yes
End
Behavior = HordeTransportContain ModuleTag_12
ObjectStatusOfContained = UNSELECTABLE UNATTACKABLE CAN_ATTACK
;PassengersTestCollisionHeight = 80
Slots = 4
EnterSound = GarrisonEnter
ExitSound = GarrisonExit
DamagePercentToUnits = 0%
PassengerFilter = NONE +MordorHaradrimArcherHordeOnMumakil
AllowOwnPlayerInsideOverride = Yes ; Normally, the Allies check encompasses OwnPlayer. but we reeeeally only want our own guys.
AllowAlliesInside = No
AllowEnemiesInside = No
AllowNeutralInside = No
ExitDelay = 0
NumberOfExitPaths = 2 ; Defaults to 1. Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
ForceOrientationContainer = No ; otherwise contained units can't orient themselves towards their targets...
PassengerBonePrefix = PassengerBone:DockAction KindOf:HERO
PassengerBonePrefix = PassengerBone:B_BANNER KindOf:BANNER
PassengerBonePrefix = PassengerBone:B_CARGO0 KindOf:INFANTRY
ShowPips = No
EjectPassengersOnDeath = Yes
FadeFilter = ALL
FadePassengerOnEnter = Yes
EnterFadeTime = 6000
FadePassengerOnExit = Yes
ExitFadeTime = 1000
InitialPayload = NoldorGilGaladsSoldaten 1
End
Behavior = HordeTransportContainDamage ModeleTag_HordeTransportContainDamage
End
;///////////////////
; AISpecialPowers
;///////////////////
Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle
CommandButtonName = Command_SetStanceBattle
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE
End
Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive
CommandButtonName = Command_SetStanceAggressive
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE
End
Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround
CommandButtonName = Command_SetStanceHoldGround
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND
End
FormationPreviewDecal
Texture = FPflyingUnitDecal
Width = 128
Height = 128
End
Geometry = CYLINDER
GeometryMajorRadius = 30.0
GeometryMinorRadius = 30.0
GeometryHeight = 16.0
GeometryIsSmall = No
HealthBoxScale = 3.0
HealthBoxHeightOffset = 25.0
Shadow = SHADOW_VOLUME_NON_SELF_3 // volumetric shadow that doesn't cast onto all objects using SHADOW_VOLUME_NON_SELF_3
ShadowSunAngle = 89 // clamp the angle so shadow casts straight down.
End
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln