Здравствуйте! Авторизуйтесь или зарегистрируйтесь, чтобы использовать полный функционал сайта
Быстрая авторизация через соцсети:

Главная » Статьи » Моддинг » Коддинг
Спелл поджигания местности

Добавляем Мордору вместо "Зова войны".
Для начала добавим кнопки способности и пропишем их в коммандсетт книги заклов Мордора.

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




Оценить:
Просмотров: 2380 | Комментарии: 3 | Рейтинг: 4.8/9
Категория: Коддинг | Добавил: SauronGreat (21.02.2012)
Теги: BFME Modding, tutorials
ПОХОЖИЕ МАТЕРИАЛЫ

Всего комментариев: 3
avatar
3 Akrahil • 17:07, 24.02.2013
Понял. Там несоответствие объекта в ОКЛе. + Эффект получился какой-то странный, огня совсем мало.
avatar
2 Akrahil • 16:12, 24.02.2013
Сень, SpecialPower сделай, вот нубы и орут. И ещё там огонь вызвать что-то нельзя.
avatar
1 CANYOL • 17:30, 23.06.2012
А кто-то может скинуть мне иник с этой штукой?
avatar