Posted by: Gameanater - Sunday, May 25, 2014 6:34:20 PM
[code] Object Infa_ChinaInfantryRedguard ; *** ART Parameters *** SelectPortrait = SNRedGuard_L ButtonImage = SNRedGuard_L UpgradeCameo1 = Upgrade_Fanaticism UpgradeCameo2 = Upgrade_InfantryCaptureBuilding ;UpgradeCameo3 = NONE ;UpgradeCameo4 = NONE ;UpgradeCameo5 = NONE Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; this says "we don't use these condition states at all, so completely ; ignore them for purposes of matchmaking"... this is useful to help ; reduce the number of AliasConditionState clauses you must add in ; order to avoid ambiguity in some cases. IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A ; ------- Standing-Around Animations DefaultConditionState Model = NICNSC_SKN IdleAnimation = NICNSC_SKL.NICNSC_STA 0 35 IdleAnimation = NICNSC_SKL.NICNSC_IDA IdleAnimation = NICNSC_SKL.NICNSC_IDB AnimationMode = ONCE WeaponFireFXBone = PRIMARY Muzzle WeaponMuzzleFlash = PRIMARY MuzzleFX TransitionKey = TRANS_Stand End ConditionState = REALLYDAMAGED IdleAnimation = NICNSC_SKL.NICNSC_STB AnimationMode = ONCE TransitionKey = TRANS_StandDamaged End ; ------- Machine Gun Animations ConditionState = USING_WEAPON_A Animation = NICNSC_SKL.NICNSC_ATA AnimationMode = LOOP TransitionKey = TRANS_Firing End ConditionState = USING_WEAPON_A REALLYDAMAGED Animation = NICNSC_SKL.NICNSC_ATC AnimationMode = LOOP TransitionKey = TRANS_FiringDamaged End ; ------- Firing-related Transitions TransitionState = TRANS_Firing TRANS_FiringDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE End TransitionState = TRANS_Stand TRANS_Firing Animation = NICNSC_SKL.NICNSC_SA2AA AnimationMode = ONCE End TransitionState = TRANS_Firing TRANS_Stand Animation = NICNSC_SKL.NICNSC_AA2SA AnimationMode = ONCE End TransitionState = TRANS_StandDamaged TRANS_FiringDamaged Animation = NICNSC_SKL.NICNSC_ATCST AnimationMode = ONCE End TransitionState = TRANS_FiringDamaged TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_ATCED AnimationMode = ONCE End ; ------------- Damage Transitions -------------------- TransitionState = TRANS_StandDamaged TRANS_RunDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE AnimationSpeedFactorRange = 2 2 End TransitionState = TRANS_RunDamaged TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_AA2AC AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2 2 Flags = START_FRAME_LAST End TransitionState = TRANS_Stand TRANS_StandDamaged Animation = NICNSC_SKL.NICNSC_AA2SA AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 4 5 Flags = START_FRAME_LAST End ; ------- Bayonet Animations ConditionState = PREATTACK_C Animation = NICNSC_SKL.NICNSC_ATB1 AnimationMode = ONCE TransitionKey = TRANS_Stab End AliasConditionState = PREATTACK_C MOVING AliasConditionState = PREATTACK_C FIRING_C AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_C ConditionState = FIRING_C Animation = NICNSC_SKL.NICNSC_ATB2 AnimationMode = ONCE ; this is basically a trick: this guy has a nontrivial animation for firing, ; and a long recycle time between shots. we want him to finish his fire animation ; (unless he's ordered to do something else), so this is just a handy trick that ; says, "if the previous state had this transition key, allow it to finish before ; switching to us, if possible". WaitForStateToFinishIfPossible = TRANS_Stab End AliasConditionState = BETWEEN_FIRING_SHOTS_C AliasConditionState = RELOADING_C ; ------- Parachuting Animations ConditionState = FREEFALL Animation = NICNSC_SKL.NICNSC_POP AnimationMode = MANUAL Flags = START_FRAME_FIRST TransitionKey = TRANS_Falling End AliasConditionState = FREEFALL REALLYDAMAGED AliasConditionState = FREEFALL DYING ConditionState = PARACHUTING Animation = NICNSC_SKL.NICNSC_PHG AnimationMode = LOOP Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first TransitionKey = TRANS_Chute End AliasConditionState = PARACHUTING REALLYDAMAGED AliasConditionState = PARACHUTING DYING TransitionState = TRANS_Falling TRANS_Chute Animation = NICNSC_SKL.NICNSC_POP AnimationMode = ONCE Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first End TransitionState = TRANS_Chute TRANS_Stand Animation = NICNSC_SKL.NICNSC_PTD AnimationMode = ONCE End ; ------- Movement Animations ConditionState = MOVING Animation = NICNSC_SKL.NICNSC_RNA 26 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = None ParticleSysBone = None InfantryDustTrails End AliasConditionState = MOVING ATTACKING ConditionState = MOVING REALLYDAMAGED Animation = NICNSC_SKL.NICNSC_RNB 28 AnimationMode = LOOP Flags = RANDOMSTART TransitionKey = TRANS_RunDamaged TransitionKey = None End AliasConditionState = MOVING ATTACKING REALLYDAMAGED ; ------- Bldg-capture ConditionState = UNPACKING Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP1 AnimationMode = ONCE End AliasConditionState = UNPACKING REALLYDAMAGED ConditionState = RAISING_FLAG Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP2 AnimationMode = ONCE TransitionKey = TRANS_Raising End AliasConditionState = RAISING_FLAG REALLYDAMAGED ConditionState = PACKING Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP1 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST TransitionKey = TRANS_Packing End AliasConditionState = PACKING REALLYDAMAGED TransitionState = TRANS_Raising TRANS_Packing Model = NICNSC_F_SKN Animation = NICNSC_F_SKL.NICNSC_F_FDP2 AnimationMode = ONCE_BACKWARDS Flags = START_FRAME_LAST End ; ------- Dying Animations ConditionState = DYING Animation = NICNSC_SKL.NICNSC_DTA Animation = NICNSC_SKL.NICNSC_DTB AnimationMode = ONCE TransitionKey = TRANS_Dying End TransitionState = TRANS_Dying TRANS_Flailing Animation = NICNSC_SKL.NICNSC_ATDE1 AnimationMode = ONCE End ConditionState = DYING EXPLODED_FLAILING Animation = NICNSC_SKL.NICNSC_ATDE2 AnimationMode = LOOP TransitionKey = TRANS_Flailing End ConditionState = DYING EXPLODED_BOUNCING Animation = NICNSC_SKL.NICNSC_ATDE3 AnimationMode = ONCE TransitionKey = None End ; ------- Misc Animations ConditionState = SPECIAL_CHEERING Animation = NICNSC_SKL.NICNSC_CHA AnimationMode = LOOP End End ; ***DESIGN parameters *** DisplayName = OBJECT:Redguard Side = ChinaInfantryGeneral EditorSorting = INFANTRY TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable) WeaponSet Conditions = None Weapon = PRIMARY RedguardMachineGun End ArmorSet Conditions = None Armor = InfGen_HumanArmor DamageFX = InfantryDamageFX End VisionRange = 100 ShroudClearingRange = 200 Prerequisites Object = Infa_ChinaBarracks End BuildCost = 100 BuildTime = 2.0 ;in seconds ExperienceValue = 5 5 10 20 ;Experience point value at each level ExperienceRequired = 0 20 40 80 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = ChinaInfantryRedguardCommandSet ; *** AUDIO Parameters *** VoiceSelect = RedGuardVoiceSelect VoiceMove = RedGuardVoiceMove VoiceGuard = RedGuardVoiceMove VoiceAttack = RedGuardVoiceAttack VoiceGroupSelect = BattleCrySound VoiceFear = RedGuardVoiceFear VoiceTaskComplete = RedGuardVoiceCaptureComplete UnitSpecificSounds VoiceMelee = RedGuardVoiceAttackBayonet VoiceGarrison = RedGuardVoiceGarrison VoiceCreate = RedGuardVoiceCreate VoiceSubdue = RedGuardVoiceSubdue VoiceEnter = RedGuardVoiceMove VoiceEnterHostile = RedGuardVoiceMove VoiceGetHealed = RedGuardVoiceMove End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SCORE PARACHUTABLE Body = ActiveBody ModuleTag_02 MaxHealth = 120.0 InitialHealth = 120.0 End Behavior = VeterancyGainCreate ModuleTag_03 StartingLevel = ELITE ScienceRequired = Infa_SCIENCE_RedGuardTraining End Behavior = AIUpdateInterface ModuleTag_04 AutoAcquireEnemiesWhenIdle = Yes End Behavior = CommandButtonHuntUpdate ModuleTag_05 ; allows use of command button hunt script with this unit. End Locomotor = SET_NORMAL RedguardLocomotor Behavior = HordeUpdate ModuleTag_06 RubOffRadius = 60 ; if I am this close to a real hordesman, I will get to be an honorary hordesman UpdateRate = 1000 ; how often to recheck horde status (msec) Radius = 30 ; how close other units must be to us to count towards our horde-ness (~30 feet or so) KindOf = INFANTRY ; what KindOf's must match to count towards horde-ness AlliesOnly = Yes ; do we only count allies towards horde status? ExactMatch = No ; do we only count units of our exact same type towards horde status? (overrides kindof) Count = 5 ; how many units must be within Radius to grant us horde-ness Action = HORDE ; when horde-ing, grant us the HORDE bonus End Behavior = PhysicsBehavior ModuleTag_07 Mass = 5.0 End Behavior = SquishCollide ModuleTag_10 ;nothing End ; --- begin Death modules --- Behavior = SlowDeathBehavior ModuleTag_Death01 DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RedGuardDie End Behavior = SlowDeathBehavior ModuleTag_Death02 DeathTypes = NONE +CRUSHED +SPLATTED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_GIDieCrushed End Behavior = SlowDeathBehavior ModuleTag_Death03 DeathTypes = NONE +EXPLODED SinkDelay = 3000 SinkRate = 0.5 ; in Dist/Sec DestructionDelay = 8000 FX = INITIAL FX_RedGuardDie FlingForce = 8 FlingForceVariance = 3 FlingPitch = 60 FlingPitchVariance = 10 End Behavior = SlowDeathBehavior ModuleTag_Death04 DeathTypes = NONE +BURNED DestructionDelay = 0 FX = INITIAL FX_DieByFireChina OCL = INITIAL OCL_FlamingInfantry End Behavior = SlowDeathBehavior ModuleTag_Death05 DeathTypes = NONE +POISONED DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantry End Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag DeathTypes = NONE +POISONED_BETA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones End Behavior = SlowDeathBehavior ModuleTag_Death07 DeathTypes = NONE +POISONED_GAMMA DestructionDelay = 0 FX = INITIAL FX_DieByToxinChina OCL = INITIAL OCL_ToxicInfantryGamma End ; --- end Death modules --- Behavior = PoisonedBehavior ModuleTag_15 PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me... PoisonDuration = 3000 ; ... for this long after last hit by poison damage End Behavior = SpecialAbility ModuleTag_16 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding UpdateModuleStartsAttack = Yes StartsPaused = Yes InitiateSound = RedGuardVoiceCapture End Behavior = SpecialAbilityUpdate ModuleTag_17 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding StartAbilityRange = 5.0 UnpackTime = 3000 ; (changing this will scale anim speed) PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed) PackTime = 2000 ; (changing this will scale anim speed) DoCaptureFX = Yes AwardXPForTriggering = 4 ;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values. End Behavior = UnpauseSpecialPowerUpgrade ModuleTag_18 SpecialPowerTemplate = SpecialAbilityRedGuardCaptureBuilding TriggeredBy = Upgrade_InfantryCaptureBuilding End Behavior = VeterancyGainCreate ModuleTag_13 StartingLevel = VETERAN End Geometry = CYLINDER GeometryMajorRadius = 7.0 GeometryMinorRadius = 7.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_DECAL ShadowSizeX = 14; ShadowSizeY = 14; ShadowTexture = ShadowI; BuildCompletion = APPEARS_AT_RALLY_POINT End [/code]

