Back To Guides

Mantle and Grapple Points

Add more verticality to your levels by adding mantle and grapping points, allowing players to quickly ascend to higher places.


Included Units

units/pd2_mod_pdm/props/mantle_point/mantle_point

Interactable GUI unit of the mantle point. On interaction, the player will be vaulting upwards towards the position of this unit.
Keep in mind, players interact with this using the JUMP button.


units/pd2_mod_pdm/props/grapple_point/grapple_point

Interactable grapple prop of the grapple point. On interaction, the player will grapple upwards to towards the position of this unit, similar to a zipline.
Use the "End Position" in the unit settings to determine the starting position. Players can then interact with the grappling hook GUI icon to grapple up.


units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal

units/pd2_mod_pdm/props/mantle_indicator_rope_long/mantle_indicator_rope_long

units/pd2_mod_pdm/props/mantle_indicator_rope_short/mantle_indicator_rope_short

Optional props to use as mantle point indicators.

Installation

  1. Download the unit pack
  2. Open the Ascension_Units.zip file and extract the 3 folders into your map's root folder. (The folder that contains the main.xml file)
  3. Open your main.xml file and add the following code into the level tag:
  4. XML (Custom XML)
    <hooks directory="hooks"> <hook file="interactionext.lua" source_file="lib/units/interactions/interactionext"/> <hook file="playerstandard.lua" source_file="lib/units/beings/player/states/playerstandard"/> </hooks> <classes directory="classes"> <class file="grapplepoint.lua"/> </classes> <interactions> <interaction id="mantle_point" text_id="hud_int_press_mantle_point" axis="y" start_active="true" interact_distance="100"/> <interaction id="mantle_point_2" text_id="hud_int_press_mantle_point" based_on="mantle_point" interact_distance="200"/> <interaction id="grapple_point" text_id="hud_int_hold_grapple_point" based_on="hold_remove_rope" interact_distance="200" timer="1" force_update_position="true" axis="x" contour="interactable_icon"/> </interactions>
  5. Navigate to your localization file, usually /loc/english.txt, open it and add the following text:
  6. JSON
    "hud_int_press_mantle_point": "Press $BTN_INTERACT to climb", "hud_int_hold_grapple_point": "hold $BTN_INTERACT to grapple up"

    YAML alternative:

    YAML
    hud_int_press_mantle_point: "Press $BTN_INTERACT to climb" hud_int_hold_grapple_point: "hold $BTN_INTERACT to grapple up"
  7. Add the following code in your level's add.xml file /levels/ *your level id* /add.xml, or a custom package:
  8. <!--MANTLE POINT FILES--> <add> <unit load="true" path="units/pd2_mod_pdm/props/mantle_point/mantle_point" unload="true"/> <object path="units/pd2_mod_pdm/props/mantle_point/mantle_point" unload="true"/> <model path="units/pd2_mod_pdm/props/mantle_point/mantle_point" unload="true"/> <material_config path="units/pd2_mod_pdm/props/mantle_point/mantle_point" unload="true"/> <sequence_manager path="units/pd2_mod_pdm/props/mantle_point/mantle_point" unload="true"/> <unit load="true" path="units/pd2_mod_pdm/props/mantle_indicator_rope_long/mantle_indicator_rope_long" unload="true"/> <object path="units/pd2_mod_pdm/props/mantle_indicator_rope_long/mantle_indicator_rope_long" unload="true"/> <model path="units/pd2_mod_pdm/props/mantle_indicator_rope_long/mantle_indicator_rope_long" unload="true"/> <material_config path="units/pd2_mod_pdm/props/mantle_indicator_rope_long/mantle_indicator_rope_long" unload="true"/> <texture load="true" path="units/pd2_mod_pdm/props/mantle_indicator_rope_long/rope_df" unload="true"/> <texture load="true" path="units/pd2_mod_pdm/props/mantle_indicator_rope_long/rope_nm" unload="true"/> <unit load="true" path="units/pd2_mod_pdm/props/mantle_indicator_rope_short/mantle_indicator_rope_short" unload="true"/> <object path="units/pd2_mod_pdm/props/mantle_indicator_rope_short/mantle_indicator_rope_short" unload="true"/> <model path="units/pd2_mod_pdm/props/mantle_indicator_rope_short/mantle_indicator_rope_short" unload="true"/> <unit load="true" path="units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal" unload="true"/> <object path="units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal" unload="true"/> <model path="units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal" unload="true"/> <material_config path="units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal" unload="true"/> <material_config path="units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal_blue" unload="true"/> <texture load="true" path="units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal_df" unload="true"/> <texture load="true" path="units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal_op" unload="true"/> <texture load="true" path="units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal_blue_df" unload="true"/> <sequence_manager path="units/pd2_mod_pdm/props/mantle_indicator_decal/mantle_indicator_decal" unload="true"/> </add> <!--GRAPPLE POINT FILES--> <add> <bnk from_db="true" load="true" path="soundbanks/zipline" unload="true"/> <material_config path="units/pd2_mod_pdm/props/grapple_point/grapple_point" unload="true"/> <model path="units/pd2_mod_pdm/props/grapple_point/grapple_point" unload="true"/> <object path="units/pd2_mod_pdm/props/grapple_point/grapple_point" unload="true"/> <sequence_manager path="units/pd2_mod_pdm/props/grapple_point/grapple_point" unload="true"/> <texture load="true" path="units/pd2_mod_pdm/props/grapple_point/gui_grapple_hook" unload="true"/> <unit load="true" path="units/pd2_mod_pdm/props/grapple_point/grapple_point" unload="true"/> </add>

Download


Download Unit Pack Download Demo Level

Custom units and code created by Xeletron