;////////////////////////////////////////////////////////////////////////////// ;FILE: Crate.ini (SYSTEM) //////////////////////////////////////////////////// ;////////////////////////////////////////////////////////////////////////////// ; This file holds both the CrateData structures that define the conditions ; for creating a crate and the Objects that represent Crates in the game world ; which are simply Objects with CrateCollide modules. ; A CrateData name is what a CrateDie module will reference in its DieData. ; A Crate is an Object referenced by a CrateData in the CrateObject field to get created on success. ; CreationChance is the only Condition that is mandatory, since it defaults to zero. ; Below the definitions of CrateData are the actual Crate Objects. The only important parts there are the ; name of the model, the type of Collide module, and the data to that module. ; Also included is a sample Die module that must be added to the object in Faction*.ini. ; The CrateData entry is what connects the crate listings here to the objects that make them. ; Multiple CrateData entries mean AND, multiple CrateObject entries mean OR. ; Remember that, it will make total sense in a minute. ; -=-=-=-=-=-=- EXAMPLE -=-=-=-=-=-=- ; ***Give this Die Module to whomever you want to produce a crate on death ;Behavior = CreateCrateDie ;; CrateData = TestCrate ; These listings are not guarantees, the Conditions are in the CrateData ; CrateData = TestCrate2 ; These independent listings can each produce at most one Crate ;End ; ***Now define the CrateData you mentioned in the Die modules ; The CreationChance is the only required field, the other two are optional. 1.0 for Chance means always ;CrateData TestCrate ; CreationChance = 0.75 ; Between 0 and 1, this adds a random condition to this entire CrateData ; VeterancyLevel = ELITE ; REGULAR, VETERAN, ELITE, or HEROIC: This describes the victim holding the CrateDie ; KilledByType = SALVAGER ; This is the KINDOF that needs to be the killer to make the crate. This should be on the Missile as well as the Missile firing unit ; ; CrateObject = CrateTemplate 0.4 ; If all Conditions suceed, then this Object is created ; CrateObject = CrateTemplate2 0.6 ; The percent here should add up to 1.0, and allows multiple choices within the one CrateData ; ; Utility Flags: ; OwnedByMaker = Yes, to have the Crate assigned to the default team of the dead guy's player for scripting. ;End ; ***Now add one of the following CollideModules to the CrateTemplate below. ; ForbidOwnerPlayer = Yes Works with OwnedByMaker (or by explicit ownership script) to prevent a certain ; player from picking up the crate. It can be used in any CrateCollide. ; BuildingPickup = Yes lets the crate be picked up by a building, for plane drops. It can be used in any CrateCollide. ; HumanOnly = Yes let's the crate only be picked up by Humans, mostly for scripted stuff ; PickupScience Forces the player owning the unit trying to get the crate to have a certain science. ; Only some of these have CollideData. ;Behavior = HealCrateCollide ; A crate that heals everything you own, no Data ; ;nothing ;End ; ;Behavior = MoneyCrateCollide ; A crate that gives x dollars ;; MoneyProvided = 2000 ;End ; Behavior = SalvageCrateCollide ; WeaponChance = 100% ; If we are WeaponSalvager, this is the chance we get a WeaponSet upgrade if not fully upgraded ; LevelChance = 25% ; Either we are just a regular Salvager, or we are fully upgraded. This is the chance we gain a level ; MoneyChance = 75% ; And this is the chance we get money. Level + Money = 100%. Weapon is an idependant FirstChance ; MinMoney = 25 ; If we get money, this is how much we get. Make them different to get a random range. ; MaxMoney = 75 ; End ; A crate specific to the SALVAGER type units ;Behavior = ShroudCrateCollide ; A crate that reveals the whole shroud on the map, no Data ;Behavior = UnitCrateCollide ; A crate that provides n units of type x ;; UnitCount = 1 ; UnitName = AmericaTankCrusader ;End ;Behavior = VeterancyCrateCollide ; A crate that gives everyone within n distance a level if they are trainable ;; EffectRange = 20 ;End ; ***Here is a default crate that just needs its Model filled out, and one appropriate Collide module plugged in ;Object CrateTemplate ; ; *** ART Parameters *** ; Draw = W3DModelDraw ;; DefaultConditionState ; Model = TempBldgSm ;***Plug model here ; End ; End ; ; ***DESIGN parameters *** ; EditorSorting = MISC_MAN_MADE ; MaxHealth = 1.0 ; InitialHealth = 1.0 ; ; *** ENGINEERING Parameters *** ; KindOf = CRATE ; Behavior = MoneyCrateCollide ;***Replace Collide module (and data if needed) here ;; MoneyProvided = 2000 ; End ; Geometry = BOX ; GeometryMajorRadius = 4.0 ; GeometryMinorRadius = 4.0 ; GeometryHeight = 4.0 ; GeometryIsSmall = Yes ;End ; -=-=-=-=-=-=-=-=- END EXAMPLE -=-=-=-=-=-=-=-=- ; ----------------------------------------------- Crate Data -------------------------------------- CrateData SalvageCrateData CreationChance = 1.0 KilledByType = SALVAGER KillerScience = SCIENCE_GLA ; Killed by a salvager unit owned by a GLA player CrateObject = SalvageCrate 1.0 End CrateData EliteTankCrateData CreationChance = .75 VeterancyLevel = ELITE CrateObject = 1000DollarCrate .75 CrateObject = SmallLevelUpCrate .25 End CrateData HeroicTankCrateData CreationChance = 1.0 VeterancyLevel = HEROIC CrateObject = 2500DollarCrate .50 CrateObject = MediumLevelUpCrate .25 CrateObject = 2FreeCrusadersCrate .25 End ;------------------------------------------------- Map specific CrateData ;------------------------------------------- GLA02 CrateData GLA02_Always100DollarCrate CreationChance = 1.0 CrateObject = 100DollarCrate 1.0 OwnedByMaker = Yes End CrateData GLA02_Always200DollarCrate CreationChance = 1.0 CrateObject = 200DollarCrate 1.0 OwnedByMaker = Yes End CrateData GLA02_Always1000DollarCrate CreationChance = 1.0 CrateObject = 1000DollarCrate 1.0 OwnedByMaker = Yes End CrateData GLA02_Always1500DollarCrate CreationChance = 1.0 CrateObject = 1500DollarCrate 1.0 OwnedByMaker = Yes End CrateData GLA02_Always2500DollarCrate CreationChance = 1.0 CrateObject = 2500DollarCrate 1.0 OwnedByMaker = Yes End ;------------------------------------------------ Crate Objects ----------------------------------- ; ----------------------------------------------------------------------------- Object SalvageCrate ; *** ART Parameters *** Draw = W3DScienceModelDraw ModuleTag_01 RequiredScience = SCIENCE_GLA ; Only GLA players and observers can see us. DefaultConditionState Model = PMJnkCrate End End ; ***DESIGN parameters *** EditorSorting = MISC_MAN_MADE ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE SELECTABLE ;Only Salvage crates are marked Selectable so the Mouse can interact with them and give Salvage voices. Being dead makes them not actually selectable Behavior = SalvageCrateCollide ModuleTag_02 ForbiddenKindOf = PROJECTILE PickupScience = SCIENCE_GLA ; Only GLA players can pick this up (Draw module makes it so only they can see it) ;ExecuteFX = FX_CratePickup ; FXList to play when sucessfully picked up WeaponChance = 100% ; If we are WeaponSalvager, this is the chance we get a WeaponSet upgrade if not fully upgraded LevelChance = 25% ; Either we are just a regular Salvager, or we are fully upgraded. This is the chance we gain a level MoneyChance = 75% ; And this is the chance we get money. Level + Money = 100%. Weapon is an idependant FirstChance MinMoney = 25 ; If we get money, this is how much we get. Make them different to get a random range. MaxMoney = 75 End Behavior = DeletionUpdate ModuleTag_03 ; Not LifetimeUpdate, since I can't die. This will DestroyObject me. MinLifetime = 30000 MaxLifetime = 35000 End Geometry = BOX GeometryMajorRadius = 12.0 GeometryMinorRadius = 12.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ; ----------------------------------------------------------------------------- Object 1000DollarCrate ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMUNCrate03 ;***Plug model here ParticleSysBone = FX1 glitter2 End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE TransportSlotCount = 1 ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = MoneyCrateCollide ModuleTag_ForbiddenChanges ForbiddenKindOf = PROJECTILE MoneyProvided = 1000 ;ExecuteFX = FX_CratePickup ExecuteAnimation = MoneyPickUp ExecuteAnimationTime = 4.0 ; In seconds ExecuteAnimationZRise = 15.0 ; Z world units per second to rise ExecuteAnimationFades = Yes ; Animation does/doesn't fade out End Behavior = SquishCollide ModuleTag_03 ;nothing End Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Shadow = SHADOW_VOLUME Geometry = BOX GeometryMajorRadius = 12.0 GeometryMinorRadius = 12.0 GeometryHeight = 12.0 GeometryIsSmall = Yes End ; ----------------------------------------------------------------------------- Object 2500DollarCrate ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMUNCrate03 ;***Plug model here ParticleSysBone = FX1 glitter2 End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE TransportSlotCount = 1 ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = MoneyCrateCollide ModuleTag_ForbiddenChanges ForbiddenKindOf = PROJECTILE MoneyProvided = 2500 ;ExecuteFX = FX_CratePickup ExecuteAnimation = MoneyPickUp ExecuteAnimationTime = 4.0 ; In seconds ExecuteAnimationZRise = 15.0 ; Z world units per second to rise ExecuteAnimationFades = Yes ; Animation does/doesn't fade out End Behavior = SquishCollide ModuleTag_03 ;nothing End Shadow = SHADOW_VOLUME Geometry = BOX GeometryMajorRadius = 12.0 GeometryMinorRadius = 12.0 GeometryHeight = 12.0 GeometryIsSmall = Yes End ; ----------------------------------------------------------------------------- Object SmallLevelUpCrate ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMCrates ;***Plug model here End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = VeterancyCrateCollide ModuleTag_02 ForbiddenKindOf = PROJECTILE EffectRange = 100 ;ExecuteFX = FX_CratePickup End Geometry = BOX GeometryMajorRadius = 4.0 GeometryMinorRadius = 4.0 GeometryHeight = 4.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ; ----------------------------------------------------------------------------- Object MediumLevelUpCrate ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMCrates ;***Plug model here End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = VeterancyCrateCollide ModuleTag_02 ForbiddenKindOf = PROJECTILE ;ExecuteFX = FX_CratePickup EffectRange = 250 End Geometry = BOX GeometryMajorRadius = 4.0 GeometryMinorRadius = 4.0 GeometryHeight = 4.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ; ----------------------------------------------------------------------------- Object 2FreeCrusadersCrate ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMCrates ;***Plug model here End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = UnitCrateCollide ModuleTag_02 ForbiddenKindOf = PROJECTILE ;ExecuteFX = FX_CratePickup UnitCount = 2 UnitName = AmericaTankCrusader End Shadow = SHADOW_VOLUME Geometry = BOX GeometryMajorRadius = 4.0 GeometryMinorRadius = 4.0 GeometryHeight = 4.0 GeometryIsSmall = Yes End ; ----------------------------------------------------------------------------- ;RTO Look Here ; ----------------------------------------------------------------------------- ; ----------------------------------------------------------------------------- Object 100DollarCrate ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMUNCrate03 ;***Plug model here ParticleSysBone = FX1 glitter2 End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE TransportSlotCount = 1 ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = MoneyCrateCollide ModuleTag_ForbiddenChanges ForbiddenKindOf = PROJECTILE MoneyProvided = 100 ;ExecuteFX = FX_CratePickup ExecuteAnimation = MoneyPickUp ExecuteAnimationTime = 4.0 ; In seconds ExecuteAnimationZRise = 15.0 ; Z world units per second to rise ExecuteAnimationFades = Yes ; Animation does/doesn't fade out End Behavior = SquishCollide ModuleTag_03 ;nothing End Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Shadow = SHADOW_VOLUME Geometry = BOX GeometryMajorRadius = 12.0 GeometryMinorRadius = 12.0 GeometryHeight = 12.0 GeometryIsSmall = Yes End ; ----------------------------------------------------------------------------- Object 200DollarCrate ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMUNCrate03 ;***Plug model here ParticleSysBone = FX1 glitter2 End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE TransportSlotCount = 1 ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = MoneyCrateCollide ModuleTag_ForbiddenChanges ForbiddenKindOf = PROJECTILE MoneyProvided = 200 ;ExecuteFX = FX_CratePickup ExecuteAnimation = MoneyPickUp ExecuteAnimationTime = 4.0 ; In seconds ExecuteAnimationZRise = 15.0 ; Z world units per second to rise ExecuteAnimationFades = Yes ; Animation does/doesn't fade out End Behavior = SquishCollide ModuleTag_03 ;nothing End Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Geometry = BOX GeometryMajorRadius = 12.0 GeometryMinorRadius = 12.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ; ----------------------------------------------------------------------------- Object 100DollarCrateForBuildings ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMUNCrate03 ;***Plug model here ParticleSysBone = FX1 glitter2 End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE TransportSlotCount = 1 ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = MoneyCrateCollide ModuleTag_ForbiddenChanges ForbiddenKindOf = PROJECTILE MoneyProvided = 100 BuildingPickup = Yes ;ExecuteFX = FX_CratePickup ExecuteAnimation = MoneyPickUp ExecuteAnimationTime = 4.0 ; In seconds ExecuteAnimationZRise = 15.0 ; Z world units per second to rise ExecuteAnimationFades = Yes ; Animation does/doesn't fade out End Behavior = SquishCollide ModuleTag_03 ;nothing End Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Geometry = BOX GeometryMajorRadius = 12.0 GeometryMinorRadius = 12.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ; ----------------------------------------------------------------------------- Object SupplyDropZoneCrate ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMUNCrate03 ;***Plug model here Animation = PMUNCrate03.PMUNCrate03 AnimationMode = LOOP ParticleSysBone = FX1 glitter2 End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE TransportSlotCount = 1 ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = MoneyCrateCollide ModuleTag_ForbiddenChanges ForbiddenKindOf = PROJECTILE MoneyProvided = 250 BuildingPickup = Yes ;ExecuteFX = FX_CratePickup ExecuteAnimation = MoneyPickUp ExecuteAnimationTime = 4.0 ; In seconds ExecuteAnimationZRise = 15.0 ; Z world units per second to rise ExecuteAnimationFades = Yes ; Animation does/doesn't fade out End Behavior = SquishCollide ModuleTag_03 ;nothing End Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Geometry = BOX GeometryMajorRadius = 12.0 GeometryMinorRadius = 12.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End ; ----------------------------------------------------------------------------- Object 1500DollarCrate ; *** ART Parameters *** Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = PMUNCrate03 ;***Plug model here ParticleSysBone = FX1 glitter2 End End ; ***DESIGN parameters *** DisplayName = OBJECT:Crate EditorSorting = MISC_MAN_MADE TransportSlotCount = 1 ; *** ENGINEERING Parameters *** KindOf = PARACHUTABLE CRATE Behavior = MoneyCrateCollide ModuleTag_ForbiddenChanges ForbiddenKindOf = PROJECTILE MoneyProvided = 1500 ;ExecuteFX = FX_CratePickup ExecuteAnimation = MoneyPickUp ExecuteAnimationTime = 4.0 ; In seconds ExecuteAnimationZRise = 15.0 ; Z world units per second to rise ExecuteAnimationFades = Yes ; Animation does/doesn't fade out End Behavior = SquishCollide ModuleTag_03 ;nothing End Behavior = PhysicsBehavior ModuleTag_04 Mass = 75.0 End Geometry = BOX GeometryMajorRadius = 12.0 GeometryMinorRadius = 12.0 GeometryHeight = 12.0 GeometryIsSmall = Yes Shadow = SHADOW_VOLUME End