Fortresses: how to...?
#41
Posted 25 November 2008 - 09:22 PM
#42
Posted 25 November 2008 - 10:32 PM
#43
Posted 25 November 2008 - 10:46 PM
The same for witchking, but I want a witchking on a horse like you told, look like a nazgul (the graphic work would be enormous in the other way ). I think that the key to solve this enigma is in the command button, but i'm not sure. I need that someone give me a hand for compiling the commandbutton and/or with the "configuration" of the objects evilman black rider and mordorwitchking. Any ideas?
#44
Posted 25 November 2008 - 10:52 PM
The new WK's INI:
;------------------------------------------------------------------------------ ; aka Witch King, WitchKingMordor, MordorFellBeast Object MordorWitchKing ;BALANCE WitchKing ; *** ART Parameters *** ; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait. SelectPortrait = HPWitchKing ; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage. ButtonImage = HIWitchKing DescriptionStrategic = CONTROLBAR:LW_ToolTip_WitchKing Draw = W3DScriptedModelDraw ModuleTag_01 OkToChangeModelColor = Yes ;GlowEnabled = Yes ;GlowEmissive = No DefaultModelConditionState Model = MUWchKng_SKN Skeleton = MUWchKng_SKL End IdleAnimationState StateName = Idle Animation AnimationName = MUWchKng_IDLC AnimationPriority = 1 AnimationBlendTime = 15 AnimationMode = ONCE End Animation AnimationName = MUWchKng_IDLD AnimationPriority = 1 AnimationBlendTime = 15 AnimationMode = ONCE End Animation AnimationName = MUWchKng_IDLE AnimationPriority = 1 AnimationBlendTime = 15 AnimationMode = ONCE End Flags = RESTART_ANIM_WHEN_COMPLETE BeginScript Prev = CurDrawablePrevAnimationState() if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_to_Idle") end EndScript End AnimationState = DYING BURNINGDEATH Animation = DIEA AnimationName = MUWchKng_DIEB AnimationMode = ONCE AnimationBlendTime = 10 End End AnimationState = DYING Animation = DIEA AnimationName = MUWchKng_DIEB AnimationMode = ONCE End End AnimationState = BURNINGDEATH Animation = DIEA AnimationName = MUWchKng_MFDA AnimationMode = LOOP Distance = 60 End End AnimationState = FREEFALL Animation AnimationName = MUWchKng_FLYA AnimationMode = LOOP End Flags = RANDOMSTART End AnimationState = STUNNED_FLAILING Animation AnimationName = MUWchKng_FLYA AnimationMode = LOOP AnimationSpeedFactorRange = 0.4 0.6 End Flags = RANDOMSTART End AnimationState = STUNNED_STANDING_UP Animation AnimationName = MUWchKng_GTPB AnimationMode = ONCE End End AnimationState = STUNNED Animation = LNDA AnimationName = MUWchKng_LNDB AnimationMode = ONCE End End AnimationState = FIRING_OR_PREATTACK_A ;Animation = ATA1 // removing sword anims now that he does a big meta impact attack ; AnimationName = MUWchKng_ATKA ; AnimationMode = ONCE ; UseWeaponTiming = Yes ;End ;Animation = ATB1 ; AnimationName = MUWchKng_ATKB ; AnimationMode = ONCE ; UseWeaponTiming = Yes ;End Animation = ATA1 AnimationName = MUWchKng_ATKC AnimationMode = ONCE UseWeaponTiming = Yes End Animation = ATB1 AnimationName = MUWchKng_ATKD AnimationMode = ONCE UseWeaponTiming = Yes End End AnimationState = MOVING FIRING_OR_PREATTACK_A Animation = RUNB AnimationName = MUWchKng_ATRA AnimationMode = LOOP End Flags = RESTART_ANIM_WHEN_COMPLETE End ; AnimationState = BETWEEN_FIRING_SHOTS_A ; Animation = ALERT_1 ; AnimationName = MUWchKng_IDLC ; AnimationMode = LOOP ; AnimationPriority = 10 ; End ; End AnimationState = MOVING Animation = RUNB AnimationName = MUWchKng_RUNB AnimationMode = LOOP End Flags = RANDOMSTART End AnimationState = LEVELED Animation = Hit_Level_1_a AnimationName = MUWchKng_LVLA AnimationMode = ONCE End End ; --------- Click and Hit Reactions ------------ AnimationState = HIT_REACTION HIT_LEVEL_1 Animation = Hit_Level_1_a AnimationName = MUWchKng_HITA AnimationMode = ONCE End End AnimationState = EMOTION_ALERT Animation = ALERT_1 AnimationName = MUWchKng_IDLC AnimationMode = ONCE End Flags = RESTART_ANIM_WHEN_COMPLETE; acts like an idle animation & keeps running the animations. End AnimationState = RAISING_FLAG Animation AnimationName = MUWchKng_CHRA AnimationMode = LOOP End End AnimationState = SELECTED Animation AnimationName = MUWchKng_ATNB AnimationMode = LOOP End BeginScript Prev = CurDrawablePrevAnimationState() if Prev == "STATE_Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end EndScript End TransitionState = TRANS_IdleToSelected Animation = ATNA AnimationName = MUWchKng_ATNA AnimationMode = ONCE End End TransitionState = TRANS_SelectedToIdle Animation = ATNA AnimationName = MUWchKng_ATNC AnimationMode = ONCE End Flags = START_FRAME_LAST End ; TransitionState = TRANS_SelectedToMace ; Animation = ATNA ; AnimationName = MUWchKng_STHA ; AnimationMode = ONCE ; AnimationSpeedFactorRange = 0.7 1.3 ; End ; BeginScript ; CurDrawableShowSubObject("MACE") ; EndScript ; End ; TransitionState = TRANS_MaceToSelected ; Animation = ATNA ; AnimationName = MUWchKng_STHB ; AnimationMode = ONCE ; AnimationSpeedFactorRange = 0.7 1.3 ; End ; BeginScript ; CurDrawableShowSubObject("MACE") ; EndScript ; End ; AnimationState = WAR_CHANT ; Animation = Chant ; AnimationName = MUWchKng_CHRA ; AnimationMode = LOOP ; End ; BeginScript ; CurDrawableHideSubObject("MACE") ; EndScript ; End ;-------------------------- MOUNTED VERSION --------------------------------------------------------- ModelConditionState = MOUNTED Model = KUKngMount_SKN End AnimationState = PASSENGER MOUNTED Animation = grabbed AnimationName = KUKngMount_SKL.KUKngMount_GBDA AnimationMode = LOOP AnimationSpeedFactorRange = 0.8 0.8 End Flags = RANDOMSTART End ; --- stunned anims AnimationState = FREEFALL MOUNTED Animation = freefall AnimationName = KUKngMount_SKL.KUKngMount_FLYA AnimationMode = LOOP End Flags = RANDOMSTART End AnimationState = STUNNED_FLAILING MOUNTED Animation = JustDie AnimationName = KUKngMount_SKL.KUKngMount_FLYA AnimationMode = LOOP End Flags = RANDOMSTART End AnimationState = DYING SPLATTED MOUNTED Animation = splatted AnimationName = KUKngMount_SKL.KUKngMount_LNDA AnimationMode = ONCE End End AnimationState = BURNINGDEATH MOUNTED DYING Animation AnimationName = KUKngMount_SKL.KUKngMount_DIEA AnimationMode = ONCE AnimationBlendTime = 10 AnimationSpeedFactorRange = 0.8 0.8 End End AnimationState = DYING MOUNTED ; DEATH_2 Normally has DEATH_2, but just as a backup don't insist Animation AnimationName = KUKngMount_SKL.KUKngMount_DIEA AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 0.8 End End AnimationState = STUNNED_STANDING_UP MOUNTED Animation = StandUp AnimationName = KUKngMount_SKL.KUKngMount_GTPA AnimationMode = ONCE AnimationSpeedFactorRange = 1.5 1.5 End End AnimationState = STUNNED MOUNTED Animation = Land AnimationName = KUKngMount_SKL.KUKngMount_LNDA AnimationMode = ONCE End End AnimationState = MOVING FIRING_OR_PREATTACK_A MOUNTED ShareAnimation = Yes Animation = TrotAndFire AnimationName = KUKngMount_SKL.KUKngMount_RUNB AnimationMode = LOOP Distance = 70; 35 End Flags = RANDOMSTART End AnimationState = TURN_LEFT_HIGH_SPEED MOUNTED Animation = TurnLeft AnimationName = KUKngMount_SKL.KUKngMount_RUNA AnimationMode = LOOP AnimationBlendTime = 10 End End AnimationState = TURN_RIGHT_HIGH_SPEED MOUNTED Animation = TurnLeft AnimationName = KUKngMount_SKL.KUKngMount_RUNA AnimationMode = LOOP AnimationBlendTime = 10 End End ;;;===== BACKUP AnimationState = MOVING BACKING_UP MOUNTED Animation = BackingUp AnimationName = KUKngMount_SKL.KUKngMount_BAKA AnimationMode = LOOP End Flags = RANDOMSTART End AnimationState = MOVING TURN_LEFT MOUNTED Animation = TurnLeft AnimationName = KUKngMount_SKL.KUKngMount_TRNL AnimationMode = LOOP End End AnimationState = MOVING TURN_RIGHT MOUNTED Animation = TurnLeft AnimationName = KUKngMount_SKL.KUKngMount_TRNR AnimationMode = LOOP End End AnimationState = MOVING ACCELERATE MOUNTED Animation = Accelerate AnimationName = KUKngMount_SKL.KUKngMount_ACCL AnimationMode = ONCE; was LOOP AnimationSpeedFactorRange = 1.3 1.3 End End AnimationState = MOVING DECELERATE MOUNTED Animation = Decelerate AnimationName = KUKngMount_SKL.KUKngMount_DECL AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 End End AnimationState = MOVING MOUNTED ShareAnimation = Yes Animation = RunA AnimationName = KUKngMount_SKL.KUKngMount_RUNA AnimationMode = LOOP End End AnimationState = FIRING_OR_PREATTACK_A MOUNTED Animation = ATKA AnimationName = KUKngMount_SKL.KUKngMount_ATKA AnimationMode = ONCE End Animation = ATKB AnimationName = KUKngMount_SKL.KUKngMount_ATKB AnimationMode = ONCE End End ; --- Morgul Blade Weapon anim AnimationState = SPECIAL_WEAPON_ONE MOUNTED Animation = ATKA AnimationName = KUKngMount_SKL.KUKngMount_SPCA AnimationMode = ONCE End End ; --------- Click and Hit Reactions ------------ AnimationState = HIT_REACTION HIT_LEVEL_1 MOUNTED Animation = Hit_Level_1_a AnimationName = KUKngMount_SKL.KUKngMount_HFMA AnimationMode = ONCE End End ;;------------- EMOTIONS --------------------------------------------- AnimationState = EMOTION_TAUNTING MOUNTED ShareAnimation = Yes Animation = Taunting AnimationName = KUKngMount_SKL.KUKngMount_CHRA AnimationMode = ONCE End Animation = Taunting AnimationName = KUKngMount_SKL.KUKngMount_CHRB AnimationMode = ONCE End Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE End AnimationState = EMOTION_POINTING MOUNTED Animation = Pointing1 AnimationName = KUKngMount_SKL.KUKngMount_CHRA AnimationMode = LOOP End End AnimationState = EMOTION_CELEBRATING MOUNTED ShareAnimation = Yes Animation = CHRA AnimationName = KUKngMount_SKL.KUKngMount_CHRA AnimationMode = ONCE End Animation = CHRB AnimationName = KUKngMount_SKL.KUKngMount_CHRB AnimationMode = ONCE End Flags = RESTART_ANIM_WHEN_COMPLETE End AnimationState = EMOTION_ALERT MOUNTED Animation = IDLA AnimationName = KUKngMount_SKL.KUKngMount_IDLA AnimationMode = LOOP AnimationBlendTime = 15 End End AnimationState = RAISING_FLAG MOUNTED ShareAnimation = Yes Animation = CHRA AnimationName = KUKngMount_SKL.KUKngMount_CHRA AnimationMode = ONCE AnimationSpeedFactorRange = 0.9 1.1 End Animation = CHRB AnimationName = KUKngMount_SKL.KUKngMount_CHRB AnimationMode = ONCE AnimationSpeedFactorRange = 0.9 1.1 End Flags = RESTART_ANIM_WHEN_COMPLETE End AnimationState = SELECTED MOUNTED StateName = State_Selected Animation = AtAttention AnimationName = KUKngMount_SKL.KUKngMount_ATNB AnimationMode = Loop End BeginScript Prev = CurDrawablePrevAnimationState() if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_To_Selected") end EndScript End AnimationState = MOUNTED StateName = Idle Animation = IdleB AnimationName = KUKngMount_SKL.KUKngMount_IDLB AnimationMode = Loop AnimationBlendTime = 15 AnimationPriority = 10 End Animation = IdleC AnimationName = KUKngMount_SKL.KUKngMount_IDLC AnimationMode = Loop AnimationBlendTime = 15 AnimationPriority = 5 End Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE BeginScript Prev = CurDrawablePrevAnimationState() if Prev == "State_Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end EndScript End TransitionState = TRANS_Idle_to_Selected Animation = ATNA AnimationName = KUKngMount_SKL.KUKngMount_ATNA AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 1.2 End End TransitionState = TRANS_Selected_to_Idle Animation = ATNC AnimationName = KUKngMount_SKL.KUKngMount_ATNC AnimationMode = ONCE AnimationSpeedFactorRange = 0.8 1.2 End Flags = START_FRAME_LAST End End ; ***DESIGN parameters *** Side = Mordor EditorSorting = UNIT ThreatLevel = WITCHKING_THREAT_LEVEL ThingClass = MEDIUM_MONSTER BuildCost = WITCHKING_ON_FELLBEAST_BUILDCOST BuildTime = WITCHKING_ON_FELLBEAST_BUILDTIME TransportSlotCount = TRANSPORTSLOTCOUNT_HERO ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG CommandSet = MordorWitchKingCommandSet CommandPoints = WITCHKING_COMMAND_POINTS VisionRange = VISION_FLIER ShroudClearingRange = SHROUD_CLEAR_FLIER Scale = 1.5 DisplayName = OBJECT:MordorWitchKing CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles MountedCrusherLevel = 1 MountedCrushableLevel = 3 CrushWeapon = KnightCrush MinCrushVelocityPercent = 50; Has to be moving at at least 50% of full speed. CrushDecelerationPercent = 20; Lose 80 percent of max velocity when crushing. RamPower = 30 RamZMult = 0.5 MaxSimultaneousOfType = 1 WeaponSet Weapon = PRIMARY WitchKingWarMace ;WitchKingMorgulBlade Weapon = TERTIARY WitchKingMorgulBladeSpecialPower AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI AutoChooseSources = SECONDARY FROM_PLAYER AutoChooseSources = TERTIARY NONE End ;WeaponSet ; Conditions = WEAPONSET_TOGGLE_1 ; Weapon = PRIMARY WitchKingWarMace ; Weapon = TERTIARY WitchKingMorgulBladeSpecialPower ; AutoChooseSources = TERTIARY NONE ;End ArmorSet Conditions = None Armor = WitchKingArmor DamageFX = None End ; *** AUTO RESOLVE DATA *** AutoResolveUnitType = AutoResolveUnit_Hero AutoResolveCombatChain = AutoResolve_HeroCombatChain AutoResolveBody = AutoResolve_WitchKingBody AutoResolveArmor Armor = AutoResolve_WitchKingArmor End AutoResolveWeapon Weapon = AutoResolve_WitchKingWeapon End ;AutoResolveLeadership = AutoResolve_MouthOfSauronBonus ; *** AUDIO Parameters ***; VoiceAttack = FellBeastVoiceAttack VoiceAttackCharge = FellBeastVoiceAttack VoiceAttackMachine = FellBeastVoiceAttack VoiceAttackStructure = FellBeastVoiceAttack ;VoiceCreated = EVA:WitchKingCreated ;VoiceFullyCreated = EVA:WitchKingCreated VoiceMove = FellBeastVoiceMove VoiceMoveToCamp = FellBeastVoiceMove VoiceMoveWhileAttacking = FellBeastVoiceMove VoicePriority = 88 VoiceRetreatToCastle = FellBeastVoiceMove VoiceSelect = FellBeastVoiceSelect VoiceSelectBattle = FellBeastVoiceSelect VoiceGuard = FellBeastVoiceMove SoundImpact = ImpactHorse UnitSpecificSounds VoiceEnterUnitEvilMenTransportShip = FellBeastVoiceMove VoiceEnterUnitMordorMumakil = FellBeastVoiceMove VoiceEnterUnitSlaughterHouse = FellBeastVoiceMove VoiceGarrison = FellBeastVoiceMove VoiceInitiateCaptureBuilding = FellBeastVoiceMove VoiceSpecialAbilityCurseEnemy = WitchKingHourOfTheWitchKing End ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior MaxUpdateRangeCap = 800 ;AnimationSound = Sound:FootstepDirtA Animation:MUSAURON_SKL.MUSAURON_WLKA Frames:8 26 44 62 80 98 AnimationSound = Sound:BodyFallSoldier Animation:MUWCHKNG_SKL.MUWCHKNG_DIEA Frames:67 AnimationSound = Sound:BodyFallSoldier Animation:MUWCHKNG_SKL.MUWCHKNG_DIEB Frames:122 AnimationSound = Sound:BodyFallSoldier Animation:MUWCHKNG_SKL.MUWCHKNG_LNDA Frames:4 AnimationSound = Sound:BodyFallSoldier Animation:MUWCHKNG_SKL.MUWCHKNG_LNDB Frames:4 End #include "..\..\..\includes\StandardUnitEvaEvents.inc" EvaEventDieOwner = WitchKingDie ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths ;For deaths you can respawn from, use the DeathFX ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_INFANTRY SCARY ARMY_SUMMARY HERO HEAVY_MELEE_HITTER SCORE;MONSTER Body = RespawnBody ModuleTag_02 CheerRadius = EMOTION_CHEER_RADIUS MaxHealth = WITCHKING_ON_FELLBEAST_HEALTH ;BALANCE Witchking Health PermanentlyKilledByFilter = NONE // +RohanEowyn Nope, that's BFME1. This is BFME2 BurningDeathBehavior = Yes BurningDeathFX = FX_InfantryBurningFlame End Behavior = RespawnUpdate ModuleTag_RespawnUpdate DeathAnim = USER_1 ;Model condition to play when killed-to-respawn DeathFX = FX_WitchKingDeath ;FXList to play when killed-to-respawn DeathAnimationTime = 5133 ;How long DeathAnim will take. RespawnAnim = LEVELED ;Animation to play when respawning. RespawnFX = FX_Resurrection ;FXList to play when respawning. RespawnAnimationTime = 2000 ;Time it takes for respawn to play. AutoRespawnAtObjectFilter = NONE +CASTLE_KEEP ;Respawn at this location -- and at it's exit production point if possible. ButtonImage = HIWitchKing_res RespawnAsTemplate = MordorWitchKingOnFellBeast ;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others ;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any RespawnRules = AutoSpawn:No Cost:3750 Time:120000 Health:100% ;DEFAULT VALUES End Behavior = AutoHealBehavior ModuleTag_WitchKingHealing StartsActive = Yes HealingAmount = 20 HealingDelay = 1000 StartHealingDelay = 15000 HealOnlyIfNotInCombat = Yes End ;---------DREAD VISAGE------------------------------------------------------------------------ Behavior = UnpauseSpecialPowerUpgrade ModuleTag_DreadVisage SpecialPowerTemplate = SpecialAbilityFakeLeadership TriggeredBy = Upgrade_DreadVisage End Behavior = SpecialPowerModule ModuleTag_DreadVisageUpdate SpecialPowerTemplate = SpecialAbilityFakeLeadership UpdateModuleStartsAttack = Yes StartsPaused = Yes End Behavior = AttributeModifierAuraUpdate ModuleTag_DreadVisageAura StartsActive = No ;If no, requires upgrade to turn on. TriggeredBy = Upgrade_DreadVisage RefreshDelay = 2000 Range = WITCHKING_DREADVISAGE_EFFECT_RADIUS TargetEnemy = Yes AntiCategory = LEADERSHIP BUFF BonusName = GenericDebuff ObjectFilter = ANY +INFANTRY +CAVALRY -STRUCTURE -BASE_FOUNDATION -HERO -HORDE End Behavior = RadiateFearUpdate ModuleTag_DreadVisageFear InitiallyActive = No TriggeredBy = Upgrade_DreadVisage WhichSpecialPower = 1 GenerateFear = Yes EmotionPulseRadius = WITCHKING_DREADVISAGE_EFFECT_RADIUS EmotionPulseInterval = 2000 End ;---------MOUNT------------------------------------------------------------------------ Behavior = SpecialPowerModule ModuleTag_FellBeastToggleStarter SpecialPowerTemplate = SpecialAbilityToggleMounted UpdateModuleStartsAttack = Yes StartsPaused = No ;InitiateSound = FellBeastVoiceMove End Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_FellBeastToggle SpecialPowerTemplate = SpecialAbilityToggleMounted MountedTemplate = MordorWitchKingOnFellBeast SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech UnpackTime = 2000 PreparationTime = 0 ; none, cause we hop onto our mount in no time at all :) PackTime = 0 ; none, cause we hop onto our mount in no time at all :) OpacityTarget = .0 ; How see-thru to be at peak of change AwardXPForTriggering = 0 IgnoreFacingCheck = Yes ;TriggerSound = FellBeastVoiceMove End ;;Horse Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter SpecialPowerTemplate = SpecialAbilityToggleMountedWKH UpdateModuleStartsAttack = Yes StartsPaused = No End Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle SpecialPowerTemplate = SpecialAbilityToggleMountedWKH TriggerInstantlyOnCreate = Yes ;Instantly puts Black Rider on a horse. UnpackTime = 2000 PreparationTime = 1 PersistentPrepTime = 250 PackTime = 2000 OpacityTarget = .3 ; How see-thru to be at peak of change AwardXPForTriggering = 0 End ;---------SCREECH------------------------------------------------------------------------ Behavior = UnpauseSpecialPowerUpgrade ModuleTag_ScreechUnPause SpecialPowerTemplate = SpecialAbilityScreech TriggeredBy = Upgrade_Screech ObeyRechageOnTrigger = Yes End Behavior = SpecialPowerModule ModuleTag_Screech SpecialPowerTemplate = SpecialAbilityScreech UpdateModuleStartsAttack = Yes StartsPaused = Yes End Behavior = SpecialAbilityUpdate ModuleTag_ScreechUpdate SpecialPowerTemplate = SpecialAbilityScreech UnpackTime = 0 TriggerSound = WitchKingScreechMS Instant = Yes EffectRange = 180 End Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityBehavior End ;---------HOUR OF THE WITCH KING--------------------------------------------------------- Behavior = UnpauseSpecialPowerUpgrade ModuleTag_HOFTWEnabler SpecialPowerTemplate = SpecialAbilityCurseEnemy TriggeredBy = Upgrade_HourOfTheWitchKing ObeyRechageOnTrigger = Yes End Behavior = SpecialPowerModule ModuleTag_HOFTW SpecialPowerTemplate = SpecialAbilityCurseEnemy StartsPaused = Yes UpdateModuleStartsAttack = Yes InitiateSound = FellBeastVoiceAttack End Behavior = CurseSpecialPower ModuleTag_HOFTWUPdate SpecialPowerTemplate = SpecialAbilityCurseEnemy CursePercentage = 100.0% //Curse the target's power by this amount (will not exceed maximum charge time) StartAbilityRange = 200.0 CursedFX = FX_SarumanDominateTargets TriggerFX = FX_CreateaHeroCurse UnpackTime = 2000 PreparationTime = 1000 FreezeAfterTriggerDuration = 2500; Hold AI for this long after we fire. End Behavior = StancesBehavior ModuleTag_StancesBehavior StanceTemplate = Hero End #include "..\..\..\includes\CaptureBuilding.inc" Behavior = AIUpdateInterface ModuleTag_AI AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS ;AILuaEventsList = TrollFunctions BurningDeathTime = BURNINGDEATH_DURATION_INFANTRY End LocomotorSet Locomotor = NazgulLocomotor Condition = SET_NORMAL Speed = 65 End LocomotorSet Locomotor = HeroHorseLocomotor Condition = SET_MOUNTED Speed = NORMAL_CAVALRY_FAST_MEMBER_SPEED End LocomotorSet Locomotor = BurningDeathLocomotorInfantry Condition = SET_BURNINGDEATH Speed = 75 End Behavior = PhysicsBehavior ModuleTag_Physics End Behavior = SlowDeathBehavior ModuleTag_05 DeathTypes = ALL ;-KNOCKBACK SinkDelay = 3000 SinkRate = 1.20 ; in Dist/Sec DestructionDelay = 15000 Sound = INITIAL FellBeastDieExplode End ; Behavior = SlowDeathBehavior ModuleTag_07 ; ; Same as normal death, but no sound (sound already played by SoundImpact = ... ) ; DeathTypes = NONE +KNOCKBACK ; SinkDelay = 3000 ; SinkRate = 1.20 ; in Dist/Sec ; DestructionDelay = 15000 ; 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 Behavior = AISpecialPowerUpdate ToggleMountedAI CommandButtonName = Command_WitchKingToggleMounted SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MOUNTED End Behavior = AISpecialPowerUpdate ToggleMountedHorseAI CommandButtonName = Command_WitchKingToggleMountedHorse SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MOUNTED End Behavior = AISpecialPowerUpdate ScreechAI CommandButtonName = Command_SpecialAbilityScreechWitchKing SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF End Behavior = AISpecialPowerUpdate HourOfTheWitchKingAI CommandButtonName = Command_HourOfTheWitchKing SpecialPowerAIType = AI_SPECIAL_POWER_ENEMY_TYPE_KILLER End Geometry = CYLINDER GeometryMajorRadius = 8.0 GeometryHeight = 16.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 19 ShadowSizeY = 19 ShadowTexture = ShadowI End ;-------------------- ChildObject MordorWitchKing_Mounted MordorWitchKing ; Same except without HERO KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY MONSTER PATH_THROUGH_INFANTRY SCARY ARMY_SUMMARY End
Specialpower.ini
;------------------------------------------------------------------------------ SpecialPower SpecialAbilityToggleMountedWKH Enum = SPECIAL_TOGGLE_MOUNTED ReloadTime = 1000 End
Commandbutton.ini
CommandButton Command_WitchKingToggleMountedHorse Command = SPECIAL_POWER SpecialPower = SpecialAbilityToggleMountedWKH TextLabel = CONTROLBAR:TheodenMount Options = TOGGLE_IMAGE_ON_WEAPONSET ON_GROUND_ONLY ; Not really image, just audio FlagsUsedForToggle = MOUNTED ; What we really want is to toggle Theoden's audio if he is mounted or unmounted. Ya, this is a hack ButtonImage = HIBlackRiderMount HIBlackRiderMount ButtonBorderType = ACTION DescriptLabel = CONTROLBAR:GenericMountTooltip InPalantir = Yes EndYou still need to add it to the WK's Unmounted Commandset (mounted on fellbeast's commandset WONT work)
In a few minutes I MAY have the Nazgul done
#45
Posted 25 November 2008 - 11:04 PM
Add this to the MordorFellBeast object:
;---------DISMOUNT------------------------------------------------------------------------ Behavior = SpecialPowerModule ModuleTag_DismountStarter SpecialPowerTemplate = SpecialAbilityToggleMountedFromFellBeast UpdateModuleStartsAttack = Yes StartsPaused = No InitiateSound = FellBeastVoiceMove End Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_Dismount SpecialPowerTemplate = SpecialAbilityToggleMountedFromFellBeast StartAbilityRange = 50.0 ; pretty small so we are forced to the right place. MountedTemplate = MordorBlackRider SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech UnpackTime = 0 PreparationTime = 1 ; PersistentPrepTime = 250 PackTime = 0 OpacityTarget = 1 ; How see-thru to be at peak of change AwardXPForTriggering = 0 IgnoreFacingCheck = Yes End
In MordorBlackRider.ini add:
;---------MOUNT-FB---------------------------------------------------------------------- Behavior = SpecialPowerModule ModuleTag_FellBeastToggleStarter SpecialPowerTemplate = SpecialAbilityToggleMountedFellBeast UpdateModuleStartsAttack = Yes StartsPaused = No ;InitiateSound = FellBeastVoiceMove End Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_FellBeastToggle SpecialPowerTemplate = SpecialAbilityToggleMountedFellBeast MountedTemplate = MordorFellBeast SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech UnpackTime = 2000 PreparationTime = 0 ; none, cause we hop onto our mount in no time at all :) PackTime = 0 ; none, cause we hop onto our mount in no time at all :) OpacityTarget = .0 ; How see-thru to be at peak of change AwardXPForTriggering = 0 IgnoreFacingCheck = Yes ;TriggerSound = FellBeastVoiceMove End ;;Bla Bla Bla Behavior = AISpecialPowerUpdate ToggleMountedAI CommandButtonName = Command_WitchKingToggleMounted SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MOUNTED End
Specialpower.ini
;------------------------------------------------------------------------------ SpecialPower SpecialAbilityToggleMountedFellBeast Enum = SPECIAL_TOGGLE_MOUNTED ReloadTime = 1000 End
Commandbutton.ini
CommandButton Command_BlackRiderToggleMountedFellBeast Command = SPECIAL_POWER SpecialPower = SpecialAbilityToggleMountedFellBeast TextLabel = CONTROLBAR:TheodenMount Options = TOGGLE_IMAGE_ON_WEAPONSET ON_GROUND_ONLY ; Not really image, just audio FlagsUsedForToggle = MOUNTED ; What we really want is to toggle Theoden's audio if he is mounted or unmounted. Ya, this is a hack ButtonImage = HSWitchKingMountDismount HSWitchKingMountDismount ButtonBorderType = ACTION DescriptLabel = CONTROLBAR:GenericMountTooltip InPalantir = Yes End
In the commandset of the Nazgul you must add that mount fellbeast button, and in the flying nazgul you must add the same button as the dismount from the WK
#46
Posted 25 November 2008 - 11:08 PM
#47
Posted 25 November 2008 - 11:13 PM
In ShipWright.ini:
Behavior = CommandSetUpgrade ModuleTag_EvilFactionCS TriggeredBy = Upgrade_WildFaction Upgrade_MordorFaction Upgrade_IsengardFaction Upgrade_AngmarFaction CommandSet = EvilPortCommandSet End Behavior = SubObjectsUpgrade ModuleTag_EvilFactionSO TriggeredBy = Upgrade_WildFaction Upgrade_MordorFaction Upgrade_IsengardFaction Upgrade_AngmarFaction RequiresAllTriggers = No ShowSubObjects = EvilPart_A EvilPart_B HideSubObjects = GoodPart_A GoodPart_B End Behavior = CommandSetUpgrade ModuleTag_GoodFactionCS TriggeredBy = Upgrade_MenFaction Upgrade_ElfFaction Upgrade_DwarfFaction CommandSet = GoodPortCommandSet End Behavior = SubObjectsUpgrade ModuleTag_GoodFactionSO TriggeredBy = Upgrade_MenFaction Upgrade_ElfFaction Upgrade_DwarfFaction RequiresAllTriggers = No ShowSubObjects = GoodPart_A GoodPart_B HideSubObjects = EvilPart_A EvilPart_B End
If you wish to make something for ONLY your faction you should add a something similar to this:
Behavior = CommandSetUpgrade ModuleTag_MyFactionCS TriggeredBy = Upgrade_MYFACTION CommandSet = MYFACTIONPortCommandSet End
Otherwise you should add your 'faction upgrade' in this line:
TriggeredBy = Upgrade_MenFaction Upgrade_ElfFaction Upgrade_DwarfFaction
And add this in Commandset.ini
CommandSet MYFACTIONPortCommandSet 1 = Command_ConstructGoodTransportShip 2 = Command_ConstructGoodShip 3 = Command_ConstructGoodBombardShip 4 = Command_ConstructGoodFireShip 5 = Command_ConstructEvilTransportShip 6 = Command_ConstructEvilShip 7 = Command_ConstructEvilBombardShip 8 = Command_ConstructEvilFireShip 9 = Command_StartSelfRepair End
If you just want to modify the Good or the Evil commandset, all you need to do is edit it
Edited by Ridder Geel, 25 November 2008 - 11:14 PM.
#48
Posted 26 November 2008 - 07:14 AM
#49
Posted 26 November 2008 - 07:23 AM
#50
Posted 26 November 2008 - 11:08 AM
I read these tutorialis:
http://www.the3rdage...tem-329?addview
http://www.the3rdage...item-83?addview
These are very good tutorials, but they don't explain how to add buttons or flags to the game. Can you explain me how to create the file who contains the symbol and the flag image? In the 2th tutorial I found these istructions:
"This looked very interesting, so I couldn't help but extract the Capture flags W3Ds and open em up in RenX. Here is what I saw: The Flag Pole, and the "Neutral Flag", then all the Flags. I Imported the SKL file, and saw how the bones were arranged. Thats when it hit me that I could make one for Rohan. I quickly made Rohan a flag, stuck a texture onto it, and bound. (When I bound I just bound all the flags to one of the bones; I didn't want to sit there all night binding them to their individual bones. No Negative effects have turned up because of this.). I added it into my .BIG, and made an asset. Then, I edited my LUA to look like this:"
What does it mean?
#51
Posted 26 November 2008 - 02:43 PM
For the symbol just create a TGA size 256x256 or something like that and make your new 'image' on it
Then put it in the corresponding folder:
Example:
Texture name: SymbolMyFaction
Folder: art/compiledtextures/sy/
If you do it like this it should work, then you need to make a new 'entry' in data\ini\mappedimages\handcreated\handcreatedmappedimages.ini like this:
MappedImage AptIconMyFaction;;My Faction must be replaced by the faction SIDE found in your factions 'playertemplate.ini' Texture = SymbolMyFaction.tga;;The Name of the texture used TextureWidth = 252 TextureHeight = 252 Coords = Left:0 Top:0 Right:252 Bottom:252 Status = NONE End
Then your symbol should work (if you made the image correctly and followed my instructions)
Also DO NOT forget to make a new Asset.dat
#52
Posted 26 November 2008 - 03:49 PM
#53
Posted 26 November 2008 - 04:00 PM
Actually yes it should work
#54
Posted 26 November 2008 - 10:01 PM
Edited by AleAleWitchKing, 26 November 2008 - 11:00 PM.
#55
Posted 26 November 2008 - 11:28 PM
Answer these questions about the 'error' (if possible)
Who?
What?
When?
Where?
Why?
-------------------------------
1800th Post
Edited by Ridder Geel, 26 November 2008 - 11:28 PM.
#56
Posted 27 November 2008 - 03:43 PM
#57
Posted 27 November 2008 - 03:49 PM
#58
Posted 27 November 2008 - 04:49 PM
#59
Posted 27 November 2008 - 05:09 PM
#60
Posted 27 November 2008 - 05:51 PM
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users