Are they possible? Whenever I try to add a ranged weapon to a banner carrier it won't use it. The closest I've got is making a fake banner carrier by slaving a unit to a horde when it reaches level 2, but it's really glitchy and not a great fix at all.
- Revora Forums
- → Viewing Profile: Topics: Koo294
Koo294
Member Since 10 Apr 2010Offline Last Active Jan 09 2015 12:48 PM
Community Stats
- Group Members
- Active Posts 16
- Profile Views 799
- Age 28 years old
- Birthday April 27, 1995
-
Gender
Male
-
Location
Installation 01
-
Projects
Speak of a ring travels far...
-
Blue Text
Top Hobbitses
Contact Information
- Steam koo294
- ModDB Koo294
User Tools
Topics I've Started
Ranged banner carriers?
03 August 2013 - 10:44 PM
The ANY object filter
01 August 2013 - 11:17 AM
So I basically understand object filters, for example
ObjectFilter = NONE +INFANTRY
will only allow infantry through. But how does ANY work? I've been searching a bit and i can't find anything to explain it. For example:
ObjectFilter = ANY +INFANTRY -MONSTER -MACHINE -CAVALRY -ARMY_OF_DEAD
So it allows infantry through, and not monsters, machines, cavalry or army of the dead. But what about everything else? Do they pass or fail this filter? If they all pass why have +anything, and if they fail why have -anything? Or is there a specific list of unit types that pass the ANY filter?
Fortress upgrades causing catapult destruction
20 July 2013 - 11:29 PM
I have an interesing bug which i can't really figure out. I've created a new faction, with a new fortress that has an upgrade similar to the dwarven mighty catapult (most of the code was just copied across). However, whenever i upgrade the fortress (any upgrade) after I've upgraded to the catapult, the catapult self-destructs. I have no idea what's causing this, my best guess at the moment is that it's somehow related to the slave relationship.
E: After more testing i have determined it is a problem with the fortress code, not the catapult, as if i swap catapults with the dwarven fort then the dwarven catapult on my fort will self-destruct whereas the artillery catapult on the dwarven fort won't.
E2: If I remove the
Behavior = SlaveWatcherBehavior WatchTheTreb End
lines, it no longer self-destructs, but it no longer fires when you tell it to either.
E3: It seems to be a conflict with the spike moat upgrade. As soon as i research the spike moat upgrade the bug disappears and the catapult no longer self-destructs
E4: SOLVED: it was the DestroyedWhenSold for the spike moat that was destroying the catapults. Only problem now is that building spike moat disables the catapult.
Fortress code:
Object CovenantFortressCitadel // *** ART Parameters *** SelectPortrait = cov_fort_portrait ButtonImage = cov_fort_butimg //-------------------------------- //-------------------------------- Draw = W3DScriptedModelDraw ModuleTag_MainDraw ExtraPublicBone = ARROW_01 ExtraPublicBone = ARROW_02 ExtraPublicBone = ARROW_03 ExtraPublicBone = ARROW_04 ExtraPublicBone = ARROW_05 ExtraPublicBone = ARROW_06 ExtraPublicBone = ARROW_07 ExtraPublicBone = ARROW_08 ExtraPublicBone = ARROW_09 ExtraPublicBone = ARROW_10 ExtraPublicBone = ARROW_11 ExtraPublicBone = ARROW_12 ExtraPublicBone = ARROW_13 ExtraPublicBone = ARROW_14 ExtraPublicBone = ARROW_15 ExtraPublicBone = ARROW_16 ExtraPublicBone = ARROW_17 ExtraPublicBone = ARROW_18 ExtraPublicBone = ARROW_19 ExtraPublicBone = ARROW_20 ExtraPublicBone = ARROW_21 ExtraPublicBone = ARROW_22 ExtraPublicBone = ARROW_23 ExtraPublicBone = ARROW_24 ExtraPublicBone = ARROW_25 ExtraPublicBone = ARROW_26 ExtraPublicBone = ARROW_27 ExtraPublicBone = ARROW_28 OkToChangeModelColor = Yes StaticModelLODMode = Yes // Will append M or L to the skin name depending on GameLOD DefaultModelConditionState Model = COV_FORTRESS WeaponLaunchBone = PRIMARY ARROW_ WeaponLaunchBone = SECONDARY BARRELOUT1 //For Oil casks WeaponLaunchBone = TERTIARY BARRELOUT2 WeaponLaunchBone = QUATERNARY BARRELOUT3 WeaponLaunchBone = QUINARY BARRELOUT4 End ;// Animation state for build placement cursor AnimationState = BUILD_PLACEMENT_CURSOR BeginScript CurDrawableHideSubObject("COV_SHIELD") EndScript End ;// Animation state for phantom structure AnimationState = PHANTOM_STRUCTURE BeginScript CurDrawableHideSubObject("COV_SHIELD") EndScript End //--Damage States--- ModelConditionState = DAMAGED Model = COV_FORTRESS Texture = cov_fortress.tga cov_fortress_dam.tga End AnimationState = DAMAGED EnteringStateFX = FX_FortressDamaged End ModelConditionState = REALLYDAMAGED Model = COV_FORT_D1 Texture = cov_fortress.tga cov_fortress_dam.tga End AnimationState = REALLYDAMAGED Animation = Fortress_ReallyDamaged AnimationName = COV_FORT_D1SKL.COV_FORT_D1A AnimationMode = ONCE End EnteringStateFX = FX_FortressReallyDamaged End ModelConditionState = RUBBLE Model = COV_FORT_D2 Texture = cov_fortress.tga cov_fortress_dam.tga End AnimationState = RUBBLE Animation = Fortress_ReallyDamaged AnimationName = COV_FORT_D2SKL.COV_FORT_D2A AnimationMode = ONCE End EnteringStateFX = FX_FortressCollapse End //---Stonework--- ; ModelConditionState = UPGRADE_NUMENOR_STONEWORK ; Model = COV_FORTRESS ; Texture = KBFortress.tga KBFortress_Ice.tga ; Texture = KBFortress_NRM.tga KBFortressNRM_Ice.tga ; End //---Snow--- ; ModelConditionState = SNOW ; Model = KBFortress ; Texture = KBFortress.tga KBFortress_Snow.tga ; End End ; Draw = W3DScriptedModelDraw ModuleTag_Draw_HCBanner ; OkToChangeModelColor = Yes ; DefaultModelConditionState ; Model = KBHCFortress ; End ; MultiPlayerOnly = Yes ; End ;-------------------------------- Draw = W3DScriptedModelDraw ModuleTag_HouseOfHealingDraw OkToChangeModelColor = Yes StaticModelLODMode = Yes // Will append M or L to the skin name depending on GameLOD DefaultModelConditionState Model = NONE End //---Build Up--- ModelConditionState = UPGRADE_HOUSE_OF_HEALING USER_3 DAMAGED Model = KBFHoLa_D1 End ModelConditionState = UPGRADE_HOUSE_OF_HEALING USER_3 REALLYDAMAGED Model = KBFHoLa_D2 ; Texture = GBFortress1.tga GBFortress1D.tga End ModelConditionState = UPGRADE_HOUSE_OF_HEALING USER_3 UPGRADE_NUMENOR_STONEWORK Model = KBFHoLa_A ; Texture = GBFortress1.tga GBFortress1_U.tga End ModelConditionState = UPGRADE_HOUSE_OF_HEALING USER_3 SNOW Model = KBFHoLa_A Texture = KBFortressX.tga KBFortressX_Snow.tga End ModelConditionState = UPGRADE_HOUSE_OF_HEALING USER_3 Model = KBFHoLa_A End AnimationState = UPGRADE_HOUSE_OF_HEALING USER_3 Animation = RiseUp AnimationName = KBFHoLa_ASKL.KBFHoLa_ABLD AnimationMode = ONCE AnimationSpeedFactorRange = 5.0 5.0 End End //---Damage States--- ModelConditionState = UPGRADE_HOUSE_OF_HEALING DAMAGED Model = KBFHoLa_D1 ;Texture = KBFortressX.tga KBFortressX_D1.tga End ModelConditionState = UPGRADE_HOUSE_OF_HEALING REALLYDAMAGED Model = KBFHoLa_D2 ;Texture = KBFortressX.tga KBFortressX_D1.tga End AnimationState = UPGRADE_HOUSE_OF_HEALING REALLYDAMAGED Animation = ReallyDamaged AnimationName = GBFHeal_D2SKL.GBFHeal_D2AN AnimationMode = ONCE End End ModelConditionState = UPGRADE_HOUSE_OF_HEALING RUBBLE Model = KBFHoLa_D3 ;Texture = KBFortressX.tga KBFortressX_D1.tga End AnimationState = UPGRADE_HOUSE_OF_HEALING RUBBLE Animation = Destroyed AnimationName = KBFHoLa_D3SKL.KBFHoLa_D3AN AnimationMode = ONCE End End //---Stonework upgrade ModelConditionState = UPGRADE_NUMENOR_STONEWORK UPGRADE_HOUSE_OF_HEALING Model = KBFHoLa ; Texture = KBFortressX.tga KBFortressX_Ice.tga ; Texture = KBFortressX_NRM.tga KBFortressX_Ice_NRM.tga End //---Snow--- ModelConditionState = SNOW UPGRADE_HOUSE_OF_HEALING Model = KBFHoLa Texture = KBFortressX.tga KBFortressX_Snow.tga End //---Default Purchased States ModelConditionState = UPGRADE_HOUSE_OF_HEALING Model = KBFHoLa End End Behavior = BuildingBehavior BuildingModuleTag NightWindowName = N_Window ;FireWindowName = WINDOW_F01 ; End End ;//-------------------------------- ;//Artillery Tower Draw = W3DScriptedModelDraw ModuleTag_ArtilleryTowerDraw OkToChangeModelColor = Yes StaticModelLODMode = Yes // Will append M or L to the skin name depending on GameLOD DefaultModelConditionState Model = None End //Build Up ModelConditionState = UPGRADE_FORTRESS_MONUMENT USER_1 DAMAGED Model = COV_FORT_GTB Texture = cov_fort_GTbase.tga cov_fort_GTbase_d.tga End ModelConditionState = UPGRADE_FORTRESS_MONUMENT USER_1 REALLYDAMAGED Model = COV_FORT_GTB Texture = cov_fort_GTbase.tga cov_fort_GTbase_d.tga End ModelConditionState = UPGRADE_FORTRESS_MONUMENT USER_1 Model = COV_FORT_GTB End AnimationState = UPGRADE_FORTRESS_MONUMENT USER_1 Animation = RiseUp AnimationName = COV_FORT_GTBS.COV_FORT_GTBA AnimationMode = ONCE ; AnimationSpeedFactorRange = 4.0 4.0 End ParticleSysBone = NONE CovBuildingContructDustCastles FollowBone:YES ParticleSysBone = NONE CovBuildingContructDustCastles2 FollowBone:YES End //--Damage States--- ModelConditionState = UPGRADE_FORTRESS_MONUMENT DAMAGED Model = COV_FORT_GT Texture = cov_fort_GTbase.tga cov_fort_GTbase_d.tga End ModelConditionState = UPGRADE_FORTRESS_MONUMENT REALLYDAMAGED Model = COV_FORT_GT Texture = cov_fort_GTbase.tga cov_fort_GTbase_d.tga End ModelConditionState = UPGRADE_FORTRESS_MONUMENT RUBBLE Model = COV_FORT_GT Texture = cov_fort_GTbase.tga cov_fort_GTbase_d.tga End //Snow ModelConditionState = SNOW UPGRADE_FORTRESS_MONUMENT Model = COV_FORT_GT ; Texture = DBFortress1.tga DBFortress1_Snow.tga End //Normal ModelConditionState = UPGRADE_FORTRESS_MONUMENT Model = COV_FORT_GT End End ;//-------------------------------- ;//Fortress Door Draw = W3DScriptedModelDraw ModuleTag_DrawDoor DefaultModelConditionState Model = COV_FORT_DRC End //---Damage States--- ModelConditionState = DAMAGED DOOR_1_WAITING_OPEN Model = COV_FORT_DRO End ModelConditionState = DAMAGED Model = COV_FORT_DRC End ModelConditionState = REALLYDAMAGED Model = COV_FORT_DRC End ; ModelConditionState = RUBBLE ; Model = DBFDoor_D3 ; End ; ; AnimationState = RUBBLE ; Animation = Door_ReallyDamaged ; AnimationName = DBFDoor_D3.DBFDoor_D3 ; AnimationMode = ONCE ; AnimationBlendTime = 50 ; End ; End //--normal states ModelConditionState = DOOR_1_OPENING Model = COV_FORT_DROA End AnimationState = DOOR_1_OPENING Animation = COV_FORT_DRO AnimationName = COV_FORT_DROA.COV_FORT_DROA AnimationMode = ONCE AnimationBlendTime = 0 End ;// Flags = START_FRAME_FIRST End ModelConditionState = DOOR_1_CLOSING Model = COV_FORT_DRCA ParticleSysBone = NONE trollCageDust End; AnimationState = DOOR_1_CLOSING Animation = COV_FORT_DRCA AnimationName = COV_FORT_DRCA.COV_FORT_DRCA AnimationMode = ONCE AnimationBlendTime = 0 End ; Flags = START_FRAME_FIRST End ModelConditionState = DOOR_1_WAITING_OPEN Model = COV_FORT_DRO ;ParticleSysBone = NONE BuildingDoughnutCloud End AnimationState = DOOR_1_WAITING_OPEN End ModelConditionState = POST_RUBBLE Model = None End ModelConditionState = POST_COLLAPSE Model = None End End ; //Icy Mist //Blessed Mist ; Draw = W3DScriptedModelDraw ModuleTag_DrawMist ; ; DefaultModelConditionState ; Model = None ; End ; ; ModelConditionState = UPGRADE_NUMENOR_STONEWORK ;Upgrade_AngmarFortressIceWalls ; Model = None ; ParticleSysBone = NONE IceWallMist ;EnshroudingMist ; ParticleSysBone = NONE IceWallMist02 ;EnshroudingMist ; End ; End //----------the Bib Draw = W3DFloorDraw ModuleTag_DrawFloor ModelName = COV_FORT_BIB End ; ***DESIGN parameters *** DisplayName = OBJECT:AngmarFortress Description = OBJECT:CovenantFortressDescription Side = Covenant EditorSorting = STRUCTURE ThreatLevel = 1.0 CommandPointBonus = GENERIC_FORTRESS_COMMAND_POINT_BONUS BuildCost = 0 BuildTime = ANGMAR_FORTRESS_BUILDTIME ; in seconds VisionRange = ANGMAR_FORTRESS_VISION_RANGE ShroudClearingRange = ANGMAR_FORTRESS_SHROUD_CLEAR CommandSet = CovenantFortressCommandSet WeaponSet Conditions = None Weapon = PRIMARY AngmarFortressBattleTowerBow AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI End ArmorSet Conditions = None Armor = FortressArmor ; DamageFX = StructureDamageFXNoShake End ;// *** AUDIO Parameters *** #include "..\..\..\Includes\StandardBuildingEvaEvents.inc" EvaEventDieOwner = EvaFortressDie VoiceSelect = MordorFortressSelect SoundOnDamaged = BuildingLightDamageStone SoundOnReallyDamaged = BuildingHeavyDamageStone VoiceSelectUnderConstruction = BuildingEvilVoiceSelectUnderConstruction UnitSpecificSounds UnderConstruction = BuildingBigConstructionLoop ;// Built first time UnderRepairFromDamage = BuildingBigConstructionLoop ;// Repaired No animation on the building, so don't bother playing sound UnderRepairFromRubble = BuildingBigConstructionLoop ;// Repaired from completely destroyed (not used???) End ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior MaxUpdateRangeCap = 800 AnimationSound = Sound:StatueHeroicBuildStoneDebris2 Animation:DBFGCAP_A.DBFGCAP_A Frames:116 AnimationSound = Sound:StatueHeroicBuildStoneDebris1 Animation:DBFGCAP_A.DBFGCAP_A Frames:130 End CampnessValue = CAMPNESS_FORTRESS ;// *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD COMMANDCENTER VITAL_FOR_BASE_SURVIVAL STRUCTURE IMMOBILE CASTLE_KEEP MP_COUNT_FOR_VICTORY SELECTABLE FS_FACTORY AUTO_RALLYPOINT MADE_OF_WOOD SCORE DOZER_FACTORY Behavior = GettingBuiltBehavior ModuleTag_GettingBuiltBehavior WorkerName = AngmarWorkerNoSelect SpawnTimer = DEFAULT_STRUCTURE_HEALDELAY End Behavior = CastleMemberBehavior ModuleTag_CMB BeingBuiltSound = BuildingBigConstructionLoop End ;//----------------------------------------------- ;//Used for hero revival and initial construction Behavior = ProductionUpdate ProductionUpdateModuleTag ProductionModifier ;// An object-local discount. RequiredUpgrade = Upgrade_AngmarFortressBanners CostMultiplier = 0.80 ModifierFilter = NONE +AngmarPorter End ProductionModifier RequiredUpgrade = Upgrade_AngmarFortressBanners CostMultiplier = 0.90 TimeMultiplier = 0.90 HeroPurchase = Yes ; Instead of an object filter, needs to be explicitly hero-revival-system compatible ModifierFilter = NONE +HERO End ProductionModifier RequiredUpgrade = Upgrade_AngmarFortressBanners CostMultiplier = 0.80 TimeMultiplier = 0.80 HeroRevive = Yes ModifierFilter = NONE +HERO End NumDoorAnimations = 1 DoorOpeningTime = 3000 ;//in mSeconds how long you want doors to be in open state DoorWaitOpenTime = 3000 ;//in mSeconds time the door stays open, so units can exit DoorCloseTime = 3000 ;//in mSeconds how long you want doors to be in open state End Behavior = QueueProductionExitUpdate ModuleTag_QueuePEU UnitCreatePoint = X:57.0 Y:0.0 Z:0.0 NaturalRallyPoint = X:109.0 Y:0.0 Z:0.0 ;//NaturalRallyPointX must always match GeometryMajorRadius! ExitDelay = 400 ;// Mainly for the multiple produced Red Guard. Make them come out one at a time. End ;//----------------------------------------------- Body = StructureBody ModuleTag_05 MaxHealth = ANGMAR_FORTRESS_HEALTH MaxHealthDamaged = ANGMAR_FORTRESS_HEALTH_DAMAGED MaxHealthReallyDamaged = ANGMAR_FORTRESS_HEALTH_REALLY_DAMAGED End Behavior = StructureCollapseUpdate ModuleTag_08 MinCollapseDelay = 000 MaxCollapseDelay = 000 CollapseDamping = .5 MaxShudder = 0.6 MinBurstDelay = 250 MaxBurstDelay = 800 BigBurstFrequency = 4 FXList = INITIAL FX_StructureMediumCollapseNoSound FXList = ALMOST_FINAL FX_StructureAlmostCollapse DestroyObjectWhenDone = Yes CollapseHeight = 155 End Behavior = CitadelSlaughterHordeContain ModuleTag_SlaughterMe PassengerFilter = GENERIC_FACTION_SLAUGHTERABLE ObjectStatusOfContained = UNSELECTABLE ENCLOSED CashBackPercent = 200% ContainMax = 99 // give it a huge capacity, just in case player sends his whole army in at once AllowEnemiesInside = No AllowAlliesInside = No AllowNeutralInside = No AllowOwnPlayerInsideOverride = Yes EnterSound = GUI_RingReturned EntryOffset = X:125.0 Y:0.0 Z:0.0 EntryPosition = X:30.0 Y:0.0 Z:0.0 ExitOffset = X:125.0 Y:0.0 Z:0.0 StatusForRingEntry = HOLDING_THE_RING UpgradeForRingEntry = Upgrade_RingHero Upgrade_FortressRingHero ObjectToDestroyForRingEntry = NONE +TheDroppedRing FXForRingEntry = FX_OneRingFlare End // Oil Casks special power, bought as improvement Behavior = ObjectCreationUpgrade CreateTheMoat TriggeredBy = Upgrade_AngmarFortressSpikes Delay = 0.0 ThingToSpawn = AngmarFortressSpikes DestroyWhenSold = Yes FadeInTime = 600 End // Angmar Stonework improvement, just an upgrade Behavior = CastleUpgrade ModuleTag_PassOutCovenantShieldsUpgrade TriggeredBy = Upgrade_CovenantFortressShieldsTrigger Upgrade = Upgrade_CovenantFortressShields WallUpgradeRadius = MEN_FORTRESS_WALL_EFFECTIVE_RADIUS End Behavior = AttributeModifierUpgrade ModuleTag_Reinforced TriggeredBy = Upgrade_CovenantFortressShields AttributeModifier = CovenantShieldsKeep_Bonus End // Hide the shields by default Behavior = SubObjectsUpgrade ModuleTag_HideShields TriggeredBy = Upgrade_StructureLevel1 HideSubObjects = COV_SHIELD End Behavior = SubObjectsUpgrade ModuleTag_ShowShields TriggeredBy = Upgrade_CovenantFortressShields ShowSubObjects = COV_SHIELD End Behavior = ModelConditionUpgrade ModuleTag_ShowTheShields TriggeredBy = Upgrade_CovenantFortressShields AddConditionFlags = UPGRADE_NUMENOR_STONEWORK Permanent = Yes End // Flaming Munitions improvement, just an upgrade, but doesn't do anything for us. Behavior = ModelConditionUpgrade ModuleTag_ShowFlamingMunitions TriggeredBy = Upgrade_AngmarFortressIceMunitions AddConditionFlags = FORTRESS_IMPROVEMENT_1 //AddTempConditionFlag = ModelConditionState:USER_2 //For buildup TempConditionTime = 8.0 //try to match buildup anim time End Behavior = CastleUpgrade ModuleTag_PassOutFlamingMunitionsUpgrade TriggeredBy = Upgrade_AngmarFortressIceMunitionsTrigger Upgrade = Upgrade_AngmarFortressIceMunitions End Behavior = AudioLoopUpgrade ModuleTag_FlamingMunitionsBuildLoop ; Play a "build loop" while the Mighty Catapult is building up TriggeredBy = Upgrade_AngmarFortressIceMunitions ;ConflictsWith = SoundToPlay = BuildingConstructionLoop KillOnDeath = Yes KillAfterMS = 3500 RequiresAllTriggers = Yes End Behavior = WeaponSetUpgrade ModuleTag_FlamingAttack TriggeredBy = Upgrade_AngmarFortressIceMunitions End Behavior = SubObjectsUpgrade ModuleTag_ShowIceMunitions TriggeredBy = Upgrade_AngmarFortressIceMunitions ShowSubObjects = IceMunitions01 IceMunitions02 IceMunitions03 IceMunitions04 IceMunMist_01 IceMunMist_02 IceMunMist_03 IceMunMist_04 IceM1_1 IceM1_2 IceM3_1 IceM3_2 IceMunMist_01D2 IceMunMist_03AD2 IceMunMist_03BD2 End Behavior = StatusBitsUpgrade ModuleTag_FakeOut ;// I need to react to the upgrade, so I can have it for when new construction asks me for all the upgrades TriggeredBy = Upgrade_AngmarFortressIceMunitions End ;// No subobject for the torches right now. ;// Behavior = SubObjectsUpgrade ModuleTag_ShowTorches ;// TriggeredBy = Upgrade_GoodFortressFlamingMunitions ;// ShowSubObjects = GBFFLAMING ;// End // Banners improvement, the half that gives an aura bonus, not the purchase discount part (that is in the ProductionUpdate) Behavior = AttributeModifierAuraUpdate ModuleTag_BannerLeadership StartsActive = No ;If no, requires upgrade to turn on. BonusName = AngmarFortressBannersLeadership TriggeredBy = Upgrade_AngmarFortressBanners RefreshDelay = 2000 Range = 300 ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER End Behavior = SubObjectsUpgrade ModuleTag_ShowBanners TriggeredBy = Upgrade_AngmarFortressBanners ShowSubObjects = KBTorches MBFDPF ;MBFDPFG End // House of Lamentation improvement, Purchase discount is in ProductionUpdate Behavior = ModelConditionUpgrade ModuleTag_ShowHouseOfLamentation TriggeredBy = Upgrade_AngmarFortressHouseOfLamentation AddConditionFlags = UPGRADE_HOUSE_OF_HEALING AddTempConditionFlag = ModelConditionState:USER_3 //For buildup TempConditionTime = 7.0 //try to matc Permanent = Yes End ; Behavior = UnpauseSpecialPowerUpgrade ModuleTag_HouseOfLamentationUnpause ; SpecialPowerTemplate = SpecialAbilityFakeLeadership ; StartsPaused = Yes ; TriggeredBy = Upgrade_AngmarFortressHouseOfLamentation ; End Behavior = SpecialPowerModule ModuleTag_HouseOfLamentationUpdate SpecialPowerTemplate = SpecialAbilityFakeLeadership UpdateModuleStartsAttack = Yes End Behavior = AttributeModifierAuraUpdate ModuleTag_HouseOfLamentation StartsActive = No ;If no, requires upgrade to turn on. BonusName = DeathMaskModifier TriggeredBy = Upgrade_AngmarFortressHouseOfLamentation RefreshDelay = 2000 Range = ANGMAR_FORTRESS_DEATH_MASK_RANGE TargetEnemy = Yes AntiCategory = LEADERSHIP BUFF ; This means cancel all previous leadership bonuses ObjectFilter = ANY +INFANTRY +CAVALRY -STRUCTURE -BASE_FOUNDATION +HERO +HORDE End Behavior = AudioLoopUpgrade ModuleTag_HouseOfHealingBuildLoop // Play a "build loop" while the House of Healing is building up TriggeredBy = Upgrade_AngmarFortressHouseOfLamentation //ConflictsWith = Upgrade_PosternGate Upgrade_WallBanner SoundToPlay = BuildingConstructionLoop KillOnDeath = Yes KillAfterMS = 5000 ; Should match the length of the build-up animation [Or a little shorter since sounds take a little while to die] End Behavior = CastleUpgrade ModuleTag_PassOutHouseOfHealingUpgrade TriggeredBy = Upgrade_AngmarFortressHouseOfLamentation Upgrade = Upgrade_AngmarFortressHouseOfLamentation End //Artillery Tower Behavior = ModelConditionUpgrade ModuleTag_ShowTheTower TriggeredBy = Upgrade_CovenantFortressGun Upgrade_CovenantFortressShields RequiresAllTriggers = Yes AddConditionFlags = UPGRADE_FORTRESS_MONUMENT AddTempConditionFlag = ModelConditionState:USER_1 //For buildup TempConditionTime = 10.0 //try to match buildup anim time End //Delay the button being available with this little trick wait some time before granting the upgrade to allow for buildup. Behavior = ObjectCreationUpgrade CatapultReady TriggeredBy = Upgrade_CovenantFortressGun Upgrade_CovenantFortressShields RequiresAllTriggers = Yes Delay = 8500 GrantUpgrade = Upgrade_DwarvenFortressMightyCatapultReady End Behavior = AudioLoopUpgrade ModuleTag_MightyCatapultBuildLoop ; Play a "build loop" while the Mighty Catapult is building up TriggeredBy = Upgrade_CovenantFortressGun Upgrade_CovenantFortressShields ;ConflictsWith = SoundToPlay = BuildingBigConstructionLoop ;BuildingConstructionLoop KillOnDeath = Yes KillAfterMS = 8500 RequiresAllTriggers = Yes End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CatapultEnabler SpecialPowerTemplate = SpecialAbilityCovenantArtilleryTower TriggeredBy = Upgrade_DwarvenFortressMightyCatapultReady End Behavior = SpecialPowerModule ModuleTag_CatapultStarter SpecialPowerTemplate = SpecialAbilityCovenantArtilleryTower UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = MightyCatapultStarterMS End Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_SpireWeaponFireUpdate SpecialPowerTemplate = SpecialAbilityCovenantArtilleryTower WhichSpecialWeapon = 1 UnpackTime = 10 PackTime = 10 SpecialWeapon = CovenantArtilleryFortressWeapon TriggerSound = MightyCatapultRotateMS ApproachRequiresLOS = No End Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityLightningBehavior SpecialAbility = SpecialAbilityCovenantArtilleryTower // Use this ability End ; Behavior = GeometryUpgrade ModueTag_CatapultGeom ; TriggeredBy = Upgrade_CovenantFortressGun Upgrade_CovenantFortressShields ; ConflictsWith = Upgrade_PosternGate Upgrade_OpenGarrison ; RequiresAllTriggers = Yes ; ShowGeometry = TrebGeom ; HideGeometry = TowerGeom DummyGeom ; WallBoundsMesh = P1 ; End Behavior = ObjectCreationUpgrade FirstCatapult TriggeredBy = Upgrade_CovenantFortressGun Upgrade_CovenantFortressShields RequiresAllTriggers = Yes Delay = 9000 ThingToSpawn = CovenantFortressGun Offset = X:0.0 Y:0.0 Z:60.0 FadeInTime = 600 End Behavior = SlaveWatcherBehavior WatchTheTreb End Behavior = GeometryUpgrade TowerGeom TriggeredBy = Upgrade_CovenantFortressGun Upgrade_CovenantFortressShields RequiresAllTriggers = Yes ShowGeometry = HighTowerGeom End Behavior = AIUpdateInterface ModuleTag_AI AILuaEventsList = FortressFunctions AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End ;//Money Maker Behavior = AutoDepositUpdate AutoDepositModuleTag DepositTiming = GENERIC_KEEP_MONEY_TIME DepositAmount = GENERIC_KEEP_MONEY_AMOUNT InitialCaptureBonus = 0 ;// no initial bonus End Behavior = TerrainResourceBehavior ModuleTag_NewMoneyDeadSpot Radius = GENERIC_KEEP_MONEY_RANGE ;// How far we try to claim ground MaxIncome = 0 ;// If we were to get all we wanted, how much we would earn. Linear slope to 0 at 0% claim IncomeInterval = 999999 ;// How often (in msec) we give that much money HighPriority = Yes ;// A high priority claim gets to pretend it was there first. Visible = No ;// Don't show decal when a resource building is selected. End #include "..\..\..\FortressRingFunc.inc" Geometry = CYLINDER GeometryMajorRadius = 84 GeometryHeight = 60 AdditionalGeometry = CYLINDER GeometryName = Spike1 GeometryMajorRadius = 18 GeometryHeight = 150 GeometryOffset = X:56 Y:56 Z:0 AdditionalGeometry = CYLINDER GeometryName = Spike2 GeometryMajorRadius = 18 GeometryHeight = 150 GeometryOffset = X:56 Y:-56 Z:0 AdditionalGeometry = CYLINDER GeometryName = Spike3 GeometryMajorRadius = 18 GeometryHeight = 150 GeometryOffset = X:-56 Y:56 Z:0 AdditionalGeometry = CYLINDER GeometryName = Spike4 GeometryMajorRadius = 18 GeometryHeight = 150 GeometryOffset = X:-56 Y:-56 Z:0 AdditionalGeometry = CYLINDER GeometryName = HighTowerGeom GeometryMajorRadius = 15 GeometryHeight = 150 GeometryOffset = X:0 Y:0 Z:0 GeometryUsedForHealthBox = No GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER GeometryContactPoint = X:-104 Y:79 Z:0 Repair GeometryContactPoint = X:41 Y:-42 Z:0 GeometryContactPoint = X:41 Y:-42 Z:45 GeometryContactPoint = X:-41 Y:-42 Z:45 GeometryContactPoint = X:-41 Y:-42 Z:0 GeometryContactPoint = X:-80 Y:0 Z:0 GeometryContactPoint = X:-80 Y:0 Z:45 GeometryContactPoint = X:-41 Y:42 Z:45 GeometryContactPoint = X:-41 Y:42 Z:0 GeometryContactPoint = X:41 Y:42 Z:0 GeometryContactPoint = X:41 Y:42 Z:45 GeometryContactPoint = X:80 Y:0 Z:45 GeometryContactPoint = X:80 Y:0 Z:0 GeometryContactPoint = X:0 Y:0 Z:180 Swoop End
Artillery is the catapult
Artillery code:
Object CovenantFortressGun ;DwarvenCatapult Draw = W3DTruckDraw ModuleTag_01 OkToChangeModelColor = Yes StaticModelLODMode = No //All LOD's use this model or require manual setup. DefaultModelConditionState Model = COV_FORT_GUN WeaponLaunchBone = PRIMARY BOLT End IdleAnimationState StateName = Stand Animation = IDLES AnimationName = GUFCatapA_SKL.GUFCatapA_IDLA AnimationMode = ONCE AnimationBlendTime = 15 End End //Firing Lightning ModelConditionState = FIRING_OR_PREATTACK_A Model = COV_FORT_GUN End AnimationState = FIRING_OR_PREATTACK_A ;ParticleSysBone = BOLT AngSanctumCharge FollowBone:Yes ;ParticleSysBone = BOLT AngSanctumCharge02 FollowBone:Yes ParticleSysBone = BOLT AngSanctumCharge03 FollowBone:Yes ParticleSysBone = BOLT AngSanctumCharge04 FollowBone:Yes Animation AnimationName = COV_FORT_GUNS.COV_FORT_GUNA AnimationMode = ONCE AnimationBlendTime = 10 End FrameForPristineBonePositions = 70 ; Animation = Normal ; AnimationName = GUFCatapA_SKL.GUFCatapA_ATKA ; AnimationMode = ONCE ; ;UseWeaponTiming = Yes ; End ; Animation = NoBlend ; AnimationName = GUFCatapA_SKL.GUFCatapA_ATKA ; AnimationMode = ONCE ; ;UseWeaponTiming = Yes ; End ; Flags = MAINTAIN_FRAME_ACROSS_STATES ; StateName = Attack ; FrameForPristineBonePositions = 31 ; BeginScript ; Prev = CurDrawablePrevAnimationState() ; if Prev == "Stand" or Prev == "Attack" ; then ; return "NoBlend" ; else ; return "Normal" ; end ; EndScript End End ;--------------- // ***DESIGN parameters *** Side = Covenant EditorSorting = UNIT ThreatLevel = DWARVEN_CATAPULT_THREAT_LEVEL ThreatBreakdown DwarvenCatapult_DetailedThreat AIKindOf = SIEGEWEAPON End TransportSlotCount = TRANSPORTSLOTCOUNT_SIEGE ShowHealthInSelectionDecal = Yes ThingClass = MACHINE // No command points for this as it's free. CommandPoints = 0 ShockwaveResistance = SHOCKWAVE_RESISTANCE_ALWAYS // Needs a specialised command set without move based commands. CommandSet = EmptyCommandSet // This is required so that the build phase lasts as long as the anim. BuildFadeInOnCreateTime = 7.0 BuildCost = DWARVEN_CATAPULT_BUILDCOST BuildTime = DWARVEN_CATAPULT_BUILDTIME VisionRange = DWARVEN_CATAPULT_VISION_RANGE ShroudClearingRange = SHROUD_CLEAR_ARTILLERY MaxVisionBonusPercent = 300% VisionBonusTestRadius = 200 VisionBonusPercentPerFoot = 1.0% BountyValue = DWARVEN_CATAPULT_BOUNTY_VALUE DisplayName = OBJECT:DwarvenCatapult CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CrusherLevel = 0 ;What can I crush?: 0 = small animals, 1 = infantry, 2 = trees, 3 = vehicles ShockwaveResistance = SHOCKWAVE_RESISTANCE_IMMUNE CamouflageDetectionMultiplier = CAMOUFLAGE_DETECTION_DISTANCE_SHORTISH // *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS MACHINE SCORE CAN_ATTACK CAN_ATTACK_WALLS IGNORES_SELECT_ALL NOT_AUTOACQUIRABLE UNATTACKABLE SIEGEENGINE // *** AUDIO Parameters *** VoiceAttack = DwarfCatapultFoleySelect VoiceAttackCharge = DwarfCatapultFoleySelect VoiceAttackMachine = DwarfCatapultFoleySelect VoiceAttackStructure = DwarfCatapultFoleySelect VoiceCreated = UpgradeDwarfFortressMightyCatapult VoiceFullyCreated = UpgradeDwarfFortressMightyCatapult VoiceGuard = NoSound VoiceMove = NoSound VoiceMoveToCamp = NoSound VoiceMoveToHigherGround = NoSound VoiceMoveWhileAttacking = NoSound VoicePriority = 4 VoiceRetreatToCastle = NoSound VoiceSelect = DwarfCatapultFoleySelect VoiceSelectBattle = DwarfCatapultFoleySelect SoundImpact = ImpactHorse SoundMoveLoop = NoSound SoundMoveStart = MightyCatapultMoveStart ;CatapultMoveStart UnitSpecificSounds VoiceGarrison = NoSound VoiceEnterUnitElvenTransportShip = NoSound VoiceInitiateCaptureBuilding = NoSound End #include "..\..\..\includes\StandardUnitEvaEvents.inc" CrowdResponseKey = Dwarf Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system Key = Humanoid_Male Dwarf Dwarf_Male SiegeWeapon Catapult Dwarf_Siege UnitWeight = 2 End ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo ModelCondition = Required:EMOTION_CELEBRATING Excluded:DYING ENGAGED Sound:EmotionDwarfCompilationVoxCheerSinglesLoop ;MOVING ATTACKING ModelCondition = Required:EMOTION_POINTING Excluded:DYING ENGAGED Sound:EmotionDwarfCompilationVoxTauntSinglesLoop ;MOVING ATTACKING ModelCondition = Required:EMOTION_TAUNTING Excluded:DYING ENGAGED Sound:EmotionDwarfCompilationVoxTauntSinglesLoop ;MOVING ATTACKING End ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior MaxUpdateRangeCap = 800 AnimationSound = Sound:CatapultCreate Animation:MUCatapult_A.MUCatapult_A Frames:130 AnimationSound = Sound:BodyFallOrc Animation:MUCatapltD_SKL.MUCatapltD_ANM Frames:35 End WeaponSet Conditions = None Weapon = PRIMARY CovenantArtilleryShot //AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI End ArmorSet Conditions = None Armor = FortressSiegeEngineArmor DamageFX = None End //Behaviors Body = HighlanderBody ModuleTag_10 //Can take damage, but won't die. Can only die from ::kill() or other unresistable damage MaxHealth = 50.0 End Behavior = AIUpdateInterface ModuleTag_03 AutoAcquireEnemiesWhenIdle = No //AILuaEventsList = TrebuchetFunctions End LocomotorSet Locomotor = FloatingCatapultLocomotor Condition = SET_NORMAL Speed = 0 End Behavior = PhysicsBehavior ModuleTag_04 End //Just explode and go away really really fast Behavior = DestroyDie ModuleTag_Die End Behavior = TransitionDamageFX ModuleTag_8 DamagedFXList1 = Loc: X:0 Y:0 Z:5 FXList:FX_TrebDamage // ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:FireBuildingLarge ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:5 FXList:FX_TrebDamage // RubbleParticleSystem1 = Bone:None RandomBone:No PSys:FireBuildingLarge RubbleFXList1 = Loc: X:0 Y:0 Z:5 FXList:FX_TrebDamage End //We should die when the fortress does! Behavior = SlavedUpdate ModuleTag_Slave DieOnMastersDeath = Yes MarkUnselectable = No End Geometry = CYLINDER GeometryMajorRadius = 95.0 ; fudged to match the fortress' radius so the 'can I' and 'will I' are both the same. GeometryHeight = 18.0 GeometryIsSmall = Yes End
Animated textures?
19 July 2013 - 11:13 PM
I can't seem to find any tutorials on how to implement these, so I'm asking here. I've messed around with the options in the 3ds max and renx W3D material editors, and with niether can I make working animated textures. Even simply importing a flame model and re-exporting it results in a static texture.
- Revora Forums
- → Viewing Profile: Topics: Koo294
- Privacy Policy
- Forum Guidelines ·