Добавляем Мордору вместо "Зова войны".
Для начала добавим кнопки способности и пропишем их в коммандсетт книги заклов Мордора.
data\ini\commandbutton.ini, добавляем следующее в низ файла:
CommandButton Command_SpellBookMordor'sFire
Command = SPELL_BOOK
SpecialPower = SpellBookMordor'sFire
Options = NEED_TARGET_POS
TextLabel = CONTROLBAR:Mordor'sFire
ButtonImage = HSBalrogIgnite
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:TooltipMordor'sFire
RadiusCursorType = FireBreathRadiusCursor
CursorName = AttackObj
InvalidCursorName = GenericInvalid
End
CommandButton Command_PurchaseSpellMordor'sFire
Command = PURCHASE_SCIENCE
ButtonBorderType = UPGRADE
ButtonImage = HSBalrogIgnite
Science = SCIENCE_Mordor'sFire
TextLabel = CONTROLBAR:Mordor'sFire
DescriptLabel = CONTROLBAR:TooltipMordor'sFire
End
data\ini\commandset.ini, меняем следующие сетты, как здесь:
CommandSet MordorSpellBookCommandSet
1 = Command_SpellBookTaint
2 = Command_SpellBookEyeofSauron
3 = Command_SpellBookMordor'sFire ;Command_SpellBookWarChant
4 = Command_SpellBookIndustry
5 = Command_SpellBookBarricade
6 = Command_SpellBookUntamedAllegiance
7 = Command_SpellBookArrowVolleyEvil
8 = Command_SpellBookEvilBombard
9 = Command_SpellBookDarkness
10 = Command_SpellBookAwakenWyrm
11 = Command_SpellBookBalrogAlly
12 = Command_SpellBookRainOfFire
End
CommandSet MordorSpellStoreCommandSet
1 = Command_PurchaseSpellTaint
2 = Command_PurchaseSpellEyeofSauron
3 = Command_PurchaseSpellMordor'sFire ;Command_PurchaseSpellWarChant
4 = Command_PurchaseSpellIndustry ; ;Command_PurchaseSpellBarricade
5 = Command_PurchaseSpellUntamedAllegiance
6 = Command_PurchaseSpellBarricade ; ;Command_PurchaseSpellIndustry
7 = Command_PurchaseSpellArrowVolleyEvil
8 = Command_PurchaseSpellEvilBombard ; ;Command_PurchaseSpellAwakenWyrm
9 = Command_PurchaseSpellDarkness
10 = Command_PurchaseSpellAwakenWyrm ; ;Command_PurchaseSpellEvilBombard
11 = Command_PurchaseSpellBalrogAlly
12 = Command_PurchaseSpellRainOfFire
End
Далее пропишем сайнс способности и отредактируем сайнсы последующих способностей 10-ти очков.
data\ini\science.ini, добавляем это в любое место, только ниже SCIENCE_MORDOR и выше тех сайнсов, которые будут от него зависеть:
Science SCIENCE_Mordor'sFire
PrerequisiteSciences = SCIENCE_EVIL SCIENCE_MORDOR
SciencePurchasePointCost = EVIL_RANK_1_COST
SciencePurchasePointCostMP = 5
IsGrantable = Yes
End
Далее там же редактируем два зависящих от него сайнса: SCIENCE_Barricade и SCIENCE_ArrowVolleyEvil, чтобы было как у меня
Science SCIENCE_Barricade
PrerequisiteSciences = SCIENCE_EVIL SCIENCE_CaveBats OR SCIENCE_EVIL SCIENCE_WarChant OR SCIENCE_MORDOR SCIENCE_EyeofSauron OR SCIENCE_MORDOR SCIENCE_Mordor'sFire ; ;SCIENCE_MORDOR SCIENCE_WarChant
SciencePurchasePointCost = EVIL_RANK_2_COST
SciencePurchasePointCostMP = 10
IsGrantable = Yes
End
Science SCIENCE_ArrowVolleyEvil
PrerequisiteSciences = SCIENCE_EVIL SCIENCE_Barricade OR SCIENCE_EVIL SCIENCE_Darkness OR SCIENCE_MORDOR SCIENCE_Mordor'sFire ; ;SCIENCE_MORDOR SCIENCE_WarChant
SciencePurchasePointCost = EVIL_RANK_3_COST
SciencePurchasePointCostMP = 10
IsGrantable = Yes
End
Дальше пропишем саму способность.
data\ini\object\system\system.ini, вставить куда угодно, только в рамках объекта EvilSpellBook или MordorSpellBook:
Behavior = OCLSpecialPower ModuleTag_Mordor'sFire
SpecialPowerTemplate = SpellBookMordor'sFire
OCL = OCL_SpellBookMordor'sFire
CreateLocation = CREATE_AT_LOCATION
AvailableAtStart = No
RequirementsFilterMPSkirmish = SPELL_BOOK_REQUIREMENTS_FILTER
RequirementsFilterStrategic = SPELL_BOOK_REQUIREMENTS_FILTER_STRATEGIC
End
Behavior = AISpecialPowerUpdate SpellBookMordor'sFireAI
CommandButtonName = Command_SpellBookMordor'sFire
SpecialPowerAIType = AI_SPELLBOOK_STRUCTURE_BASEKILL
SpecialPowerRadius = 100
End
Далее - призыв нужного объекта.
data\ini\objectcreationlist.ini, в низ файла добавить следующее:
; ---------------------------------------------------------------------------------------
ObjectCreationList OCL_SpellBookMordor'sFire
CreateObject
ObjectNames = SpellBookMordor'sFire
End
End
data\ini\specialpower.ini, добавляем это:
;------------------------------------------------------------------------------
SpecialPower SpellBookMordor'sFire
Enum = SPECIAL_SPELL_BOOK_ROHAN_ALLIES
Flags = RESPECT_RECHARGE_TIME_DISCOUNT
ReloadTime = SPELL_RECHARGE_TIME_TIER_1 ; in milliseconds
RadiusCursorRadius = 75.0
RequiredSciences = SCIENCE_Mordor'sFire
InitiateAtLocationSound = GandalfBlastWeapon
End
Возвращаемся в system.ini, опять же в низ добавляем это:
;------------------------------------------------------------------------------
Object SpellBookMordor'sFire
Draw = W3DScriptedModelDraw ModuleTag_01
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
DefaultModelConditionState
Model = none
End
End
EditorSorting = SYSTEM
KindOf = NO_COLLIDE IMMOBILE UNATTACKABLE INERT
; *** ENGINEERING Parameters ***
Body = HighlanderBody ModuleTag_02
MaxHealth = 1
InitialHealth = 1
End
Behavior = FireWeaponUpdate ModuleTag_WeaponFiring
FireWeaponNugget
WeaponName = Mordor'sFireRadiusWeapon
Offset = X:0 Y:0 Z:0
FireDelay = 0
OneShot = No
End
End
Behavior = SlowDeathBehavior ModuleTag_FadeOut
DeathTypes = ALL
DestructionDelay = 1
End
Geometry = BOX
GeometryMajorRadius = 50
GeometryHeight = 5.0
GeometryIsSmall = No
End
И, наконец, сам огонь, точнее оружие, призывающее его.
data\ini\weapon.ini, в низ файла:
;------------------------------------------------------------------------------
Weapon Mordor'sFireRadiusWeapon ; Shot out every DelayBetweenShots
RadiusDamageAffects = ENEMIES NOT_SIMILAR
LeechRangeWeapon = Yes
AttackRange = 9999999.0
MeleeWeapon = No
DelayBetweenShots = 0 ; time between shots, msec
PreAttackDelay = 0 ;PreAttackDelay+FiringDuration = UseWeaponTiming = Yes duration
PreAttackType = PER_SHOT
FiringDuration = 0
DamageNugget ; A basic Nugget that just does damage
Damage = 180
Radius = 50
DelayTime = 500
DamageType = FLAME
DamageFXType = FLAME
DeathType = BURNED
DamageArc = 90
DamageMaxHeight = 50 ;We won't hurt something far above us. Birds fly at around 100
DamageSpeed = 100500
End
FireLogicNugget ; Lights flammables on fire
LogicType = INCREASE_BURN_RATE
Radius = 50.0
Damage = 180
End
End