Jump to content


Photo

BFME1 style castles in ROTWK

a new mod - template

  • Please log in to reply
10 replies to this topic

#1 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 18 May 2020 - 03:02 AM

So I have always liked BFME 1 style , much more than BFME2 style with free build 

 

I recently had some success with this so I am posting what is basically a new mod in development 

 

The mod will be 4 phases 

1. Vanilla ROTWK using BFME1 castles in a few maps - this will be a template MOD that any can use !

2. Above mod with just a few tweaks , like balancing ( I like stronger buildings and nerfed archers ) , and I love my troll worker 

3. Above mod with faction splitting - Mordor , Harad , Elves , Dwarves , Gondor , Rohan , Elves ( No Angmar )

4. Above mod with Full - POWER OF THE RING stuff 

 

 

The mod could never progress as I could not ever get the AI to hunt Farms , until recently !

 

It is still in basic testing phases 

 

1. Get useable start bases - done - easy as I had them before 

2. Get Castles to build on start-up - done as I got this working before 

3. Get AI to build buildings on bases - done as I got this working before 

4. Get AI to hunt for their Farms etc - in testing as I want a smooth set-up , like importing/exporting the scripts etc

I have a test map ( Emyn Aryn ) all working with 4 Econ plots on the map , 4 castles functional , All AI buildings operational 

No issues , but I will test thoroughly as I hate crashes 

Testing only men for now , until I can mass produce Maps with working scripts 

5.Once I have 3 template maps with no issues , I will set-up as many BFME1 / BFME 2 Maps as I can (approx 10-15)

6. Tweaking certain buildings and command buttons so they are functional 

 

The good new 

1. I foresee no major hurdles , the largest was the AI farm hunting , and this seems solved .

Took me 3 full days of constant investigating 

2. Mod will be standard one INI file in the MyBattle for Middle Earth  folder - so it would not affect another Mods and Vanilla ROTWK

3. Using ROTWK will allow me to split the factions into 7 , and I don’t have to worry about AI much as I just hijack the existing faction , so AI should work to a great extent .

4.ROTWK has just a few powers and codes , which I never ever used as I was a BFME2 modder , so even a bit more could be possible

I also have the ROTWK assets at my disposal so this add to the POWER OF THE RING stuff

 

I will post my updates here

It will take a few weeks to get to Mod phase 1 , as I test thoroughly for days of gameplay to ensure no crashes whatsoever 

I am also back to work full-time , so not much free time 

Phase 2 will also be 2-3 weeks , I already have the balancing code , so just testing 

Phase 3 should not be too hard , as a faction split is just cop/paste and  test

Phase 4 , Hmm , well we will see , as POWER OF THE RING has a hell a lot of coding , but slow implementation should be as simple as copy/paste/test 

 

So to summarize , I have 

1. A Complex BFME 2 mod - Power Of the Ring 

2. A simple BFME2 mod with BFME1 GameStyle - Nostagia 

3.A simple BFME1 mod with balancing ( just finished 17 May 2020 on Moddb ) - Just a Basic Mod 

 

Will have 

1. Phased Mod(s) on ROTWK latest patch (I hope) giving my dream mod possibility / reality  

‘Kinda wished I did not have to go back to work 

 

I can’t find my dream mod , so I make my own .


Edited by JUS_SAURON, 18 May 2020 - 03:05 AM.


#2 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 18 May 2020 - 10:38 AM

Ohh , one snag

Seems like once I build on the Econ plot , the AI cannot activate it 

it even looks a bit different . The floor bib is not present 

 

I have no idea how to fix



#3 Samuel R. Kinsey

Samuel R. Kinsey
  • Members
  • 48 posts

Posted 21 May 2020 - 10:21 PM

I'd like a mod with bfme1 fortresses but with build anywhere. Is that easy?
I might be able to help with this mod if you want. A power of the ring mod was one of the first I tried, and it helped me get started modding.
Check out my Return of Rohan mod on heavengames.com; it has ai for 8 factions, it took only a few .bse files to get arnor using ai. I used arnor to make a rohan faction, and replaced angmar with easterlings.

#4 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 23 May 2020 - 05:30 PM

Very good 

 

 

 

 

 


I'd like a mod with bfme1 fortresses but with build anywhere. Is that easy?

Yes , somewhat 

 

I have a lot done already , feel free to use it ,any code or object you need 

You start with the normal build free mod , then ensure you have a map with BFME 1 castle - setup

Once you have porters , they would go and build free 

 

Technically my mods are both BFME1 style and build free , 

I just removed all porters from ever being built 

 

concerning AI , did you get them to unpack farms etc ?

I just figured this out 

 

PS you can build free small buildings , like farms and barracks and towers , but don’t try to build free a BFME1 Castle like Rohan Castle , it’s too big 

 

I will check out your mod 



#5 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 23 May 2020 - 05:35 PM

For any interest in the future here is how you get proper AI to unpack farms

You need an unused Upgrade for each AI faction 

some are Upgrade_PlantShield , Upgrade_BoromirLastStand , Upgrade_RaiseShield , Upgrade_GimliFreeLife

redo the upgrade so it is a PLAYER upgrade , no cost or time 

 

in the map , you goto scripts

in the Men Skirmish folder , this is anything AI for men

Add script , if true , this player gets Upgrade_boromirlaststand

This is an indicator that this upgrade signifies Men Faction AI 

 

In the Economy plot , add these lines

// When created, automatically switch to rock-throwing
 	Behavior = DoCommandUpgrade Module_DoCommandUpgrade4	
 		TriggeredBy = Upgrade_BoromirLastStand ; for men
               	GetUpgradeCommandButtonName = Command_UnpackExplicitGondorFarm
 	End



// When created, automatically switch to rock-throwing
 	Behavior = DoCommandUpgrade Module_DoCommandUpgrade1	
 		TriggeredBy = Upgrade_GimliFreeLife ; for isengard
 		GetUpgradeCommandButtonName = Command_UnpackExplicitIsengardLumbermill
 	End

// When created, automatically switch to rock-throwing
 	Behavior = DoCommandUpgrade Module_DoCommandUpgrade3	
 		TriggeredBy = Upgrade_PlantShield ; for mordor
 		GetUpgradeCommandButtonName = Command_UnpackExplicitMordorLumbermill
 	End

this will allow the farm to unpack for men 

do this for other factions as needed

 

ps - check to ensure the commandbuttons and commandsets are correct for each faction

 Behavior = CommandSetUpgrade ModuleTag_commandSetMenDualEconomy
	 	TriggeredBy = Upgrade_MenFaction
	  	CommandSet = GondorEconomyPlotCommandSet 
	 End	 

	Behavior = CommandSetUpgrade ModuleTag_commandSetEvilDualEconomy
		TriggeredBy = Upgrade_MordorDualEconomyChoice
		CommandSet = MordorEconomyPlotCommandSet
	End
	Behavior = CommandSetUpgrade ModuleTag_commandSetIsengardDualEconomy
		TriggeredBy = Upgrade_IsengardDualEconomyChoice
		CommandSet = IsengardEconomyPlotCommandSet
	End


Edited by JUS_SAURON, 23 May 2020 - 10:13 PM.


#6 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 21 June 2020 - 08:29 PM

A bit of update for those interested 

 

Roadmap of work done / to be done

 

1. Fully tested men faction 

AI hunt farms and unpack them , AI hunt for outposts and build buildings , AI hunt for any castle plots if available , and unpack them and build buildings

AI build trebuchets and towers on castle walls , Gates close when enemy close , AI Capture and recapture plots if needed , AI rebuild buildings if destroyed 

 

This was the hardest part , as the scripting / testing is enormous

 

2. To duplicate above for all factions

should be easy as I just have to choose different building types on build list
 

3. Export the script into 10 other BFME1 Maps 

 

4. Release mod , with 5 Factions - Men , Dwarves , Elves , Mordor , Isengard - As a mod template , vanilla weapons , armor , etc 

5.Release mod , with 7 Factions - Gondor , Dwarves , Elves , Mordor , Isengard , Rohan (was Angmar) , Harad (was Goblins ) - As a mod template , vanilla weapons , armor
6.Add all powers , BFME 1 campaigns etc from my existing POWER OF THE RING mod 



#7 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 23 June 2020 - 06:58 AM

Update - Scripted Mordor AI , took 2 hours 

