Jump to content


Photo

BFME 2 Ai more money

bfme2 ai money more see mod

  • Please log in to reply
11 replies to this topic

#1 grunshac

grunshac
  • Members
  • 149 posts

Posted 01 April 2015 - 04:04 PM

How to give more money only to the AI ? (starting money and produced money)



#2 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 01 April 2015 - 05:01 PM

Maybe you can use the built in AI upgrades to make them get more money from each structure? (by giving the structure a modifier with PRODUCTION)

Not sure if there is a cleaner way though, might be possible :p


Ridder Geel

#3 grunshac

grunshac
  • Members
  • 149 posts

Posted 01 April 2015 - 06:32 PM

There are some multipliers at The end of gamedata could it be there ?

Edited by grunshac, 02 April 2015 - 04:13 AM.


#4 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 02 April 2015 - 08:08 AM

Maybe, what multipliers? :p

(Post them please :xd: )


Ridder Geel

#5 grunshac

grunshac
  • Members
  • 149 posts

Posted 02 April 2015 - 01:41 PM

;-----------------------------GAME DATA--------------------------------------

  GameData
  ;CheckMemoryLeaks = Yes

  ShellMapName = Maps\ShellMap1\ShellMap1.map
  MapName = Assault.map
  MoveHintName = SCMoveHint
  ShowProps = Yes
  UseFPSLimit = Yes
  FramesPerSecondLimit = 30
  ;Windowed = No ; Please leave this commented during production
  ;XResolution = 800
  ;YResolution = 600
  MaxShellScreens = 8
  UseCloudMap = Yes
  AllowTreeFading = No
  UseLightMap = Yes
  AdjustCliffTextures = Yes
  StretchTerrain = No
  UseHalfHeightMap = No
  ShowObjectHealth = Yes
  HideGarrisonFlags = No
  Use3WayTerrainBlends = 1
  DrawEntireTerrain = No
  TerrainLOD = DISABLE  ; should be handled by options screen.
  TerrainLODTargetTimeMS = 45
  RightMouseAlwaysScrolls = Yes
  UseCloudPlane = Yes
  UseShadowVolumes = Yes
  UseShadowDecals = Yes
  UseShadowMapping = No
  ShowSelectedUnitMarker = Yes
  UseSimpleHordeDecals = No
  UseSimpleMergeDecals = Yes
  OpacityOfSimpleMergeDecals = 35%
  UseBehindBuildingMarker = Yes
  DefaultOcclusionDelay = 3000  ; in ms
  OccludedColorLuminanceScale = 0.5
  WaterPositionX = 0.0
  WaterPositionY = 0.0
  WaterPositionZ = 7.0
  WaterExtentX = 2000.0
  WaterExtentY = 2000.0
  WaterType = 0
  
  
  ; Default Healing & Repair Buff Fx lists
  DefaultUnitHealingBuffFxList     = FX_DefaultUnitHealBuff
  DefaultStructureRepairBuffFxList = DefaultStructureRepairBuffFx
   
  ; when a structure is reduced to rubble, set its z-height to this if nothing else is specified.
  DefaultStructureRubbleHeight = 8.0

  ;the following are for vertex animated water

  //  VertexWaterAvailableMaps1       = Maps\nVidiaDemo\nVidiaDemo.map
  //  VertexWaterHeightClampLow1      = 0.0
  //  VertexWaterHeightClampHi1       = 16.3
  //  VertexWaterAngle1               = 45     ;in degrees
  //  VertexWaterXPosition1           = 2700.0
  //  VertexWaterYPosition1           = -750.0
  //  VertexWaterZPosition1           = 2.9
  //  VertexWaterXGridCells1          = 65
  //  VertexWaterYGridCells1          = 360
  //  VertexWaterGridSize1            = 10.0
  //  VertexWaterAttenuationA1        = 1.0
  //  VertexWaterAttenuationB1        = 0.0
  //  VertexWaterAttenuationC1        = 0.0
  //  VertexWaterAttenuationRange1    = 20.0
  //
  //  ;the following are for vertex animated water
  //  VertexWaterAvailableMaps2       = Maps\CHI03\CHI03.map
  //  VertexWaterHeightClampLow2      = 0.0
  //  VertexWaterHeightClampHi2       = 31.2
  //  VertexWaterAngle2               = -12    ;in degrees
  //  VertexWaterXPosition2           = 282.0
  //  VertexWaterYPosition2           = -20.0
  //  VertexWaterZPosition2           = 3.0
  //  VertexWaterXGridCells2          = 100
  //  VertexWaterYGridCells2          = 200
  //  VertexWaterGridSize2            = 11.0
  //  VertexWaterAttenuationA2        = 1.0
  //  VertexWaterAttenuationB2        = 0.0
  //  VertexWaterAttenuationC2        = 0.0
  //  VertexWaterAttenuationRange2    = 20.0
  //
  //  ;the following are for vertex animated water

  //  VertexWaterAvailableMaps3       = Maps\GLA01\GLA01.map
  //  VertexWaterHeightClampLow3      = 0.0
  //  VertexWaterHeightClampHi3       = 45.0
  //  VertexWaterAngle3               = -12     ;in degrees
  //  VertexWaterXPosition3           = 1424.0
  //  VertexWaterYPosition3           = -270.0
  //  VertexWaterZPosition3           = 2.0
  //  VertexWaterXGridCells3          = 75
  //  VertexWaterYGridCells3          = 360
  //  VertexWaterGridSize3            = 10.0 ;11.0
  //  VertexWaterAttenuationA3        = 1.0
  //  VertexWaterAttenuationB3        = 0.0
  //  VertexWaterAttenuationC3        = 0.0
  //  VertexWaterAttenuationRange3    = 20.0
  //
  //  ;the following are for vertex animated water

  //  VertexWaterAvailableMaps4       = Maps\USA06\USA06.map
  //  VertexWaterHeightClampLow4      = 0.0
  //  VertexWaterHeightClampHi4       = 16.3
  //  VertexWaterAngle4               = 45     ;in degrees
  //  VertexWaterXPosition4           = 2700.0
  //  VertexWaterYPosition4           = -750.0
  //  VertexWaterZPosition4           = 2.9
  //  VertexWaterXGridCells4          = 65
  //  VertexWaterYGridCells4          = 360
  //  VertexWaterGridSize4            = 10.0
  //  VertexWaterAttenuationA4        = 1.0
  //  VertexWaterAttenuationB4        = 0.0
  //  VertexWaterAttenuationC4        = 0.0
  //  VertexWaterAttenuationRange4    = 20.0
  
  DownwindAngle = -0.785    ; Northeast! AKA "Away and to the right" 
  DrawSkyBox = Yes

  ;--------------------------------------------------------------------------
  ;These are the primary camera settings
  ;****CHANGING ANY OF THESE VALUES WILL AFFECT CINEMATICS*****
  ;--------------------------------------------------------------------------

  DefaultCameraMinHeight		= 7.5 //50.0	;Def 120 - The minimum height of the camera relative to the terrain.
  DefaultCameraMaxHeight		= 300.0 //400.0	;Def 300 - The maximum height of the camera relative to the terrain.
  DefaultCameraPitchAngle		= 37.5 //35	;Def 37.5 - The pitch angle of the camera off top down view.
  DefaultCameraYawAngle			= 0.0	;The direction the camera faces by default.
  DefaultCameraScrollSpeedScalar	= 1.0	;How much faster or slower all scrolling is.

  ;------------------------------------------------------------------------------------------------------------
  ;****DO NOT CHANGE ABOVE VALUES *********
  ;****PS: These values haven't been changed since original Generals anyways, this is an educational message.
  ;------------------------------------------------------------------------------------------------------------
  ;------------------------------------------------------------------------------------------------------------
		
  CameraLockHeightDelta = 200 ; Def 150.0
  CameraTerrainSampleRadiusForHeight = 1.0 ;Controls how sensitive the camera height adjust is to nearby terrain. If you move the camera near a mountain, it'll raise up sooner with a large value.
  
  ;;OK TO UNCOMMENT ;;  CameraEaseFactor = 0.2 ;for softening the tethered camera (while locked to an object or a drawable) 
  
  ;These figures are compatible with the new 25-degree projection angle
  ;MaxCameraHeight = 750.0  ;230.0
  ;MinCameraHeight = 430.0
  
  UseCameraInReplay = No	;Not working, don't use it yet.
  CameraAdjustSpeed = 0.3      ; between 0 and 1 - this is how fast the camera snaps to the desired height
  ScrollAmountCutoff = 50.0      ; arbitrary units - above this value, we don't update height while scrolling
  EnforceMaxCameraHeight = No      ; Obey max camera height while scrolling?
  TerrainHeightAtEdgeOfMap = 100.0
  UnitDamagedThreshold = 0.65
  UnitReallyDamagedThreshold = 0.4
  GroundStiffness = 0.8
  StructureStiffness = 0.3
  ; acceleration due to gravity, in dist/sec^2
  ; note that our distance units are roughly one foot, so 
  ; this corresponds to earth-normal gravity (32 ft/sec^2)
  ;Gravity = -32.0
  ; this "feels" better...
  Gravity = -64.0

  PartitionCellSize = 40.0
  TerrainResourceCellSize = 20.0

  ParticleScale = 1.0 ;
  
  AutoFireParticleSmallPrefix   = FireS
  AutoFireParticleSmallSystem   = FireBuildingSmall
  AutoFireParticleSmallMax      = 1
  AutoFireParticleMediumPrefix  = FireM
  AutoFireParticleMediumSystem  = FireBuildingMedium
  AutoFireParticleMediumMax     = 1
  AutoFireParticleLargePrefix   = FireL
  AutoFireParticleLargeSystem   = FireBuildingLarge
  AutoFireParticleLargeMax      = 1
  AutoSmokeParticleSmallPrefix  = SmokeS
  AutoSmokeParticleSmallSystem  = SmokeBuildingSmall
  AutoSmokeParticleSmallMax     = 1
  AutoSmokeParticleMediumPrefix = SmokeM
  AutoSmokeParticleMediumSystem = SmokeBuildingMedium
  AutoSmokeParticleMediumMax    = 1
  AutoSmokeParticleLargePrefix  = SmokeL
  AutoSmokeParticleLargeSystem  = SmokeBuildingLarge
  AutoSmokeParticleLargeMax     = 1
  AutoAflameParticlePrefix      = Aflame
  AutoAflameParticleSystem      = FireBuildingSmall
  AutoAflameParticleMax         = 1

  AmmoPipScaleFactor = 1.5
  ContainerPipScaleFactor = 1.5
  AmmoPipScreenOffset = X:-1.0 Y:0.0        ; note that this is a multiplier to boundingspheresize, NOT an absolute offset
  ContainerPipScreenOffset = X:1.0 Y:0.0    ; note that this is a multiplier to boundingspheresize, NOT an absolute offset
  AmmoPipWorldOffset = X:0.0 Y:0.0 Z:8.0       ; added to position prior to world->screen xform
  ContainerPipWorldOffset = X:0.0 Y:0.0 Z:8.0  ; added to position prior to world->screen xform

  LevelGainAnimationName = LevelGainedAnimation
  LevelGainAnimationTime = 4.0
  LevelGainAnimationZRise = 15.0

  ;;;;;;;;;;;;;;;GetHealedAnimationName = GetHealedAnimation		<- Removed until effect is corrected. 
   GetHealedAnimationTime = 4.0
  GetHealedAnimationZRise = 15.0

  GenericDamageFieldName = GenericDamageField ; The ThingTemplate that DamageFieldNuggets will use
  ;GenericDamageWarningName = GenericDamageWarning ; The Thingtemplate that Damage and Projectile nuggets will use to herald the coming attack

  MaxTerrainTracks = 100  ; how many vehicles can generate tread marks on the terrain.
  TimeOfDay = AFTERNOON
  Weather = NORMAL
  MakeTrackMarks = Yes
  ForceModelsToFollowTimeOfDay = Yes
  ForceModelsToFollowWeather = Yes

  TerrainLightingMorningAmbient = R:128 G:100 B:77
  TerrainLightingMorningDiffuse = R:230 G:180 B:153
  TerrainLightingMorningLightPos = X:-0.96 Y:0.05 Z:-0.29
  TerrainLightingEveningAmbient = R:64 G:59 B:51
  TerrainLightingEveningDiffuse = R:153 G:128 B:102
  TerrainLightingEveningLightPos = X:-1.0 Y:0.0 Z:-0.2
  TerrainLightingNightAmbient = R:26 G:26 B:39
  TerrainLightingNightDiffuse = R:51 G:51 B:77
  TerrainLightingNightLightPos = X:-1.0 Y:1.0 Z:-2.0

  TerrainObjectsLightingMorningAmbient = R:128 G:102 B:77
  TerrainObjectsLightingMorningDiffuse = R:230 G:179 B:153
  TerrainObjectsLightingMorningLightPos = X:-0.96 Y:0.05 Z:-0.29
  TerrainObjectsLightingEveningAmbient = R:64 G:59 B:51
  TerrainObjectsLightingEveningDiffuse = R:153 G:128 B:102
  TerrainObjectsLightingEveningLightPos = X:-1.0 Y:0.0 Z:-0.2
  TerrainObjectsLightingNightAmbient = R:26 G:26 B:39
  TerrainObjectsLightingNightDiffuse = R:51 G:51 B:77
  TerrainObjectsLightingNightLightPos = X:-1.0 Y:1.0 Z:-2.0

  TerrainLightingAfternoonAmbient = R:56 G:52 B:44
  TerrainLightingAfternoonDiffuse = R:255 G:255 B:255
  TerrainLightingAfternoonLightPos = X:-0.81 Y:0.38 Z:-0.45
  TerrainObjectsLightingAfternoonAmbient = R:56 G:52 B:44
  TerrainObjectsLightingAfternoonDiffuse = R:255 G:255 B:255
  TerrainObjectsLightingAfternoonLightPos = X:-0.81 Y:0.38 Z:-0.45

  TerrainLightingAfternoonAmbient2 = R:0 G:0 B:0
  TerrainLightingAfternoonDiffuse2 = R:60 G:60 B:120
  TerrainLightingAfternoonLightPos2 = X:0.79 Y:0.62 Z:-0.00
  TerrainObjectsLightingAfternoonAmbient2 = R:0 G:0 B:0
  TerrainObjectsLightingAfternoonDiffuse2 = R:60 G:60 B:80
  TerrainObjectsLightingAfternoonLightPos2 = X:0.79 Y:0.62 Z:-0.00

  TerrainLightingAfternoonAmbient3 = R:0 G:0 B:0
  TerrainLightingAfternoonDiffuse3 = R:30 G:30 B:20
  TerrainLightingAfternoonLightPos3 = X:0.81 Y:-0.48 Z:-0.34
  TerrainObjectsLightingAfternoonAmbient3 = R:0 G:0 B:0
  TerrainObjectsLightingAfternoonDiffuse3 = R:30 G:30 B:20
  TerrainObjectsLightingAfternoonLightPos3 = X:0.81 Y:-0.48 Z:-0.34

  AudioOn 		= Yes
  MusicOn 		= Yes
  SoundsOn 		= Yes
  SpeechOn 		= Yes
  VideoOn 		= Yes

  DebugAI = No
  DebugAIObstacles 	= No

  MaxRoadSegments 		= 4000
  MaxRoadVertex 		= 3000
  MaxRoadIndex 			= 5000
  MaxRoadTypes 			= 65

  ;;; CAMPAIGN BONUS CAPS
  GoodCommandPointLimit		= 300
  EvilCommandPointLimit		= 600
  PowerLimit			= 60
  ResourceMultiplierLimit	= 5.0
  
  ;;; INITIAL MAX RING LEVEL PLAYER CAN ACHIEVE

  InitialMaxRingLevel = 60 ;2
  
  SkipMapUnroll = Yes	; Skip video of map unroll when entering LivingWorld
  
  ;;; Resource Bonus Percentage

  ResourceBonusMultiplier = 10.0	; 10% bonus per region conquered
  	
  ;;; COMMAND POINTS FOR SOLO PLAY HUMAN (INCLUDING LIVING WORLD) ;;;

  ;
  ;	Command points are:  [starting value] [maximum value].
  ;

  GoodCommandPoints = 100 150
  EvilCommandPoints = 300 350

  GoodCommandPointsBonus = 200 		; bonuses for every territory captures in living world
  EvilCommandPointsBonus = 500 

  ;;; COMMAND POINTS FOR SOLO PLAY AI ;;;
  GoodCommandPointsAI = 600 650
  EvilCommandPointsAI = 600 650

  ;;; COMMAND POINTS FOR MULTIPLAY ;;;
  GoodCommandPointsMP2 = 100 10000		; 2 players
  EvilCommandPointsMP2 = 100 10000

  GoodCommandPointsMP3 = 100 10000		; 3 players
  EvilCommandPointsMP3 = 100 10000

  GoodCommandPointsMP4 = 100 10000		; 4 players
  EvilCommandPointsMP4 = 100 10000

  GoodCommandPointsMP5 = 100 10000		; 5 players
  EvilCommandPointsMP5 = 100 10000

  GoodCommandPointsMP6 = 100 10000		; 6 players
  EvilCommandPointsMP6 = 100 10000

  GoodCommandPointsMP7 = 100 10000		; 7 players
  EvilCommandPointsMP7 = 100 10000

  GoodCommandPointsMP8 = 100 10000		; 8 players
  EvilCommandPointsMP8 = 100 10000

  ;;; START MULTIPLAYER TUNING FACTORS ;;;
  ;;;								1player		2player		3player		4player		5player		6player		7player		8player

  ;; More is more. 1.0 is default. 1.5 is 50% more.

  MultiPlayMoneyMult =		MP1:1.0		MP2:1.0		MP3:1.0		MP4:1.0		MP5:1.0		MP6:1.0		MP7:1.0		MP8:1.0
  MultiPlayUnitXPMult =		MP1:2.0		MP2:2.0		MP3:2.0		MP4:2.0		MP5:2.0		MP6:2.0		MP7:2.0		MP8:2.0
  MultiPlayBuildingXPMult =	MP1:1.0		MP2:1.0		MP3:1.0		MP4:1.0		MP5:1.0		MP6:1.0		MP7:1.0		MP8:1.0
  
  ;; Less is faster. 1.0 is default speed. 0.5 is half the build time
  MultiPlayUnitSpeedMult =	MP1:1.0		MP2:1.0		MP3:1.0		MP4:1.0		MP5:1.0		MP6:1.0		MP7:1.0		MP8:1.0
  MultiPlayBuildingSpeedMult =	MP1:1.0		MP2:1.0		MP3:1.0		MP4:1.0		MP5:1.0		MP6:1.0		MP7:1.0		MP8:1.0
  
  ;;; END MULTIPLAYER TUNING FACTORS ;;;
  
  ;; Handicap Multipliers for Build Speeds. All other handicap values can be found in AttributeModifier.ini under "HandicapPercent5"
  ;  Note: HandicapBuildSpeed5 currently corresponds to a -5% handicap setting in the UI. Likewise for all the other settings.
  ;  The UI currently denotes handicap settings as negatives. Internally I've left handicap settings as positive values.
  ;  For example full handicap mode is the -100% setting in the UI. This corresponds to HandicapBuildSpeed100. Just wanted to make that clear.

  HandicapBuildSpeed5   = 105%
  HandicapBuildSpeed10  = 110%
  HandicapBuildSpeed15  = 115%
  HandicapBuildSpeed20  = 120%
  HandicapBuildSpeed25  = 125%
  HandicapBuildSpeed30  = 130%
  HandicapBuildSpeed35  = 135%
  HandicapBuildSpeed40  = 140%
  HandicapBuildSpeed45  = 145%
  HandicapBuildSpeed50  = 150%
  HandicapBuildSpeed55  = 155%
  HandicapBuildSpeed60  = 160%
  HandicapBuildSpeed65  = 165%
  HandicapBuildSpeed70  = 170%
  HandicapBuildSpeed75  = 175%
  HandicapBuildSpeed80  = 180%
  HandicapBuildSpeed85  = 185%
  HandicapBuildSpeed90  = 190%
  HandicapBuildSpeed95  = 195%
  HandicapBuildSpeed100 = 200%
 
  ValuePerSupplyBox 	= 10
  SupplyBoxesPerTree 	= 90
  
  BuildSpeed = 1.0
  MinDistFromEdgeOfMapForBuild = 30.0  ; buildings may not be constructed this close to a map edge
  SupplyBuildBorder = 20.0  ; min dist you can put a supply center from a supply source

  ;Terrain height at structure footprint must be within this much to 
  ;be considerd "flat" and therefore buildable
  AllowedHeightVariationForBuilding = 10.0

  MinLowEnergyProductionSpeed 	= 0.5
  MaxLowEnergyProductionSpeed 	= 0.8
  LowEnergyPenaltyModifier 	= 1.0
  MultipleFactory 		= 1.0
  RefundPercent 		= 50.0%
  StealthFriendlyOpacity 	= 50.0%

  CommandCenterHealRange 	= 400.0 ; command center heals your/ally stuff this close to the command center
  CommandCenterHealAmount 	= 0.01 ; command center heals close by stuff this amount per logic frame
  MaxLineBuildObjects 		= 50       ; line build style objects can be in a line no longer than this count of objects
  MaxTunnelCapacity 		= 5         ; How many can be in a player's tunnel network.  Limit 10 for UI currently

  ;PRUNED StandardMinefieldDensity    = 0.004    ; in mines per square foot
  ;PRUNED StandardMinefieldDistance   = 40      ; in feet. should generally be larger than typical tank shot range.


  HorizontalScrollSpeedFactor 	= 0.4     ; Factor applied to the maximum RMB scroll speed.  Larger allows faster scrolling.
  VerticalScrollSpeedFactor 	= 0.5       ; Split to account for aspect ratio induced speed limits.  Room to mouse drag.
  
  ScreenEdgeScrollSpeedFactor 	= 1.0		; Factor applied to screen edge scrolling
  ScreenEdgeScrollRampTime 	= 0.25		; Ramp up time for screen edge scrolling in seconds

  KeyboardScrollSpeedFactor 	= 1.0;    ; Factor applied to the maximum keyboard scroll speed.  Larger allows faster scrolling.
  MovementPenaltyDamageState = REALLYDAMAGED  ; Point at which we slow movement

  MaxParticleCount 		= 2500        ; the maximum number of particles that can exist at one time (to 5000 for demo)
  MaxFieldParticleCount 	= 30     ; the number of field type particles rendered to the screen, beyond which this type will begin skipping
                                 ; a field particle is one of Priority AREA_EFFECT and isGroundAligned = Yes
                                 ; Typically these are puddles, toxic contamination, radiation, decontamination, etc.

  ; note that the weapon bonus types are:
  ;"GARRISONED",
  ;"HORDE",
  ;"CONTINUOUS_FIRE_MEAN",
  ;"CONTINUOUS_FIRE_FAST",
  ;"NATIONALISM",
  ;"PLAYER_UPGRADE",
  ;"DRONE_SPOTTING",
  ;"ENTHUSIASTIC",
  ;"VETERAN",
  ;"ELITE",
  ;"HERO",
  ;"BATTLEPLAN_BOMBARDMENT",
  ;"BATTLEPLAN_HOLDTHELINE",
  ;"BATTLEPLAN_SEARCHANDDESTROY",
  ;"SUBLIMINAL",
  ;"SOLO_HUMAN_EASY",
  ;"SOLO_HUMAN_NORMAL",
  ;"SOLO_HUMAN_HARD",
  ;"SOLO_AI_EASY",
  ;"SOLO_AI_NORMAL",
  ;"SOLO_AI_HARD",
  ;
  ; and the weapon bonus 'fields' are:
  ;"DAMAGE",
  ;"RADIUS",
  ;"RANGE",
  ;"RATE_OF_FIRE",
  ;"PRE_ATTACK",

  ;HORDE and NATIONALISM are cumulative bonuses for the China Redguard,
  ;and only apply when they are in a horde. NATIONALISM does not replace HORDE!

  ;ENTHUSIASTIC and SUBLIMINAL are cumulative bonuses for the China Redguard,
  ;and only apply when they are in a horde. SUBLIMINAL does not replace ENTHUSIASTIC!

  WeaponBonus =       HORDE  RATE_OF_FIRE  150%  ;Horded troops fire their weapons 50% faster
  WeaponBonus = NATIONALISM  RATE_OF_FIRE  125%  ;Horded troops with nationalism fire their weapon an additional 25% faster
  WeaponBonus = ENTHUSIASTIC RATE_OF_FIRE  125%  ;In range of a speaker tower, gaining enthusiasm
  WeaponBonus = SUBLIMINAL   RATE_OF_FIRE  125%  ;In range of an upgraded speaker tower, gaining even more enthusiasm

  WeaponBonus =  GARRISONED         RANGE  100%  ; when garrisoned, all weapons get n times normal range
  WeaponBonus =  GARRISONED        DAMAGE  100%  ; when garrisoned, all weapons get n times normal range
   
    
  ;WeaponBonus = VETERAN  RATE_OF_FIRE  100%  
  ;WeaponBonus = VETERAN  DAMAGE        100%
  ;WeaponBonus = ELITE    RATE_OF_FIRE  100%
  ;WeaponBonus = ELITE    DAMAGE        100%
  ;WeaponBonus = HERO     RATE_OF_FIRE  100%  
  ;WeaponBonus = HERO     DAMAGE        100%  

  ;Strategy centers provides bonuses based on the active battleplan!
  WeaponBonus = BATTLEPLAN_BOMBARDMENT       DAMAGE        120%

  WeaponBonus = BATTLEPLAN_SEARCHANDDESTROY  RANGE         120%
  WeaponBonus = BATTLEPLAN_HOLDTHELINE       RATE_OF_FIRE  100% ;Note this does nothing -- just for balancing reference.

  ;These are replaced with the new Upgrade AttributeModifier difficulty system.  This difficulty way was busted.
  ;WeaponBonus = SOLO_AI_EASY   DAMAGE        25%
  ;WeaponBonus = SOLO_AI_NORMAL DAMAGE        75%
  ;WeaponBonus = SOLO_AI_HARD   DAMAGE        125%

  ; you cannot set this; it always has a value of 100%.
  ; HealthBonus_Regular = 100%
  ;HealthBonus_Veteran = 100%
  ;HealthBonus_Elite   = 100%
  ;HealthBonus_Heroic  = 100%

  HumanSoloPlayerHealthBonus_Easy    = 100%
  HumanSoloPlayerHealthBonus_Normal  = 100%     ; ie, unadjusted
  HumanSoloPlayerHealthBonus_Hard    = 100%
  
  AttributeModifierArmorMaxBonus = 75%		; ARMOR type bonuses in AttributeModifier.ini are summed, so this is the cap for them to prevent invincibility

  ; Audio parameters
  ;VolumeDistribution = Linear          ; for linear falloff
  ;VolumeDistribution = MuLaw            ; for S-Curve falloff
  ;VolumeMuValue = 6.0                  ; defines the steepness of the S, must be >=0, higher is steeper.

  GroupSelectMinSelectSize = 5
  GroupSelectVolumeBase = 0.5
  GroupSelectVolumeIncrement = 0.02
  MaxUnitSelectSounds = 8
  
  DamageRadiusMinimumForSplash = 4.0	; Need to be more than this in order to hurt more than a single target.  Fixes "projectiles explode at radius 2" vs "our guys overlap a lot"

  SelectionFlashSaturationFactor = 0.5  ; zero leaves color unaffected, 4.0 is purely saturated
  SelectionFlashHouseColor       = No  ; if 'No', selection flashes white

  CameraAudibleRadius = 201             ; defines the radius that we can hear when the camera is looking up.
  GroupMoveClickToGatherAreaFactor = 0.5; if you take all the selected units and calculate the smallest possible rectangle
                                        ; that contains them all, and click within that, all the selected units will break 
                                        ; formation and gather at the point the user clicked (if the value is 1.0). If it's 
                                        ; 0.0, units will always keep their formation. If it's <1.0, then the user must 
                                        ; click a smaller area within the rectangle to order the gather.

  ShakeSubtleIntensity      	= 0.5
  ShakeNormalIntensity      	= 1.0
  ShakeStrongIntensity      	= 2.5
  ShakeSevereIntensity      	= 5.0
  ShakeCineExtremeIntensity 	= 7.5       ;Cinematic reserved -- don't use for game stuff because it can change.
  ShakeCineInsaneIntensity  	= 10.0      ;Cinematic reserved -- don't use for game stuff because it can change.

  MaxShakeIntensity    		= 10.0
  MaxShakeRange        		= 150.0

  SellPercentage       		= 50% ; You get this percentage back of the cost to build
  
  BaseRegenHealthPercentPerSecond = 0.3% ;You get this % of max health back per second from auto base regeneration
  BaseRegenDelay                  = 3000 ;in MS, delay in frames we must be damage free before we can auto heal from base regeneration
  



  SpecialPowerViewObject = SuperweaponPing ; Name of the object created for superweapons to let you watch what happens
                                 
  ; this is a list of bones that will always be exposed to Logic.
  ; please note that this is really here for quick backwards compatibility with old code,
  ; which didn't require declaring which bones you wanted to be able to use from logic...
  ; so PLEASE DO NOT ADD TO THIS LIST; if you need to expose new bones for a particular
  ; unit, please use the "ExtraPublicBone" INI keyword on a per-unit basis instead
  ; (see the airfields for an example).
 
  StandardPublicBone = FirePoint
  StandardPublicBone = Target_Left
  StandardPublicBone = Target_Right
  StandardPublicBone = ExitStart
  StandardPublicBone = ExitEnd
  StandardPublicBone = Muzzle
  StandardPublicBone = PARA_COG
  StandardPublicBone = PARA_ATTCH
  StandardPublicBone = PARA_MAN
  StandardPublicBone = ExitStart
  StandardPublicBone = DockStart
  StandardPublicBone = DockAction
  StandardPublicBone = DockEnd
  StandardPublicBone = DockWaiting
  StandardPublicBone = WeaponA
  StandardPublicBone = Smoke
  StandardPublicBone = Fire
  StandardPublicBone = WaterSpray
  StandardPublicBone = Spray
  StandardPublicBone = WaterSprayBig
  StandardPublicBone = Steam
  StandardPublicBone = Propeller
  StandardPublicBone = SpawnPoint
  StandardPublicBone = FireS
  StandardPublicBone = FireM
  StandardPublicBone = FireL
  StandardPublicBone = SmokeS
  StandardPublicBone = SmokeM
  StandardPublicBone = SmokeL
  StandardPublicBone = Aflame
  StandardPublicBone = SIEGETOWER

  DefaultStartingCash = 1500 ;The amount of cash the player starts with by default.

  UnlookPersistDuration = 1 ; How long after you stop looking until the fog grows back

  ShroudColor 		= R:255 G:255 B:255
  ClearAlpha 		= 255
  FogAlpha 		= 127
  ShroudAlpha 		= 0 ; 0 is opaque, 255 is clear.  Unsigned Byte
  TaintOn 		= Yes
  TaintColor 		= R:120 G:90 B:80
  TaintAlpha 		= 0 ; 
  ElvenWoodColor	= R:70 G:120 B:50

  ; Network timing settings.  Don't mess with these unless you know what you're doing!
  ; If you are tempted to mess with these, please let me know. 
  ; This does not imply that I know what I'm doing.
  NetworkFPSHistoryLength = 30      ; The number of fps history entries.
  NetworkLatencyHistoryLength = 200 ; The number of ping history entries.
  NetworkRunAheadMetricsTime = 5000 ; The number of miliseconds between run ahead metrics things
  NetworkCushionHistoryLength = 10  ; The number of cushion values to keep.
  NetworkRunAheadSlack = 10         ; The amount of slack in the run ahead value.  This is the percentage of the calculated run ahead that is added.
  NetworkKeepAliveDelay = 20        ; The number of seconds between when the connections to each player send a keep-alive packet.
  NetworkDisconnectTime = 15000     ; The number of milliseconds between when the game gets stuck on a frame for a network stall and when the disconnect dialog comes up.
  NetworkPlayerTimeoutTime = 60000  ; The number of milliseconds between when a player's last keep alive command was recieved and when they are considered disconnected from the game.
  NetworkDisconnectScreenNotifyTime = 15000 ; The number of milliseconds between when the disconnect screen comes up and when the disconnect notification is sent to the other players.

  KeyboardCameraRotateSpeed = 0.1   ; How fast the camera rotates when rotated via keyboard controls.

  UserDataLeafName = "My Battle for Middle-earth 2 Files"

  DefaultVoiceAttackChargeTimeout = 10000  ; Default for milliseconds after using VoiceAttackCharge before VoiceAttackCharge will used again

  DefaultMaxDistanceForEngaged = 33 ; Default for Object's MaxDistanceForEngaged
  DefaultEngagedStateTimeout = 1000 ; Default for Object's EngagedStateTimeout

  AnimationSharingCap              = 100    ; share at most 100 animations. This is a target only. It can go above it if it has no choice.
  AnimationSharingFrameTolerance   = 5      ; 5 frames of animation difference to accept for sharing
  AnimationSharingSpeedTolerance   = 0.1f   ; the speed differential of animation to accept for sharing
  AnimationSharingWorryThreshold   = 0.25f  ; threshold before we start to take some measures to share more animations
  AnimationSharingDrasticThreshold = 0.50f  ; threshold before we start to take drastic measures to share more animations


  ParticleCursorAnim2DTemplateName  	= GetHealedAnimation   	; animated texture
  ParticleCursorBurstCount		= 2            		; number of particles to emit every update
  ParticleCursorBurstFactor		= 1 1          		; multiply burst count by this factor
  ParticleCursorStopBurstFactor		= 0.5		   	; when mouse stopped, don't emit as much (0..1)
  ParticleCursorBurstFrequency		= 3                	; when mouse moves, emit every third pixel
  ParticleCursorParticleLife        	= 0 0.3                	; life of particle is this * 30 frames
  ParticleCursorSystemLife         	= 0 0                  	; not used
  ParticleCursorDriftVelX           	= 0 6                  	; particle drift velocity in x
  ParticleCursorDriftVelY           	= 0 6                  	; drift velocity in y
  ParticleCursorVelocityDrag        	= 0.95 0.95            	; velocity drag
  ParticleCursorParticleSize        	= 8 18                 	; particle draw size
  ParticleCursorPerFrameSize        	= Yes                 	; choose new particle size every update for extra jitter
  ParticleCursorAlpha               	= 150                  	; particle draw alpha
  ParticleCursorOffset              	= X:10 Y:10            	; emit partciles offset by this many pixels from the cursor

  ; progress movie of rotating ring

  ProgressMovieOffset               = X:-118 Y:-128
  ProgressMovieSize                 = X:64 Y:64
  
  UseHelpTextSystem = Yes
  EnableHouseColor	= No
  
  TreeFadeObjectFilter = ANY +INFANTRY +CAVALRY -HARVESTER -IGNORED_IN_GUI
  CamouflageDetectorObjectFilter = ANY +INFANTRY +CAVALRY +HERO +MONSTER +MACHINE
  VeterancyPipDrawObjectFilter = ANY +HORDE +MONSTER +DwarvenBattleWagon +IsengardBeserker -HERO
  
  ReinvisibityDelay = 2000
  InvisibilityOpacityMin = 0.4
  InvisibilityOpacityMax = 3
  InvisibilityOpacityCycleFrames = 10

  BuilderFadeOutTime = 1000	//	msec
  BuilderFadeInTime = 1000	//	msec
  BuilderMoveFromNewStructureDistance = 20
  MaxCastleRadius			= 130	//This needs to be set to the largest castle we have.


						; Note: dead and destroyed are always ignored.
  VictoryConditionStructureObjectFilter	= NONE +STRUCTURE -IGNORE_FOR_VICTORY -UNATTACKABLE -ECONOMY_STRUCTURE -WALL_UPGRADE -WALL_HUB -WALL_SEGMENT -DEFENSIVE_WALL -Inn -ShipWright -Outpost -SignalFire -CaptureFlag -ShireGreenDragon
  
						; NOT_AUTOACQUIRABLE here for the non selectable workers.
  VictoryConditionUnitObjectFilter		= ANY -DOZER -NOT_AUTOACQUIRABLE -MordorWorker



  BasicTutorialMap = "Maps\MAP Beginner Tutorial\MAP Beginner Tutorial.map"
  //BasicTutorialLoadMovie = Good_BattleLastAlliance_Intro
  BasicTutorialLoadScreenStillImage			= CampaignGoodBasic_Tutorial_LoadScreen
  ;BasicTutorialLoadScreenVoiceTrack				= GoodIntroIsengard1
  BasicTutorialLoadScreenMusicTrack				= Shell2Music
  BasicTutorialObjective = SCRIPT:GOODLASTALLIANCETextString_27
  BasicTutorialMillisecondsAfterStartToStartFadeUp = 1400

  AdvancedTutorialMap = "Maps\MAP Advanced Tutorial\MAP Advanced Tutorial.map"
  //AdvancedTutorialLoadMovie = Good_BattleLastAlliance_Intro
  AdvancedTutorialLoadScreenStillImage		= CampaignGoodAdvanced_Tutorial_LoadScreen
  ;AdvancedTutorialLoadScreenVoiceTrack				= GoodIntroIsengard1
  AdvancedTutorialLoadScreenMusicTrack				= Shell2Music
  AdvancedTutorialObjective = SCRIPT:GOODLASTALLIANCETextString_27
  AdvancedTutorialMillisecondsAfterStartToStartFadeUp = 1400

  ; Score keeper data:

  ObjectsThatScore							= ANY +SCORE
  ScoreKeeper_UnitsBuiltMultiplier					= 0
  ScoreKeeper_UnitsDestroyedMultiplier					= 0
  ScoreKeeper_StructuresBuiltMultiplier					= 10
  ScoreKeeper_StructuresDestroyedMultiplier				= 500  	//100
  ScoreKeeper_HeroesVettedMultiplier					= 0
  ScoreKeeper_UnitsVettedMultiplier					= 0
  ScoreKeeper_ObjectivesCompletedMultiplier				= 2000
  ScoreKeeper_SuppliesCollectedMultiplier				= 1
  ScoreKeeper_SkillPointsMultiplier					= 2
  ScoreKeeper_PowerPointsMultiplier					= 500  	//100
  ScoreKeeper_RegionCommandPointsMultiplier				= 10
  ScoreKeeper_RegionResourcesMultiplier					= 100
  ScoreKeeper_RegionPowerPointsMultiplier				= 1000
  ScoreKeeper_TimeTakenMultiplier					= 10
  ScoreKeeper_TimeTakenMaximumScore					= 1000
  ScoreKeeper_TimeTakenMinimumScore					= 0
  ScoreKeeper_TotalVictoryRequiredScore					= 0
  ScoreKeeper_NormalVictoryRequiredScore				= 10000
  ScoreKeeper_NormalVictoryRequiredObjectivesPercentage 		= 50
  ScoreKeeper_PlayerEliminatedMultiplier				= 0.25
  
  TintUnitIfPathingForMoreThan = 0	; in milliseconds, 0 to turn off
  
  GarrisonedRangeMultiplier = 1.25				; percentage multiplier of attack range -1 means no adjustment

	; Pathfinder related - no touchy :) [mh]
	MaxPathfindCellsPerFrame			=	4000
	MaxCellsFindMeleeEngagementLocation		=	50
	MaxCellsAdjustDestination			=	400
	MaxCellsAdjustHordeMeleeDestination		=	200
	MaxCellsAdjustTargetDestination			=	400
	MaxCellsAdjustToPossibleDestination		=	400
	MaxCellsAdjustToMeleeDestination		=	400
	MaxCellsAdjustToNearestGroundCell		=	400
	MaxCellsAdjustToNearestValidCell		=	400
	MaxCellsPatchPath				=	2000
	MaxCellsFindPathLimit				=	15000
	MaxCellsFindAttackPath				=	2500
	MaxCellsFindAttackPathSideways			=	2500
	MaxCellsToExamineTowardsGoal			=	25000

	NumMinutesBeforePlayersCanTransferMoney = 5

	//MaxNumMembersToForceToImmediatelyEnter	= 1
	//WaitToForceMemberToEnterDelay			= 5 //	In logic frames
End



#6 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 02 April 2015 - 04:22 PM

Hm... Nah I dont think so.

In playertemplate.ini you have:

    ResourceModifierObjectFilter     = RESOURCE_MODIFIER_OBJECT_FILTER
    ResourceModifierValues        = 100 100 100 95 90 85 80 75 71 68 66

See what happens if you change those values? (Although I have the idea these might be for non AI players too :p)

Otherwise you might need to do the modifier thing :p


Ridder Geel

#7 grunshac

grunshac
  • Members
  • 149 posts

Posted 02 April 2015 - 04:52 PM

its for player or for player and AI



#8 grunshac

grunshac
  • Members
  • 149 posts

Posted 02 April 2015 - 05:00 PM

EconomyBuilderMinFarmsOwned = 5
	EconomyBuilderMinMoney = 200
	EconomyBuilderPerFarmValue = 70
	EconomyBuilderPerSecPriorityIncreaseBase = 30.0
	EconomyBuilderMinTimeBetweenFarms_Rush = 20.0f;

these values may change something ?



#9 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 03 April 2015 - 06:54 AM

Well sure you can increase that, but that just changes how many farms the AI wants to have at minimum, but yea sure it tweaks that a little bit, and yes its part of the AI, so go ahead, tweaking the AI is usually an interesting testing moment :p


Ridder Geel

#10 grunshac

grunshac
  • Members
  • 149 posts

Posted 03 April 2015 - 08:46 AM

i used this in the end :p

BrutalDifficultyCheats TheBrutalDifficultyCheats //Tip from Robnkarla: This is same as "Hard" but with this modification! Makes AI build MORE, not faster! //Naz
		BuildCostReduction 	= 50% //15%
		BuildTimeReduction 	= 50% //15%
	End


#11 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 03 April 2015 - 12:45 PM

Yes but that's only for the Brutal AI, which is why i didn't suggest it :p I thought u wanted to increase it for the AI in general ;)


Ridder Geel

#12 grunshac

grunshac
  • Members
  • 149 posts

Posted 03 April 2015 - 01:05 PM

i play only on brutal so its good for me :p


Edited by grunshac, 06 April 2015 - 06:16 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users