• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Marinakis

Major
57 Badges
May 26, 2009
703
92
  • Crusader Kings II: Charlemagne
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mare Nostrum
  • Rome Gold
  • Europa Universalis IV: Res Publica
  • Heir to the Throne
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Crusader Kings II
  • Divine Wind
  • Europa Universalis III: Chronicles
  • Europa Universalis III
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Europa Universalis III Complete
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: No Step Back
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Imperator: Rome Sign Up
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Together for Victory
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Rome: Vae Victis
  • Europa Universalis III Complete
  • Europa Universalis III Complete
Hello,

Does anyone know if there is an easy way to change how what model/unit GFX files the Seleukid Empire is using? I want to completely swap out those being used by the dlc001_dde/gfx/models/units/seleucid with those within dlc001_dde/gfx/models/units/macedon. Ultimately, I want the Seleukid units to use the Makedonian armor/helm and show the Virginia Sun on their shield, not the inverted anchor.

Every time I attempt to mess with the files, the weapons/armor end up turning a super reflective silver, a flat white or completely disappearing altogether.

I know I can use GIMP to edit DDS files, but I have no idea if these .ASSET and .MESH files are messing me up. If they are, I have no idea how to read or edit them (Any advice would be appreciated).

Example of what I am seeing in-game after messing with the DDS files
20191006124446_1.jpg
 
It should be possible using the "clones" system.

In //dlc001_dde/gfx/models/units/macedon/ there is the file macedon_infantry_01.asset .
You can edit it with Notepad++ safely.

At the end of the file are the so called clone entries, ie. any individual Country Tags using these models.
Normally only "MAC" as in Macedon uses these, but add at the end the following:

Code:
entity = {
    name = "SEL_archers"
    clone = "MAC_light_infantry"
}

entity = {
    name = "SEL_camels"
    clone = "MAC_light_infantry"
}

entity = {
    name = "SEL_chariots"
    clone = "MAC_light_infantry"
}

entity = {
    name = "SEL_heavy_cavalry"
    clone = "MAC_light_infantry"
}

entity = {
    name = "SEL_horse_archers"
    clone = "MAC_light_infantry"
}

entity = {
    name = "SEL_light_cavalry"
    clone = "MAC_light_infantry"
}

entity = {
    name = "SEL_warelephant"
    clone = "MAC_light_infantry"
}

But similarly in the //dlc001_dde/gfx/models/units/seleucid/ folder is seleucid_infantry_01.asset .
You'll need to comment out its clones which the "SEL" = Seleucids are currently using.

Code:
#entity = {
#    name = "SEL_archers"
#    clone = "SEL_light_infantry"
#}
#
#entity = {
#    name = "SEL_camels"
#    clone = "SEL_light_infantry"
#}
#
#entity = {
#    name = "SEL_chariots"
#    clone = "SEL_light_infantry"
#}
#
#entity = {
#    name = "SEL_heavy_cavalry"
#    clone = "SEL_light_infantry"
#}
#
#entity = {
#    name = "SEL_horse_archers"
#    clone = "SEL_light_infantry"
#}
#
#entity = {
#    name = "SEL_light_cavalry"
#    clone = "SEL_light_infantry"
#}
#
#entity = {
#    name = "SEL_warelephant"
#    clone = "SEL_light_infantry"
#}
 
As far as I can tell, there is no option to modify heavy infantry GFX, only archers (SEL_light_infantry). Are you aware of a way to modify heavy infantry GFX (when the unit model is holding a sword, as opposed to a spear) via the clone functionality?

I tried adding

entity = {
name = "SEL_heavy_infantry"
clone = "MAC_heavy_infantry"
}

But, it didnt do anything
 
I apologize. I had been under the impression that ALL units used a singular model.

You could try copying over the Macedon Heavy Infantry's mesh info and put it under the Seleucid Heavy Infantry replacing the original Seleucid Heavy Infantry mesh info. Including all the animation references and all.

Telling the game that when it's drawing this specific Entity (Unit, Clothing, Building, etc), it should display this specific mesh.

This code block below will give the idea, but it's likely out of date since I had to revert to before where the Army Drill animation was added.