Posted by: Gameanater - Sunday, May 25, 2014 6:36:21 PM
[code] Object Infa_ChinaBarracks ; *** ART Parameters *** SelectPortrait = SNBarracks_L ButtonImage = SNBarracks Draw = W3DModelDraw ModuleTag_01 OkToChangeModelColor = Yes ; day ConditionState = NONE Model = NBBarracks ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks.NBBarracks AnimationMode = LOOP End ConditionState = DAMAGED Model = NBBarracks_D ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_D.NBBarracks_D AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE Model = NBBarracks_E ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_E.NBBarracks_E AnimationMode = LOOP End ; day SNOW ConditionState = SNOW Model = NBBarracks_S ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_S.NBBarracks_S AnimationMode = LOOP End ConditionState = DAMAGED SNOW Model = NBBarracks_DS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DS.NBBarracks_DS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE SNOW Model = NBBarracks_ES ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_ES.NBBarracks_ES AnimationMode = LOOP End ; night ConditionState = NIGHT Model = NBBarracks_N ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_N.NBBarracks_N AnimationMode = LOOP End ConditionState = DAMAGED NIGHT Model = NBBarracks_DN ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DN.NBBarracks_DN AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT Model = NBBarracks_EN ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_EN.NBBarracks_EN AnimationMode = LOOP End ; night snow ConditionState = NIGHT SNOW Model = NBBarracks_NS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_NS.NBBarracks_NS AnimationMode = LOOP End ConditionState = DAMAGED NIGHT SNOW Model = NBBarracks_DNS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_DNS.NBBarracks_DNS AnimationMode = LOOP End ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW Model = NBBarracks_ENS ParticleSysBone= Fire01 SmolderingFire Animation = NBBarracks_ENS.NBBarracks_ENS AnimationMode = LOOP End ;************************************************************************************************************************** ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states ;for this draw module ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks Animation = NBBarracks.NBBarracks AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED Model = NBBarracks_D Animation = NBBarracks_D.NBBarracks_D AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED Model = NBBarracks_E Animation = NBBarracks_E.NBBarracks_E AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT Model = NBBarracks_N Animation = NBBarracks_N.NBBarracks_N AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED Model = NBBarracks_DN Animation = NBBarracks_DN.NBBarracks_DN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED Model = NBBarracks_EN Animation = NBBarracks_EN.NBBarracks_EN AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW Model = NBBarracks_S Animation = NBBarracks_S.NBBarracks_S AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED Model = NBBarracks_DS Animation = NBBarracks_DS.NBBarracks_DS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED Model = NBBarracks_ES Animation = NBBarracks_ES.NBBarracks_ES AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW Model = NBBarracks_NS Animation = NBBarracks_NS.NBBarracks_NS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED Model = NBBarracks_DNS Animation = NBBarracks_DNS.NBBarracks_DNS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED Model = NBBarracks_ENS Animation = NBBarracks_ENS.NBBarracks_ENS AnimationMode = LOOP Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT End ConditionState = AWAITING_CONSTRUCTION Model = NONE End AliasConditionState = AWAITING_CONSTRUCTION DAMAGED AliasConditionState = AWAITING_CONSTRUCTION REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT AliasConditionState = AWAITING_CONSTRUCTION NIGHT DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW AliasConditionState = AWAITING_CONSTRUCTION SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED AliasConditionState = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED AliasConditionState = SOLD AliasConditionState = SOLD DAMAGED AliasConditionState = SOLD REALLYDAMAGED AliasConditionState = SOLD NIGHT AliasConditionState = SOLD NIGHT DAMAGED AliasConditionState = SOLD NIGHT REALLYDAMAGED AliasConditionState = SOLD SNOW AliasConditionState = SOLD SNOW DAMAGED AliasConditionState = SOLD SNOW REALLYDAMAGED AliasConditionState = SOLD NIGHT SNOW AliasConditionState = SOLD NIGHT SNOW DAMAGED AliasConditionState = SOLD NIGHT SNOW REALLYDAMAGED ;************************************************************************************************************************** End ; ------------ construction-zone fence ----------------- Draw = W3DModelDraw ModuleTag_02 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY End ConditionState = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT End ConditionState = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_A4 Animation = NBBarracks_A4.NBBarracks_A4 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_A4N Animation = NBBarracks_A4N.NBBarracks_A4N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_A4S Animation = NBBarracks_A4S.NBBarracks_A4S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_A4SN Animation = NBBarracks_A4SN.NBBarracks_A4SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ under-construction scaffolding ----------------- Draw = W3DModelDraw ModuleTag_03 AnimationsRequirePower = No MinLODRequired = MEDIUM DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = PARTIALLY_CONSTRUCTED Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_DAY ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = NIGHT PARTIALLY_CONSTRUCTED Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_NIGHT ParticleSysBone = Dust01 BuildingDustChina ParticleSysBone = Smoke01 BuildUpSmokeChina ParticleSysBone = Smoke02 BuildUpSmokeChina ParticleSysBone = Smoke03 BuildUpSmokeChina ParticleSysBone = Smoke04 BuildUpSmokeChina ParticleSysBone = Smoke05 BuildUpSmokeChina End ConditionState = SNOW PARTIALLY_CONSTRUCTED Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOW ParticleSysBone = Dust01 BuildingSnowDust ParticleSysBone = Smoke01 BuildUpSnowSmoke ParticleSysBone = Smoke02 BuildUpSnowSmoke ParticleSysBone = Smoke03 BuildUpSnowSmoke ParticleSysBone = Smoke04 BuildUpSnowSmoke ParticleSysBone = Smoke05 BuildUpSnowSmoke End ConditionState = SNOW NIGHT PARTIALLY_CONSTRUCTED Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = MANUAL Flags = START_FRAME_LAST TransitionKey = UP_SNOWNIGHT ParticleSysBone = Dust01 BuildingNightSnowDust ParticleSysBone = Smoke01 BuildUpNightSnowSmoke ParticleSysBone = Smoke02 BuildUpNightSnowSmoke ParticleSysBone = Smoke03 BuildUpNightSnowSmoke ParticleSysBone = Smoke04 BuildUpNightSnowSmoke ParticleSysBone = Smoke05 BuildUpNightSnowSmoke End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_A6 Animation = NBBarracks_A6.NBBarracks_A6 AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_A6N Animation = NBBarracks_A6N.NBBarracks_A6N AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_A6S Animation = NBBarracks_A6S.NBBarracks_A6S AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_A6SN Animation = NBBarracks_A6SN.NBBarracks_A6SN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End ; ------------ being-constructed crane ----------------- Draw = W3DModelDraw ModuleTag_04 AnimationsRequirePower = No DefaultConditionState Model = None TransitionKey = DOWN_DEFAULT End ConditionState = NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SNOW NIGHT Model = None TransitionKey = DOWN_DEFAULT End ConditionState = SOLD Model = NONE End ConditionState = ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5 Animation = NBBarracks_A5.NBBarracks_A5 AnimationMode = LOOP TransitionKey = UP_DAY End ConditionState = NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5N Animation = NBBarracks_A5N.NBBarracks_A5N AnimationMode = LOOP TransitionKey = UP_NIGHT End ConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5S Animation = NBBarracks_A5S.NBBarracks_A5S AnimationMode = LOOP TransitionKey = UP_SNOW End ConditionState = SNOW NIGHT ACTIVELY_BEING_CONSTRUCTED Model = NBBarracks_A5SN Animation = NBBarracks_A5SN.NBBarracks_A5SN AnimationMode = LOOP TransitionKey = UP_SNOWNIGHT End TransitionState = DOWN_DEFAULT UP_DAY Model = NBBarracks_AB Animation = NBBarracks_AB.NBBarracks_AB AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_NIGHT Model = NBBarracks_ABN Animation = NBBarracks_ABN.NBBarracks_ABN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOW Model = NBBarracks_ABS Animation = NBBarracks_ABS.NBBarracks_ABS AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = DOWN_DEFAULT UP_SNOWNIGHT Model = NBBarracks_ABSN Animation = NBBarracks_ABSN.NBBarracks_ABSN AnimationMode = ONCE AnimationSpeedFactorRange = 1.0 1.0 Flags = START_FRAME_FIRST End TransitionState = UP_DAY DOWN_DEFAULT Model = NBBarracks_AB Animation = NBBarracks_AB.NBBarracks_AB AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_NIGHT DOWN_DEFAULT Model = NBBarracks_ABN Animation = NBBarracks_ABN.NBBarracks_ABN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOW DOWN_DEFAULT Model = NBBarracks_ABS Animation = NBBarracks_ABS.NBBarracks_ABS AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End TransitionState = UP_SNOWNIGHT DOWN_DEFAULT Model = NBBarracks_ABSN Animation = NBBarracks_ABSN.NBBarracks_ABSN AnimationMode = ONCE_BACKWARDS AnimationSpeedFactorRange = 2.0 2.0 ; play teardown animations more quickly Flags = START_FRAME_LAST End End PlacementViewAngle = -135 ; ***DESIGN parameters *** DisplayName = OBJECT:Barracks Side = ChinaInfantryGeneral EditorSorting = STRUCTURE BuildCost = 500 BuildTime = 10.0 ; in seconds EnergyProduction = 0 CommandSet = Infa_ChinaBarracksCommandSet VisionRange = 200.0 ; Shroud clearing distance ShroudClearingRange = 200 ArmorSet Conditions = None Armor = StructureArmor DamageFX = StructureDamageFXNoShake End ExperienceValue = 100 100 100 100 ; Experience point value at each level ; *** AUDIO Parameters *** VoiceSelect = BarracksChinaSelect SoundOnDamaged = BuildingDamagedStateLight SoundOnReallyDamaged = BuildingDestroy UnitSpecificSounds UnderConstruction = UnderConstructionLoop End ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD SCORE CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY FS_BARRACKS Body = StructureBody ModuleTag_05 MaxHealth = 1200.0 InitialHealth = 1200.0 ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health. ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own. SubdualDamageCap = 1400 SubdualDamageHealRate = 500 SubdualDamageHealAmount = 100 End Behavior = HealContain ModuleTag_06 ContainMax = 10 ;way bigger than the # of objects we can have TimeForFullHeal = 2000 ;(in milliseconds) AllowInsideKindOf = INFANTRY AllowAlliesInside = Yes AllowNeutralInside = No AllowEnemiesInside = No End Behavior = DestroyDie ModuleTag_07 ;nothing End Behavior = CreateObjectDie ModuleTag_08 CreationList = OCL_LargeStructureDebris End Behavior = FXListDie ModuleTag_09 DeathFX = FX_StructureSmallDeath End Behavior = ProductionUpdate ModuleTag_10 QuantityModifier = Infa_ChinaInfantryMiniGunner 1 End Behavior = QueueProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: -25.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: -25.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML ExitDelay = 300 ; Mainly for the multiple produced Red Guard. Make them come out one at a time. End Behavior = ProductionUpdate ModuleTag_10 QuantityModifier = Infa_ChinaInfantryRedguard 2 End Behavior = QueueProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: -25.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: -25.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML ExitDelay = 300 ; Mainly for the multiple produced Red Guard. Make them come out one at a time. End Behavior = GenerateMinefieldBehavior ModuleTag_12 TriggeredBy = Upgrade_ChinaMines MineName = ChinaStandardMine SmartBorder = Yes AlwaysCircular = Yes Upgradable = Yes UpgradedTriggeredBy = Upgrade_ChinaEMPMines UpgradedMineName = ChinaEMPMine End Behavior = FlammableUpdate ModuleTag_14 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 5 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = TransitionDamageFX ModuleTag_15 ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS------------------- DamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ;--------------------------------------------------------------------------------------- ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave End Behavior = CommandSetUpgrade ModuleTag_25 CommandSet = Infa_ChinaBarracksCommandSetUpgrade TriggeredBy = Upgrade_ChinaMines End Behavior = ArmorUpgrade ModuleTag_26 TriggeredBy = Upgrade_ChinaEMPMines End Behavior = GrantUpgradeCreate ModuleTag_27 UpgradeToGrant = Upgrade_Nationalism ExemptStatus = UNDER_CONSTRUCTION End Geometry = BOX GeometryMajorRadius = 36.0 GeometryMinorRadius = 44.0 GeometryHeight = 30.0 GeometryIsSmall = No FactoryExitWidth = 25 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER End [/code]

