Login

russian armor

Create the impossible with Workarounds Modding Guide

highlight
Introduction
Do you want to perform an action on a specific model, but it doesn't seem to support it? Why not use the working model, hidden in the background :ph34r:

People often ask how I managed to create various content, because several actions don't seem to work. My answer is most of the times: "I used a workaround". This guide explains how to create content which is not supported in the modding tools by default. Little tricks can be used to show the right visuals and the players won't see the differences.

Therefor three examples will be given:

  • Ambulance which can toggle medics
  • The Hetzer, Tank Destroyer varaint
  • Recover a wreck ability
Ambulance Which can Toggle Medics

1. The Ghost Object



  • Clone this entity file and give it a new name:
    ebps\races\british\buildings\defensive_structures\brit_forward_hq_repair_mp

  • Override repair_station_ext with the one from ebps\races\british\buildings\defensive_structures\brit_forward_hq_mp



2. The Medics



  • Clone this entity and give it a new name:
    ebps\races\british\soldiers\medic\brit_medic_mp

  • Set the blueprint_ext to:
    armies\aef\soldiers\medic\medic

  • In health_ext, make the field death_event_name empty.

  • Set death_seconds to: 0

  • Also set is_invincible to: true

  • In type_ext, set weapon_targeting to no_targeting

  • Select this new medic in the ghost object repair_station_ext\race_list\1. race_data\info\engineer_to_spawn


The medics now have no death animations because they will die every time that the ambulance toggles them.


3. The Toggle Ability



  • Clone the ability file "abilities\aef\timed_ability\ambulance_heal_area".

  • Go to action_list\start_self_actions\2. requirement_action\action_table.

  • Remove add_aura and instead add delay with a value of 1.

  • Then, in delayed_actions, add a spawn_entity_action with duration: 99999 and player_owned: true

  • In entity_blueprint, select the ghost object.

  • In the same requirement_action, add the required_in_state and set not_moving to: true.


This method can also be used to create a building with engineers AND medics. One entity may only have one repair_station_ext, so the second can be this ghost object.
The Hetzer, Tank Destroyer Variant

1. The Tank Itself



  • Clone this entity file and give it a new name:
    ebps\races\west_german\vehicles\hetzer\hetzer_mp

  • Clone this squad file and give it a new name:
    sbps\races\west_german\vehicles\hetzer_squad\hetzer_squad_mp

  • In the squad, clear squad_action_apply_ext\actions and clear requirement_ext\requirement_table

  • Then select your new entity in the loadout_ext

  • In the entity, select your new squad in recrewable_ext\race_list\1, race_data\info\capture_squad_blueprint

  • To remove the flame at the turret, add an animator_set_state in action_apply_ext with the following settings:

    • state_machine_name: flamethrower_state
    • do_action_state_name: reload


2. The Fire Animation Dummy Object



  • Clone this entity file and give it a new name:
    ebps\races\west_german\buildings\defensive_structures\med_supply_stash

  • Set the blueprint_ext to: armies\common\props\binoculars\binoculars.

  • Clear action_apply_ext.

  • Remove construction_ext.

  • To make the binoculars invisible, add an animator_set_state in action_apply_ext with the following settings:

    • state_machine_name: abandon_state
    • do_action_state_name: abandoned


3. The Weapon



  • Clone the weapon file weapon\west_german\ballistic_weapon\tank_gun\hetzer_pak_39_75mm_mp".

  • Add the spawn_entity action in fire_ext\on_fire_actions, as shown in the image:

    • The entity_blueprint is the cloned med_supply_stash, called hetzer_shot in this example.

    • The action_name in animator_set_action is weapons\deflect_shell_75mm_canvasarmour.




  • Clone the entity file ebps\projectile\hetzer_75mm_projectile_mp.

  • Set the projectile_ext\launcher_marker to: fx_muzzle_flamethrower.

  • Set your new weapon in ebps\combat_ext\hardpoints\1. hardpoint\weapon_table\1. weapon\weapon and your tank is ready to destroy some vehicles!


Recover a Wreck Ability
* This is not really a workaround, but more like a reinvented functionality which most people are not aware of.


1. The Wreck



Every tank entity has a wreck_entity in health_ext. This wreck_entity has a rebuilt_entity and a rebuild squad.

The T-34\76 will be used as example:

The tank ebps\races\soviet\vehicles\t_34\t_34_76_mp has the wreck ebps\environment\art_ambient\objects\vehicles\wrecked_vehicles\wrecked_t_34_76_mp.

  • Clone this wreck.

  • Set in health_ext the rebuild_entity to ebps\races\soviet\vehicles\t_34\t_34_76_mp.

  • Set in health_ext the rebuild_squad to sbps\races\soviet\vehicles\t_34_squad\t_34_76_squad_mp.


Each wreck can only have one rebuilt unit. So you have to create a wreck per unit. In vanilla, wrecks like the Panzer IV are used for more units.


2. The Recovery Ability



The wreck cannot be recovered yet. Therefor you need to create a new ability.

  • Clone "abilities\soviet\modal_ability\salvage_ability\engineer_recover_wreck".

  • Clear the requirements in the new ability.

  • Then go to start_target_actions.

  • Remove 2. salvage_from_wreck_action and replace this with a heal_action.

  • Add this ability to your own squad and the T-34\76 can now be recovered with the original tank!
2 users are browsing this thread: 2 guests