In comparison , Men took 3 weeks as it required me figuring out stuff

By this timeframe , I expect release in 2-3 weeks  



#8 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 28 June 2020 - 06:49 PM

Update , ALL 7  factions have working AI on BFME1 style CASTLE  maps in ROTWK 

I also duplicated this into 5 maps , each 4 Player Castle maps 

Wold , Pelegir , Druadan forest , Crossroads , Mouths of entwash 

These are larger maps with more Expansion plots 
 

ALL AI works almost as EA game quality 

 

So minor testing and I will upload as a new mod , phase 1

phase 2 will be faction split , mostly vanilla , 

Gondor was men , Rohan was Elves , Dwarves , Isengard , Mordor , Goblins , Harad was Angmar 

phase 3 will be new powers for heroes 


Edited by JUS_SAURON, 28 June 2020 - 06:57 PM.


#9 Samuel R. Kinsey

Samuel R. Kinsey
  • Members
  • 48 posts

Posted 12 July 2020 - 10:09 PM

Is the mod available yet? Where will you post it?

#10 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 24 July 2020 - 11:44 PM

It’s on ModDb , check my signature 

I am halting ROTWK Modding and concentrating on BFME 2

the only reason is that I noticed that AI is a bit problematic with ROTWK , specifically they stop building units after 10 mins 

I am not sure what is the cause , as the very same map and game codes in BFME2 dies not have an issue such as this 



#11 GiushFirst

GiushFirst
  • Members
  • 5 posts

Posted 20 January 2021 - 07:40 PM

Hello, I want to create a Mordor base in style BFME 1

I created a model of the wall of Mordor but stumbled upon a problem: units go through walls. despite the fact that I have registered code - WallBoundsMesh = P1

 

Object MordorCastleWall
        
        SelectPortrait = BPCastleWall

    Draw = W3DScriptedModelDraw Draw_Wall
    
        OkToChangeModelColor = Yes

        WallBoundsMesh = P1

        DefaultModelConditionState
            Model = MBCASTWALL
        End

        ModelConditionState = WORLD_BUILDER
              Model = MBCASTWALL
          End

        ModelConditionState = BASE_BUILD
              Model = MBCASTWALL_A
          End
        AnimationState = BASE_BUILD
            StateName = STATE_None
            Animation
                AnimationName = MBCASTWALL_A.MBCASTWALL_A
                AnimationMode = ONCE
                AnimationSpeedFactorRange = 2.0 2.5 ; keep range wide to avoid lockstep anims
            End
        End    
        
        ModelConditionState = JUST_BUILT
              Model = MBCASTWALL_A
          End
        AnimationState = JUST_BUILT
            StateName = STATE_None
            Animation
                AnimationName = MBCASTWALL_A.MBCASTWALL_A
                AnimationMode = MANUAL
            End
            Flags = START_FRAME_FIRST
        End

        ; Need to enforce this model for this state because we can
        ; repair a numenor upgraded wall.
        ModelConditionState = ACTIVELY_BEING_CONSTRUCTED UPGRADE_NUMENOR_STONEWORK
              Model = MBCASTWALL_UA
          End
        AnimationState = ACTIVELY_BEING_CONSTRUCTED UPGRADE_NUMENOR_STONEWORK
            Animation
                AnimationName = MBCASTWALL_UA.MBCASTWALL_UA
                AnimationMode = MANUAL
            End
            StateName = STATE_None
            Flags = START_FRAME_FIRST
        End    

        ModelConditionState = ACTIVELY_BEING_CONSTRUCTED
              Model = MBCASTWALL_A
          End
        AnimationState = ACTIVELY_BEING_CONSTRUCTED
            Animation
                AnimationName = MBCASTWALL_A.MBCASTWALL_A
                AnimationMode = MANUAL
            End
            StateName = STATE_None
            Flags = START_FRAME_FIRST
        End    
        
        ; DAMAGED ----------------------------------------------------------------------------------------------------------------
        ModelConditionState  = DAMAGED UPGRADE_NUMENOR_STONEWORK
            Model         = MBCASTWALL_UD1
        End
        
        ModelConditionState  = DAMAGED 
            Model         = MBCASTWALL_D1  
        End

        AnimationState = DAMAGED
            StateName = STATE_None
;            EnteringStateFX = FX_MinWallATransitionDamaged
        End
 
        ; REALLYDAMAGED ----------------------------------------------------------------------------------------------------------------
        TransitionState = TRANS_U_IntoReallyDamaged
            EnteringStateFX        = FX_BuildingReallyDamaged
            Animation = D2
                AnimationName        = MBCASTWALL_UD2.MBCASTWALL_UD2
                AnimationMode        = ONCE
                AnimationBlendTime    = 0
            End
        End
        ModelConditionState  = REALLYDAMAGED UPGRADE_NUMENOR_STONEWORK
            Model         = MBCASTWALL_UD2
        End
        AnimationState = REALLYDAMAGED UPGRADE_NUMENOR_STONEWORK
            StateName = STATE_ReallyDamaged
             Flags = START_FRAME_LAST
            Animation                = ReallyDamagedanimation
                AnimationName        = MBCASTWALL_UD2.MBCASTWALL_UD2
                AnimationMode        = MANUAL
                AnimationBlendTime    = 0
               End
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "STATE_None" or Prev == "STATE_Rubble"
                then
                    ; Only play the really damaged anim if we havn't come from another really damaged.
                    CurDrawableSetTransitionAnimState("TRANS_U_IntoReallyDamaged")
                end
            EndScript
        End

        ModelConditionState  = REALLYDAMAGED
            Model         = MBCASTWALL_D2
        End
        AnimationState = REALLYDAMAGED
            StateName                = STATE_ReallyDamaged
            Animation                = ReallyDamagedanimation
                AnimationName        = MBCASTWALL_D2.MBCASTWALL_D2
                AnimationMode        = ONCE
               End
        End

        ; RUBBLE ----------------------------------------------------------------------------------------------------------------
        TransitionState = TRANS_U_IntoRubble
            Animation = D3
                AnimationName        = MBCASTWALL_UD3.MBCASTWALL_UD3
                AnimationMode        = ONCE
                AnimationBlendTime = 0
            End
        End
        ModelConditionState  = RUBBLE UPGRADE_NUMENOR_STONEWORK
            Model         = MBCASTWALL_UD3
      ParticleSysBone NONE BuildingChunkBitsTrail
      ParticleSysBone NONE ExplosiveMineFire02
    End
        AnimationState = RUBBLE UPGRADE_NUMENOR_STONEWORK
            StateName = STATE_Rubble
            Flags = START_FRAME_LAST
            Animation                = Death
                AnimationName        = MBCASTWALL_UD3.MBCASTWALL_UD3
                AnimationMode        = MANUAL
            AnimationBlendTime        = 0
            End
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "STATE_ReallyDamaged" or Prev == "STATE_None" or Prev == "TRANS_U_IntoReallyDamaged"
                then
                    ; Only play the rubble anim if we havn't come from another rubble.
                    CurDrawableSetTransitionAnimState("TRANS_U_IntoRubble")
                end
            EndScript
            ;EnteringStateFX    = FX_WallDie    ;this plays only after all the wall debris sink into the ground
        End
        
        ModelConditionState  = RUBBLE
            Model         = MBCASTWALL_D3
      ParticleSysBone NONE BuildingChunkBitsTrail
      ParticleSysBone NONE ExplosiveMineFire02
    End
        AnimationState = RUBBLE
            Animation                =    Death
                AnimationName        =    MBCASTWALL_D3.MBCASTWALL_D3
                AnimationMode        =    ONCE
            End
            StateName = STATE_Rubble
            EnteringStateFX    = FX_WallDie
        End      
 
         ; UPGRADED ----------------------------------------------------------------------------------------------------------------
          ModelConditionState = UPGRADE_NUMENOR_STONEWORK
              Model = MBCASTWALL_U
          End

          AnimationState = UPGRADE_NUMENOR_STONEWORK
            EnteringStateFX = GenericBuildingUpgrade
        End

        ModelConditionState  = POST_RUBBLE
            Model         = None
        End

        ModelConditionState  = POST_COLLAPSE
            Model         = None
        End
        
    End
    
  
    ;----------------------- AUDIO -------------------------

    VoiceSelect                = Gui_PlotSelect

    SoundOnDamaged            = BuildingLightDamageStone
    SoundOnReallyDamaged        = BuildingHeavyDamageStone

    ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
        MaxUpdateRangeCap = 800
         AnimationSound = Sound:WallDie    Animation:MBCASTWALL_UD3.MBCASTWALL_UD3    Frames:0
    End

    ; ***DESIGN parameters ***
    DisplayName        = OBJECT:MordorCastleWall
    EditorSorting    = STRUCTURE
    Side            = Mordor
    BuildTime        = CASTLE_WALL_REBUILD_TIME
    BuildCost        = CASTLE_WALL_REBUILD_COST

      ShroudClearingRange = 160

    ArmorSet
        Conditions    = None
        Armor        = GondorCastleWall
        DamageFX    = MinasWallADamageFX
    End

    CampnessValue = CAMPNESS_WALL

    ; *** ENGINEERING Parameters ***
    KindOf                   = STRUCTURE SELECTABLE IMMOBILE WALK_ON_TOP_OF_WALL CHUNK_VENDOR NOT_AUTOACQUIRABLE ;;;should this get autoacquired, or not? NO! or attack move will fail to enter the gate!
    RadarPriority            = STRUCTURE
    KeepSelectableWhenDead   = Yes
    CommandSet               = GenericSelfRepairCommandSet
    
    Body                = ActiveBody ModuleTag_02
        MaxHealth        = ROHAN_CASTLE_WALL_HEALTH
    End

    Behavior = SiegeDockingBehavior ModuleTag_SiegeDocking
    End
    
    Behavior = CastleMemberBehavior ModuleTag_CMB
        CountsForEvaCastleBreached = Yes
    End

     Behavior = GettingBuiltBehavior ModuleTag_GettingBuilt
        SelfBuildingLoop = BuildingConstructionLoop ; Only played if we DON'T spawn a worker
        SelfRepairFromDamageLoop  = NoSound         ; This doesn't cause an animation, so don't bother playing a sound
        SelfRepairFromRubbleLoop  = BuildingConstructionLoop
        SpawnTimer = -1.0 ; Negative means no 'autoheal'
        RebuildTimeSeconds = CASTLE_WALL_REBUILD_TIME
    End

    Behavior = KeepObjectDie ModuleTag_IWantRubble
    End
    
    Behavior = AttributeModifierAuraUpdate ModuleTag_WallBonus
        StartsActive     = Yes ;If no, requires upgrade to turn on.
        BonusName        = WallBonus
        RefreshDelay     = 2000
        ;Range            = 120        ; Range is overridden to affect people on us since we are a wall
        ;TargetEnemy      = Yes    ; Alliances are ignored to affect people on us since we are a wall
    End    

    Behavior = FireWeaponWhenDeadBehavior FireDeadTag1
        DeathTypes                  = ALL
        StartsActive                = Yes
        ActiveDuringConstruction    = Yes
        DeathWeapon                 = CastleWallDeath
    End    

    Behavior = FireWeaponWhenDeadBehavior FireDeadTag2
        DeathTypes                  = ALL
        StartsActive                = Yes
        ActiveDuringConstruction    = Yes
        DeathWeapon                 = StandardWallDeath
    End


    Behavior = ProductionUpdate ModuleTag_RequiredForUpgradeProduction
    End

    Geometry                        = BOX
    GeometryMajorRadius             = 50.0
    GeometryMinorRadius             = 30.0
    GeometryHeight                  = 45.0
    
    GeometryIsSmall                   = No
    Shadow                            = SHADOW_VOLUME
    
    GeometryContactPoint =    X:-50           Y:-40               Z:0 Grab
    GeometryContactPoint =    X:0             Y:-40               Z:40 Grab
    GeometryContactPoint =    X:50            Y:-40               Z:0 Grab
    GeometryContactPoint =    X:-50           Y:40                Z:0 Grab
    GeometryContactPoint =    X:0             Y:40                Z:40 Grab
    GeometryContactPoint =    X:50            Y:40                Z:0 Grab
End


here is a video of what my problem looks like:
https://www.youtube....oftheOneRingmod
 


Edited by GiushFirst, 20 January 2021 - 07:42 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users