Posted by: JoshZemlinsky - Monday, May 26, 2014 3:04:25 AM
Copying the Infantry general .ini is the right thing to do. Just remember to keep the name the same, otherwise it wont 'overwrite' the old one when loading the game. (It loads Root files first, then goes through the .big files in order, i.e. why most mods call patch .big files !!Patch.big) Now from what you said, it sounds like you put the .ini in the wrong folder. It goes into Data/ini/object [grin] Uhm, also. Here's another thing. [code] Behavior = ProductionUpdate ModuleTag_10 QuantityModifier = Infa_ChinaInfantryMiniGunner 1 End Behavior = QueueProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: -25.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: -25.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML ExitDelay = 300 ; Mainly for the multiple produced Red Guard. Make them come out one at a time. End Behavior = ProductionUpdate ModuleTag_10 QuantityModifier = Infa_ChinaInfantryRedguard 2 End Behavior = QueueProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: -25.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: -25.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML ExitDelay = 300 ; Mainly for the multiple produced Red Guard. Make them come out one at a time. End [/code] Remove the lower bit, and put the [color=red]Infa_ChinaInfantryRedguard 2[/color] underneath the one in the existing entry. This here might actually confuse the game, and could also pose a problem (maybe even a crash) Here's how it should look: [quote] Behavior = ProductionUpdate ModuleTag_10 QuantityModifier = Infa_ChinaInfantryMiniGunner 1 [color=green]QuantityModifier = Infa_ChinaInfantryRedguard 2[/color] End Behavior = QueueProductionExitUpdate ModuleTag_11 UnitCreatePoint = X: 0.0 Y: -25.0 Z:0.0 NaturalRallyPoint = X: 36.0 Y: -25.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML ExitDelay = 300 ; Mainly for the multiple produced Red Guard. Make them come out one at a time. End [/quote] Hopefully this will work, otherwise, just replace the existing line, as it's pretty much unneeded o,O Not sure why the developers decided to add that lol.

Posted by: Annihilationzh - Monday, May 26, 2014 9:04:40 AM
[quote=Gameanater;131806]So I'm trying to give good ol' General Fai an option in his Barracks that lets him build a "Red Guard Squad", which basically creates [i]seven[/i] almost-vanilla Red Guards at once. Mr. Zemlinsky said to copy this into his (Fai's) Barrack's code:[/quote] Infantry general's barracks already contains the code for multiple minigunners, but it's set to 1 at a time. To create this mod, all you need to do is modify the existing ProductionUpdate. If you want multiple tank hunters/hackers/other at once, you can simple modify the module: [code=plain] Behavior = ProductionUpdate ModuleTag_10 QuantityModifier = Infa_ChinaInfantryMiniGunner 2 QuantityModifier = Infa_ChinaInfantryTankHunter 2 QuantityModifier = Infa_ChinaInfantryHacker 2 End[/code] For a redguard, you'd have to modify the commandsets as well.

Posted by: Gameanater - Monday, May 26, 2014 9:11:35 AM
Mr. AZH might want to read the post again. I WANT the Mini Gunners to still be produced one at a time. :P Just kidding, both these posts were helpful. XD Thank you Mr. Zemlinsky, and Mr. AZH.

Posted by: Annihilationzh - Monday, May 26, 2014 9:21:34 AM
[quote=Gameanater;131818]Mr. AZH might want to read the post again. I WANT the Mini Gunners to still be produced one at a time.[/quote] Sorry about that. I'm afraid I have no attention to detail whatsoever.

Posted by: Gameanater - Monday, May 26, 2014 7:05:19 PM
[quote=Annihilationzh;131819][quote=Gameanater;131818]Mr. AZH might want to read the post again. I WANT the Mini Gunners to still be produced one at a time.[/quote] Sorry about that. I'm afraid I have no attention to detail whatsoever.[/quote] No problem. [smile] Sometimes I do the same thing. lol