Results 1 to 3 of 3

Thread: Removing (or drastically reducing) attack delay of siege weapons. How to?

  1. #1
    leo.civil.uefs's Avatar É nóis que vôa bruxão!
    Join Date
    Sep 2010
    Location
    Brazil
    Posts
    3,135

    Default Removing (or drastically reducing) attack delay of siege weapons. How to?

    Im trying to completly remove (or reduce it to as close to zero as possible) the interval time in between the moment when the siege weapon aims the enemy (the white bow shows up in the unit card) and the shot itself. I want a instant fire.

    My siege weapon is a custom made one. it has only 1 man as crew and he has no animation linked to the siege weapon model (no crank, no load, nothing, he just stands), except for moving wich is when he has a push animation.

    The siege weapon itself uses the Great_bell_tower_standard skeleton, wich is a engine with no attack animation.
    The only joint being used from this skeleton in my custom siege weapon is the wheel one (for movement).

    The problem is, the delay before the shot is still there, as if the animation was still running hidden with no visual effect at all. The aim starts (white bow on the unit card) but the siege weapon model keeps static, as well as its crew, for like 6 seconds, until it finally fires the projectile.

    I want to get rid of these 6 seconds, reducing it to zero or as colse as possible to it.

    Here is the vanilla entry for the skeleton Im using:

    Code:
    type		Great_bell_tower_standard																										
    					
    anim		default											data/animations/engine/great_bell_tower_standard_Default.CAS
    anim		idle											data/animations/engine/great_bell_tower_standard_Idle.CAS
    anim		idle_to_moving									data/animations/engine/great_bell_tower_standard_Idle_to_Moving.CAS
    anim		moving									   		data/animations/engine/great_bell_tower_standard_Moving_Idle.CAS	-evt:data/animations/engine/great_bell_tower_standard_Moving_Idle.evt
    anim		moving_to_idle									data/animations/engine/great_bell_tower_standard_Moving_to_Idle.CAS
    anim		idle_to_crank									data/animations/engine/great_bell_tower_standard_Idle.CAS
    anim		crank											data/animations/engine/great_bell_tower_standard_Idle.CAS
    anim		crank_to_attack_idle						 	data/animations/engine/great_bell_tower_standard_Idle.CAS
    anim		attack_prepare								   	data/animations/engine/great_bell_tower_standard_Idle.CAS				  		
    anim		attack_idle								  		data/animations/engine/great_bell_tower_standard_Idle.CAS
    anim		attack_commence								  	data/animations/engine/great_bell_tower_standard_Idle.CAS
    anim		attack_recover									data/animations/engine/great_bell_tower_standard_Idle.CAS
    I tried removing the lines related to attack but the game CTD.

    Then I tried editing one .cas file and used it to replace all attack related .cas files. But this gave me no result.
    Actually, even using this edited .cas file to replace ALL lines in this skeleton entry gave me no result in game.

    The edit I made was using GOAT, the SLERP function. The file originally had 31 frames and I reduced it to 3. Nothing changed in game.

    I also tried editing the frames inside MS3D by changing the total number of frames from 31 to 3 in the keyframer, but this totally messed the animation in game, making the siege weapon model to dissapear and the crew to act strangely.

  2. #2
    leo.civil.uefs's Avatar É nóis que vôa bruxão!
    Join Date
    Sep 2010
    Location
    Brazil
    Posts
    3,135

    Default Re: Removing (or drastically reducing) attack delay of siege weapons. How to?

    Now I have a suspicion telling me that the interval time is not due to the siege weapon animation but actually to the crew animation.

    The .modelreferencepoints is the file that controls the siege weapon crew. It sets their position and apparently their animations.
    Entries in the .modelreferencepoints are like this:

    Code:
    19 Engine StationPoint 1.0    0.0    0.0    0.0
    0.0    1.0    0.0    0.0
    0.0    0.0    1.0    -0.5
    0.0    0.0    0.0    1.0
    9 Crew_Rear
    
    
    16 Engine PushPoint 
    1.0    0.0    0.0    0.0
    0.0    1.0    0.0    0.0
    0.0    0.0    1.0    -0.5
    0.0    0.0    0.0    1.0
    9 Crew_Rear
    as you can see there is an animation line for each entry

    So I checked descr_skeleton.txt and found out this:

    Code:
    type        MTW2_Crew_Culverinparent        MTW2_Siegecrew
    anim        default                                        data/animations/MTW2_Knifeman/MTW2_Knifeman_basepose.cas
    
    
    anim        stand_a_idle                                data/animations/MTW2_Crew/MTW2_Crew_crew_stand_idle.cas
    
    
    anim        crew_left                                    data/animations/siege_Crew/crew_left_idle.CAS                                -fr            ;-evt:data/animations/carry_and_artillery/ballista_crew_left_crank_loop.evt
    anim        crew_left_to_crew_stand                        data/animations/siege_Crew/crew_left_idle.CAS                                -fr            ;-evt:data/animations/carry_and_artillery/ballista_crew_left_fire_idle.evt
    anim        crew_left_stoke_1                            data/animations/siege_Crew/Culverin_Left_Stoke_1.cas                        -fr            ;-evt:data/animations/carry_and_artillery/ballista_crew_left_fire_idle.evt
    anim        crew_left_stoke_2                            data/animations/siege_Crew/Culverin_Left_Stoke_2.cas                        -fr            -evt:data/animations/siege_Crew/Culverin_Left_Stoke_2.evt
    anim        crew_left_stoke_3cycle                        data/animations/siege_Crew/Culverin_Left_Stoke_3_cycle.cas                    -fr            -evt:data/animations/siege_Crew/Culverin_Left_Stoke_3_cycle.evt
    anim        crew_left_stoke_4                            data/animations/siege_Crew/Culverin_Left_Stoke_4.cas                        -fr            -evt:data/animations/siege_Crew/Culverin_Left_Stoke_4.evt
    anim        crew_left_cover                                data/animations/siege_Crew/crew_left_cover.cas                                -fr            -evt:data/animations/siege_Crew/crew_left_cover.evt
    
    
    anim        crew_right                                    data/animations/siege_Crew/crew_right_idle.CAS                                -fr            ;-evt:data/animations/carry_and_artillery/ballista_crew_right_crank_loop.evt
    anim        crew_right_to_crew_stand                    data/animations/siege_Crew/crew_right_idle.CAS                                -fr            ;-evt:data/animations/carry_and_artillery/ballista_crew_right_fire_idle.evt
    anim        crew_right_load_1                            data/animations/siege_Crew/Culverin_Right_Load_1.cas                        -fr            -evt:data/animations/siege_Crew/Culverin_Right_Load_1.evt
    anim        crew_right_load_2                            data/animations/siege_Crew/Culverin_Right_Load_2.cas                        -fr            -evt:data/animations/siege_Crew/Culverin_Right_Load_2.evt
    anim        crew_right_load_3                            data/animations/siege_Crew/Culverin_Right_Load_3.cas                        -fr            -evt:data/animations/siege_Crew/Culverin_Right_Load_3.evt
    anim        crew_right_load_4cycle                        data/animations/siege_Crew/Culverin_Right_Load_4_cycle.cas                    -fr
    anim        crew_right_load_5                            data/animations/siege_Crew/Culverin_Right_Load_5_end.cas                    -fr
    anim        crew_right_cover                            data/animations/siege_Crew/crew_right_cover.cas                                -fr            -evt:data/animations/siege_Crew/crew_right_cover.evt
    
    
    anim        crew_rear                                    data/animations/siege_Crew/crew_rear_idle.CAS                                -fr            ;-evt:data/animations/carry_and_artillery/ballista_crew_right_crank_loop.evt
    anim        crew_rear_to_crew_stand                        data/animations/siege_Crew/crew_rear_idle.CAS                                -fr            ;-evt:data/animations/carry_and_artillery/ballista_crew_right_fire_idle.evt
    anim        crew_rear_fire_idle                            data/animations/siege_Crew/crew_rear_fire_idle.cas                            -fr            -evt:data/animations/siege_Crew/crew_rear_fire_idle.evt                                ;-evt:data/animations/carry_and_artillery/ballista_crew_right_fire_idle.evt
    anim        crew_rear_fire_commence                        data/animations/siege_Crew/crew_rear_idle.CAS                                -fr            ;-evt:data/animations/carry_and_artillery/ballista_crew_right_fire_commence.evt
    anim        crew_rear_fire_recover                        data/animations/siege_Crew/crew_rear_idle.CAS
    There is the crew animations, though the path points to a folder that DOES NOT EXIST in medieval 2 total war data extracted files.

    I suppose these paths are a left over from ROME, and now the crew animations are set directly in the skeletons of the units in battle_models.modeldb file.

    So far this is all I discovered.
    Last edited by leo.civil.uefs; April 16, 2022 at 03:35 AM.

  3. #3
    leo.civil.uefs's Avatar É nóis que vôa bruxão!
    Join Date
    Sep 2010
    Location
    Brazil
    Posts
    3,135

    Default Re: Removing (or drastically reducing) attack delay of siege weapons. How to?

    It seems like I had already reached the minimum interval the engine will allow me. wich is about 3.5 seconds.

    Seems like this is the time the game takes to adjust crew/engine positions before any firing (that moment when engine and crew hover weirdly as if adjusting before firing) and this interval cannot be edited.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •