warves" in the string file is what makes this appear in MP as a playable side. And the skirmish scripts are what actually make it function.
Evil = No
StartMoney = 0
MaxLevelMP= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_DEFAULT PLAYER_PURCHASE_POINTS_GRANTED )
MaxLevelSP= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_GOOD PLAYER_PURCHASE_POINTS_GRANTED )
PreferredColor= R:43 G:150 B:179
StartingBuilding= DwarvenFortress
;------------- NO STARTING UNITS FOR YOU -------
StartingUnit0 = DwarvenPorter
StartingUnitOffset0 = X:1 Y:230 Z:0
StartingUnit1 = DwarvenPorter
StartingUnitOffset1 = X:1 Y:150 Z:0
StartingUnitTacticalWOTR= DwarvenPorter
StartingUnitTacticalWOTR= DwarvenPorter
IntrinsicSciences= SCIENCE_GOOD
IntrinsicSciencesMP = SCIENCE_DWARVES
SpellBook= GoodSpellBook
SpellBookMp= DwarvesSpellBook
PurchaseScienceCommandSet= GoodSpellStoreCommandSet
PurchaseScienceCommandSetMP= DwarvesSpellStoreCommandSet
DisplayName= INI:FactionDwarves
DefaultPlayerAIType= DwarvesSkirmishAI; Needs to exist before I can change it.
BeaconName= MultiplayerBeacon
LightPointsUpSound= GondorLightPointsUp
ObjectiveAddedSound= Gui_MissionObjectiveNew
ObjectiveCompletedSound= Gui_MissionObjectiveCompleted
InitialUpgrades= Upgrade_DwarfFaction;Any upgrades this player template is born with.// NOTE: It is very important that the create-a-hero be the first buildable hero, to ensure that the create-a-hero and the ring hero are always
// attached to the first two buttons in the command set.
BuildableHeroesMP= CreateAHero DwarvenGloin DwarvenGimli DwarvenDain GondorAragorn ElvenLegolas TomBombadil
BuildableRingHeroesMP= ElvenGaladriel_RingHero
SpellStoreCurrentPowerLabel = APT:SpellStoreCurrentEvenstarPower
SpellStoreMaximumPowerLabel = APT:SpellStoreMaximumEvenstarPower
ResourceModifierObjectFilter = RESOURCE_MODIFIER_OBJECT_FILTER
ResourceModifierValues= 100 100 100 95 90 85 80 75 71 68 66
MultiSelectionPortrait= UPDwarvenArmy
LoadScreenMusic= Shell2MusicForLoadScreen
End
PlayerTemplate FactionIsengard
Side = Isengard
PlayableSide = Yes
Evil = Yes
StartMoney = 0
MaxLevelMP= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_DEFAULT PLAYER_PURCHASE_POINTS_GRANTED )
MaxLevelSP= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_EVIL PLAYER_PURCHASE_POINTS_GRANTED )
PreferredColor= R:216 G:175 B:48
StartingBuilding= IsengardFortress
;------------- NO STARTING UNITS FOR YOU -------
StartingUnit0 = IsengardPorter
StartingUnitOffset0 = X:1 Y:230 Z:0
StartingUnit1 = IsengardPorter
StartingUnitOffset1 = X:1 Y:150 Z:0
StartingUnitTacticalWOTR= IsengardPorter
StartingUnitTacticalWOTR= IsengardPorter
IntrinsicSciences= SCIENCE_EVIL
IntrinsicSciencesMP= SCIENCE_ISENGARD
DefaultPlayerAIType = IsengardSkirmishAI
SpellBook= EvilSpellBook
SpellBookMp= IsengardSpellBook
PurchaseScienceCommandSet= EvilSpellStoreCommandSet
PurchaseScienceCommandSetMP= IsengardSpellStoreCommandSet
DisplayName= INI:FactionIsengard
BeaconName= MultiplayerBeacon
LightPointsUpSound= IsengardLightPointsUp
ObjectiveAddedSound= Gui_MissionObjectiveNew
ObjectiveCompletedSound= Gui_MissionObjectiveCompleted
// NOTE: It is very important that the create-a-hero be the first buildable hero, to ensure that the create-a-hero and the ring hero are always
// attached to the first two buttons in the command set.
BuildableHeroesMP= CreateAHero IsengardWormTongue IsengardLurtz IsengardSharku IsengardSaruman MordorSauron
BuildableRingHeroesMP= MordorSauron_RingHero
InitialUpgrades= Upgrade_IsengardDualEconomyChoice Upgrade_IsengardFaction Upgrade_EvilDualEconomyChoice;Any upgrades this player template is born with.
SpellStoreCurrentPowerLabel = APT:SpellStoreCurrentRingPower
SpellStoreMaximumPowerLabel = APT:SpellStoreMaximumRingPower
ResourceModifierObjectFilter = RESOURCE_MODIFIER_OBJECT_FILTER
ResourceModifierValues= 100 100 100 95 90 85 80 75 71 68 66
MultiSelectionPortrait= UPIsengard_Army
LoadScreenMusic= Shell2MusicForLoadScreen
End
PlayerTemplate FactionMordor
Side= Mordor
PlayableSide = Yes
Evil = Yes
StartMoney = 0
MaxLevelMP= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_DEFAULT PLAYER_PURCHASE_POINTS_GRANTED )
MaxLevelSP= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_EVIL PLAYER_PURCHASE_POINTS_GRANTED )
PreferredColor= R:175 G:49 B:33
StartingBuilding= MordorFortress
;------------- NO STARTING UNITS FOR YOU -------
StartingUnit0 = MordorPorter
StartingUnitOffset0 = X:1 Y:240 Z:0
StartingUnit1 = MordorPorter
StartingUnitOffset1 = X:1 Y:190 Z:0
StartingUnitTacticalWOTR= MordorPorter
StartingUnitTacticalWOTR= MordorPorter
IntrinsicSciences= SCIENCE_EVIL
IntrinsicSciencesMP = SCIENCE_MORDOR
SpellBook= EvilSpellBook
SpellBookMp= MordorSpellBook
PurchaseScienceCommandSet= EvilSpellStoreCommandSet
PurchaseScienceCommandSetMP= MordorSpellStoreCommandSet
DisplayName= INI:FactionMordor
DefaultPlayerAIType= MordorSkirmishAI
BeaconName= MultiplayerBeacon
LightPointsUpSound= MordorLightPointsUp
ObjectiveAddedSound= Gui_MissionObjectiveNew
ObjectiveCompletedSound= Gui_MissionObjectiveCompleted
InitialUpgrades= Upgrade_MordorDualEconomyChoice Upgrade_MordorFaction Upgrade_EvilDualEconomyChoice;Any upgrades this player template is born with.
// NOTE: It is very important that the create-a-hero be the first buildable hero, to ensure that the create-a-hero and the ring hero are always
// attached to the first two buttons in the command set.
BuildableHeroesMP= CreateAHero EvilMenBlackRider EvilMenBlackRider EvilMenBlackRider MordorMouthOfSauron MordorFellBeast MordorFellBeast MordorWitchKingOnFellBeast // MordorGothmog NeutralGollum
BuildableRingHeroesMP= MordorSauron_RingHero
SpellStoreCurrentPowerLabel = APT:SpellStoreCurrentRingPower
SpellStoreMaximumPowerLabel = APT:SpellStoreMaximumRingPower
ResourceModifierObjectFilter = RESOURCE_MODIFIER_OBJECT_FILTER
ResourceModifierValues= 100 100 100 95 90 85 80 75 71 68 66
MultiSelectionPortrait= UPMordor_Army
LoadScreenMusic= Shell2MusicForLoadScreen
End
PlayerTemplate FactionWild
Side= Wild
PlayableSide= Yes
Evil= Yes
StartMoney= 0
MaxLevelMP= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_DEFAULT PLAYER_PURCHASE_POINTS_GRANTED )
MaxLevelSP= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_EVIL PLAYER_PURCHASE_POINTS_GRANTED )
PreferredColor= R:84 G:114 B:71
StartingBuilding= WildFortress
;------------- NO STARTING UNITS FOR YOU -------
;StartingUnit0 = GoblinFighterHorde
;StartingUnitOffset0 = X:-60 Y:200 Z:0
StartingUnit1 = WildPorter
StartingUnitOffset1 = X:30 Y:215 Z:0
StartingUnit0 = WildPorter
StartingUnitOffset0 = X:1 Y:120 Z:0
StartingUnitTacticalWOTR= WildPorter
StartingUnitTacticalWOTR= WildPorter
IntrinsicSciences= SCIENCE_EVIL
IntrinsicSciencesMP= SCIENCE_WILD
DefaultPlayerAIType= WildSkirmishAI
SpellBook= EvilSpellBook
SpellBookMp= WildSpellBook
PurchaseScienceCommandSet= EvilSpellStoreCommandSet
PurchaseScienceCommandSetMP= WildSpellStoreCommandSet
DisplayName= INI:FactionWild
BeaconName= MultiplayerBeacon
LightPointsUpSound= IsengardLightPointsUp
ObjectiveAddedSound= Gui_MissionObjectiveNew
ObjectiveCompletedSound= Gui_MissionObjectiveCompleted
InitialUpgrades= Upgrade_WildFaction Upgrade_GoblinDualEconomyChoice Upgrade_EvilDualEconomyChoice //Any upgrades this player template is born with.
// NOTE: It is very important that the create-a-hero be the first buildable hero, to ensure that the create-a-hero and the ring hero are always
// attached to the first two buttons in the command set.
BuildableHeroesMP= CreateAHero WildGoblinKing WildShelob Drogoth // Alatar Pallando Drogoth
BuildableRingHeroesMP= MordorSauron_RingHero
SpellStoreCurrentPowerLabel = APT:SpellStoreCurrentRingPower
SpellStoreMaximumPowerLabel = APT:SpellStoreMaximumRingPower
ResourceModifierObjectFilter = RESOURCE_MODIFIER_OBJECT_FILTER
ResourceModifierValues= 100 100 100 95 90 85 80 75 71 68 66
MultiSelectionPortrait= UPGoblinArmy
LoadScreenMusic= Shell2MusicForLoadScreen
;------------------------FARM-------------
#define GONDOR_FARM_BUILDCOST300
#define GONDOR_FARM_BUILDTIME15
#define GONDOR_FARM_HEALTH1500
#define GONDOR_FARM_HEALTH_DAMAGED666
#define GONDOR_FARM_HEALTH_REALLY_DAMAGED333
#defineGONDOR_FARM_SHROUD_CLEAR300
#define GONDOR_FARM_MONEY_TIME 6000
#define GONDOR_FARM_MONEY_AMOUNT500
#define GONDOR_FARM_MONEY_RANGE300; 200
#defineGONDOR_FARM_LVL1_EXP_AWARD 40
#defineGONDOR_FARM_LVL2_EXP_AWARD 50
#defineGONDOR_FARM_LVL3_EXP_AWARD 60
#define GONDOR_FARM_LVL2_EXP_NEEDED1200 ;750
#define GONDOR_FARM_LVL3_EXP_NEEDED 2700 ;5000
#defineGONDOR_FARM_LVL2_HP_ADD 500
#defineGONDOR_FARM_LVL3_HP_ADD 1000
#define GONDOR_FARM_LVL2_PRODUCTION 1.25
#define GONDOR_FARM_LVL3_PRODUCTION 1.5
#defineGONDOR_FARM_BOUNTY_VALUE62
#define GOBLIN_MINE_BUILDCOST300
#define GOBLIN_MINE_BUILDTIME15
#define GOBLIN_MINE_HEALTH1500
#define GOBLIN_MINE_HEALTH_DAMAGED1000
#define GOBLIN_MINE_HEALTH_REALLY_DAMAGED500
#define GOBLIN_MINE_LEVEL2_UPGRADE_COST500
#define GOBLIN_MINE_LEVEL2_UPGRADE_BUILDTIME 30
#define GOBLIN_MINE_LEVEL3_UPGRADE_COST1000
#define GOBLIN_MINE_LEVEL3_UPGRADE_BUILDTIME60
#defineGOBLIN_MINE_BOUNTY_VALUE75
#defineGOBLIN_MINE_VISION_RANGE160
#defineGOBLIN_MINE_SHROUD_CLEAR300
#define GOBLIN_MINE_LVL2_EXP_NEEDED2400
#define GOBLIN_MINE_LVL3_EXP_NEEDED 4800
#defineGOBLIN_MINE_LVL1_EXP_AWARD 40
#defineGOBLIN_MINE_LVL2_EXP_AWARD 50
#defineGOBLIN_MINE_LVL3_EXP_AWARD 60
#define GOBLIN_MINE_LVL2_HP_ADD500
#define GOBLIN_MINE_LVL3_HP_ADD1000
#define GOBLIN_MINE_MONEY_TIME 6000
#define GOBLIN_MINE_MONEY_AMOUNT500
#define GOBLIN_MINE_MONEY_RANGE300
#defineGOBLIN_MINE_TREE_LVL2_HP_ADD 1500
#defineGOBLIN_MINE_TREE_LVL3_HP_ADD 1500
;------------------------STRUCTURES------------------------- -----------------------
;------------------------MALLORN TREE-------------
#define ELVEN_MALLORN_TREE_MONEY_TIME 6000; in milliseconds
#define ELVEN_MALLORN_TREE_MONEY_AMOUNT500; cash amount to deposit every DepositTiming
#define ELVEN_MALLORN_TREE_MONEY_RANGE300
#define ELVEN_MALLORN_TREE_BUILDCOST300
#define ELVEN_MALLORN_TREE_BUILDTIME15
#define ELVEN_MALLORN_TREE_LEVEL2_UPGRADE_COST500
#define ELVEN_MALLORN_TREE_LEVEL2_UPGRADE_BUILDTIME30
#define ELVEN_MALLORN_TREE_LEVEL3_UPGRADE_COST1000
#define ELVEN_MALLORN_TREE_LEVEL3_UPGRADE_BUILDTIME60
#defineELVEN_MALLORN_TREE_SHROUD_CLEAR300
#define ELVEN_MALLORN_TREE_HEALTH3000
#define ELVEN_MALLORN_TREE_HEALTH_DAMAGED2000
#define ELVEN_MALLORN_TREE_HEALTH_REALLY_DAMAGED1000
#defineELVEN_MALLORN_TREE_LVL1_EXP_AWARD 40
#defineELVEN_MALLORN_TREE_LVL2_EXP_AWARD 50
#defineELVEN_MALLORN_TREE_LVL3_EXP_AWARD 60
#define ELVEN_MALLORN_TREE_LVL2_EXP_NEEDED1000
#define ELVEN_MALLORN_TREE_LVL3_EXP_NEEDED 4000
#defineELVEN_MALLORN_TREE_LVL2_HP_ADD 500
#defineELVEN_MALLORN_TREE_LVL3_HP_ADD 1000
#define ELVEN_MALLORN_TREE_LVL2_BUILD_SPEED 1.10
#define ELVEN_MALLORN_TREE_LVL3_BUILD_SPEED 1.25
#defineELVEN_MALLORN_TREE_BOUNTY_VALUE75
;------------------------MINE SHAFT -------------
#define DWARVEN_MINE_BUILDCOST300
#define DWARVEN_MINE_BUILDTIME15
#define DWARVEN_MINE_HEALTH1500
#define DWARVEN_MINE_LEVEL2_UPGRADE_COST500
#define DWARVEN_MINE_LEVEL2_UPGRADE_BUILDTIME 30
#define DWARVEN_MINE_LEVEL3_UPGRADE_COST1000
#define DWARVEN_MINE_LEVEL3_UPGRADE_BUILDTIME60
#defineDWARVEN_MINE_BOUNTY_VALUE75
#defineDWARVEN_MINE_VISION_RANGE160
#defineDWARVEN_MINE_SHROUD_CLEAR300
#define DWARVEN_MINE_LVL2_EXP_NEEDED2400
#define DWARVEN_MINE_LVL3_EXP_NEEDED 4800
#defineDWARVEN_MINE_LVL1_EXP_AWARD 40
#defineDWARVEN_MINE_LVL2_EXP_AWARD 50
#defineDWARVEN_MINE_LVL3_EXP_AWARD 60
#define DWARVEN_MINE_LVL2_HP_ADD500
#define DWARVEN_MINE_LVL3_HP_ADD1000
#define DWARVEN_MINE_MONEY_TIME 6000
#define DWARVEN_MINE_MONEY_AMOUNT500
#define DWARVEN_MINE_MONEY_RANGE300
;------------------------SLAUGHTERHOUSE-------------
#define MORDOR_SLAUGHTERHOUSE_BUILDCOST300
#define MORDOR_SLAUGHTERHOUSE_BUILDTIME15
#define MORDOR_SLAUGHTERHOUSE_HEALTH1000
#define MORDOR_SLAUGHTERHOUSE_HEALTH_DAMAGED666
#define MORDOR_SLAUGHTERHOUSE_HEALTH_REALLY_DAMAGED333
#defineMORDOR_SLAUGHTERHOUSE_SHROUD_CLEAR300
#defineMORDOR_SLAUGHTERHOUSE_VISION_RANGE160
#define MORDOR_SLAUGHTERHOUSE_MONEY_TIME 6000
#define MORDOR_SLAUGHTERHOUSE_MONEY_AMOUNT500
#define MORDOR_SLAUGHTERHOUSE_MONEY_RANGE300
#defineMORDOR_SLAUGHTERHOUSE_LVL1_EXP_AWARD 40
#defineMORDOR_SLAUGHTERHOUSE_LVL2_EXP_AWARD 50
#defineMORDOR_SLAUGHTERHOUSE_LVL3_EXP_AWARD 60
#define MORDOR_SLAUGHTERHOUSE_LVL2_EXP_NEEDED1200 ;750
#define MORDOR_SLAUGHTERHOUSE_LVL3_EXP_NEEDED 2700 ;3000
#define MORDOR_SLAUGHTERHOUSE_LVL2_HP_ADD 500
#define MORDOR_SLAUGHTERHOUSE_LVL3_HP_ADD 1000
#define MORDOR_SLAUGHTERHOUSE_LVL2_PRODUCTION 1.2 ;1.34
#define MORDOR_SLAUGHTERHOUSE_LVL3_PRODUCTION 1.12 ;1.25
#defineMORDOR_SLAUGHTERHOUSE_BOUNTY_VALUE75
;//------------------------FURNACE-------------
#define ISENGARD_FURNACE_BUILDCOST300
#define ISENGARD_FURNACE_BUILDTIME15
#define ISENGARD_FURNACE_HEALTH1000
#define ISENGARD_FURNACE_HEALTH_DAMAGED666
#define ISENGARD_FURNACE_HEALTH_REALLY_DAMAGED333
#defineISENGARD_FURNACE_SHROUD_CLEAR300
#defineISENGARD_FURNACE_VISION_RANGE160
#define ISENGARD_FURNACE_MONEY_TIME 6000
#define ISENGARD_FURNACE_MONEY_AMOUNT500
#define ISENGARD_FURNACE_MONEY_RANGE300
#defineISENGARD_FURNACE_LVL1_EXP_AWARD 40
#defineISENGARD_FURNACE_LVL2_EXP_AWARD 50
#defineISENGARD_FURNACE_LVL3_EXP_AWARD 60
#define ISENGARD_FURNACE_LVL2_EXP_NEEDED1200
#define ISENGARD_FURNACE_LVL3_EXP_NEEDED 2700
#define ISENGARD_FURNACE_LVL2_HP_ADD 500
#define ISENGARD_FURNACE_LVL3_HP_ADD 1000
#define ISENGARD_FURNACE_LVL2_PRODUCTION 1.2
#define ISENGARD_FURNACE_LVL3_PRODUCTION 1.12
#defineISENGARD_FURNACE_BOUNTY_VALUE75