Code:
# Sword unit
entity = {
    name = "SEL_heavy_infantry"
    pdxmesh = "macedon_infantry_01_mesh"
 
    Scale = 0.1
 
    default_state = "idle"
    state = {
        name = "idle"
        animation = "idle_2_base_animation"
        looping = no
        chance = 5
        next_state = "idle"
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "idle"
        animation = "idle_2_var_1_animation"
        looping = no
        chance = 1
        next_state = "idle"
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "move"
        animation = "moving_2_animation"
        start_event = { sound = { soundeffect = "event:/SFX/Animations/Units/Generic/sfx_anim_unit_generic_walk"}}
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "force_march"
        animation = "force_march_2_animation"
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" }
        start_event = { node = THE_RIG:back_node_1 entity = "macedon_shield_01_entity" }
        start_event = { sound = { soundeffect = "event:/SFX/Animations/Units/Generic/sfx_anim_unit_generic_walk"}}
    }
    state = {
        name = "retreat"
        animation = "retreat_2_animation"
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
        start_event = {sound = { soundeffect = "event:/SFX/Animations/Units/Generic/sfx_anim_unit_retreat"}}
    }
    state = {
        name = "raiding"
        animation = "raiding_2_animation"
        looping = no
        next_state = "idle"
        event = { time = 0.0 node = THE_RIG:Right_hand_node_1 entity = "torch_01_entity" attachment_id = "raiding_torch_1" entity_fade_speed = 1.0 life = 5 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
        event = { sound = { soundeffect = "event:/SFX/Animations/Units/Generic/sfx_anim_unit_raiding"}}
        event = { time = 2.8 node = THE_RIG:root particle2 = "units/raiding_ground_fire_01_effect" keep_particle = yes trigger_once = no life = 1 }
    }
    state = {
        name = "recruiting"
        animation = "recruiting_loop_animation"
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "ROM_spear_entity" attachment_id = "recruit_banner_1" entity_fade_speed = 0.5 } # Change to banner when model is in.
    }
    state = {
        name = "recruit"
        animation = "recruiting_action_animation"
        looping = no
        next_state = "idle"
        event = { time = 0.0 node = THE_RIG:Left_hand_node_1 entity = "ROM_spear_entity" attachment_id = "recruit_banner_1" entity_fade_speed = 0.5 } # Change to banner when model is in.
    }
    state = {
        name = "build_road_2"
        animation = "build_road_shoveling_animation"
        looping = no
        event = { sound = { soundeffect = "event:/SFX/Animations/Units/Generic/sfx_anim_unit_build_road_loop"}}
        next_state = "build_road_2"
        chance = {
            if_current_state = {
                "build_road" = 100
                "build_road_2" = 100
            }
        }
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "shovel_01_entity" }  # Change to shovel when model is in.
    }
    state = {
        name = "build_road_2"
        animation = "build_road_pre_moving_animation"
        looping = no
        event = { sound = { soundeffect = "event:/SFX/Animations/Units/Generic/sfx_anim_unit_build_road_post"}}
        next_state = "build_road"
        chance = {
            if_current_state = {
                "build_road" = 0
                "build_road_2" = 50
            }
        }
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "shovel_01_entity" } # Change to shovel when model is in.
    }
    state = {
        name = "build_road"
        animation = "build_road_moving_animation"
        looping = no
        start_event = { sound = { soundeffect = "event:/SFX/Animations/Units/Generic/sfx_anim_unit_generic_walk"}}
        next_state = "build_road"
        chance = {
            if_current_state = {
                "build_road" = 100
                "build_road_2" = 100
                "idle" = 100
                "move" = 100
                "retreat" = 100
                "force_march" = 100
            }
        }
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "shovel_01_entity" } # Change to shovel when model is in.
    }
    state = {
        name = "build_road"
        animation = "build_road_post_moving_animation"
        looping = no
        event = { sound = { soundeffect = "event:/SFX/Animations/Units/Generic/sfx_anim_unit_build_road_pre"}}
        next_state = "build_road_2"
        chance = {
            if_current_state = {
                "build_road" = 50
                "build_road_2" = 0
                "idle" = 0
                "move" = 0
                "retreat" = 0
                "force_march" = 0
            }
        }
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "shovel_01_entity" } # Change to shovel when model is in.
    }
    state = {
        name = "combat_ready"
        animation = "combat_ready_2"
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "cheer"
        animation = "idle_1_base_animation"
    }
 
 
    ##############
    #### Offensive combat
    ##############
    state = {
        name = "offensive_successful"
        animation = "weapon_2_offensive_successful"
    #    animation_blend_time = 0.3
        chance = 1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_successful }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "offensive_dodge"
        animation = "weapon_2_offensive_dodge"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_dodge }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "offensive_block"
        animation = "weapon_2_offensive_block"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_block }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "offensive_counter"
        animation = "weapon_2_offensive_counter"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_counter }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
 
    ### Alternative attacks (slash) ###
    state = {
        name = "offensive_successful"
        animation = "weapon_2_alt_offensive_successful"
    #    animation_blend_time = 0.3
        chance = 1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_successful_alt }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "offensive_dodge"
        animation = "weapon_2_alt_offensive_dodge"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_dodge_alt }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "offensive_block"
        animation = "weapon_2_alt_offensive_block"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_block_alt }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "offensive_counter"
        animation = "weapon_2_alt_offensive_counter"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_counter_alt }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
 
    state = {
        name = "offensive_sequence_1"
        animation = "weapon_2_offensive_sequence_1"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_sequence_1 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "offensive_sequence_2"
        animation = "weapon_2_offensive_sequence_2"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_sequence_2 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "offensive_sequence_3"
        animation = "weapon_2_offensive_sequence_3"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" attachment_id = "main_weapon" state = offensive_sequence_3 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
        event = { time = 4.18 node = THE_RIG:world_node_1 entity = "greek_sword_entity" attachment_id = "main_weapon" life = 2.88 }
        event = { time = 7.05 node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" attachment_id = "main_weapon" life = 0.95 }
        event = { time = 7.95 remove_attachment = "main_weapon" }
    }
    state = {
        name = "offensive_sequence_4"
        animation = "weapon_2_offensive_sequence_4"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_sequence_4 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "offensive_sequence_5"
        animation = "weapon_2_offensive_sequence_5"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = offensive_sequence_5 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
 
 
 
    ##############
    # Defensive combat
    ##############
    state = {
        name = "defensive_hit"
        animation = "weapon_2_defensive_hit"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = defensive_hit }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "defensive_dodge"
        animation = "weapon_2_defensive_dodge"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = defensive_dodge }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "defensive_block"
        animation = "weapon_2_defensive_block"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = defensive_block }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "defensive_counter"
        animation = "weapon_2_defensive_counter"
    #    animation_blend_time = 0.3
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = defensive_counter }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
 
    state = {
        name = "defensive_sequence_1"
        animation = "weapon_2_defensive_sequence_1"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = defensive_sequence_1 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "defensive_sequence_2"
        animation = "weapon_2_defensive_sequence_2"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = defensive_sequence_2 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "defensive_sequence_3"
        animation = "weapon_2_defensive_sequence_3"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = defensive_sequence_3 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "defensive_sequence_4"
        animation = "weapon_2_defensive_sequence_4"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = defensive_sequence_4 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
    state = {
        name = "defensive_sequence_5"
        animation = "weapon_2_defensive_sequence_5"
    #    animation_blend_time = 0.1
        start_event = { node = THE_RIG:Right_hand_node_1 entity = "greek_sword_entity" state = defensive_sequence_5 }
        start_event = { node = THE_RIG:Left_hand_node_1 entity = "macedon_shield_01_entity" }
    }
 
    attach = { THE_RIG:Character1_Head = "macedon_helmet_01_entity" }
}
 
Last edited:
This is exactly what I was looking for and everything works perfectly now. I now know how to manually adjust individual aspects of the loaded unit models.

Thank you!

Macedonia
20191008190835_1.jpg


Antigonos
20191008184332_1.jpg


Ptolomaios
20191008184557_1.jpg


Seleukeia
20191008184711_1.jpg
 
Last edited: