Rope
Attributes
| Attribute | Type | Default value | Description | 
|---|---|---|---|
| SnapAnimDuration | float | 1 | |
| ProjectilePullForce | float | 0 | How much force is applied to pull the projectile the rope is attached to. | 
| TargetPullForce | float | 0 | How much force is applied to pull the target the rope is attached to. | 
| SourcePullForce | float | 0 | How much force is applied to pull the source the rope is attached to. | 
| MaxLength | float | 1000 | How far the source item can be from the projectile until the rope breaks. | 
| MinPullDistance | float | 200 | At which distance the user stops pulling the target? | 
| MaxAngle | float | 360 | The maximum angle from the source to the target until the rope breaks. | 
| SnapOnCollision | bool | true | Should the rope snap when it collides with a structure/submarine (if not, it will just go through it). | 
| SnapWhenNotAimed | bool | true | Should the rope snap when the character drops the aim? | 
| SnapWhenWeaponFiredAgain | bool | true | Should the rope snap when the weapon it was fired from is fired again? I.e. can there be multiple ropes coming from the weapon at the same time? | 
| BarrelLengthMultiplier | float | 0.9 | Multiplier for the length of the barrel when determining where the rope should start from. | 
| TargetMinMass | float | 30 | How much mass is required for the target to pull the source towards it. Static and kinematic targets are always treated heavy enough. | 
| LerpForces | bool | false | |
| IncreaseForceForEscapingTargets | bool | true | Should the force be dynamically adjusted to make it more difficult for targets to escape the pull? | 
| SpriteWidth | int | 5 | |
| SpriteColor | Color | “255,255,255,255” | |
| Tile | bool | false | |
| Origin | Vector2 | “0.5,0.5” | |
| BreakFromMiddle | bool | true | |
| ReelSoundPitchSlide | Vector2 | “1.0, 1.0” | When reeling in, the pitch slides from X to Y, depending on the length of the rope. | 
This component also supports the attributes defined in: ItemComponent
Example
<Item identifier="spear" category="Weapon" maxstacksize="32" maxstacksizecharacterinventory="6" interactthroughwalls="true" cargocontaineridentifier="metalcrate" tags="mediumitem,harpoonammo,handheldammo" Scale="0.5" impactsoundtag="impact_metal_light">
  <Rope sourcepullforce="300" targetpullforce="150" projectilepullforce="5" maxlength="1500" snaponcollision="false" spritewidth="3" tile="true" origin="0.05,0.5" targetminmass="10" lerpforces="true" snapanimduration="0.5" ReelSoundPitchSlide="1.0,2.25">
    <Sprite texture="Content/Map/Thalamus/thalamus.png" sourcerect="617,352,174,32" depth="0.57" origin="0.5,0.5" />
    <SnapSound file="Content/Items/Weapons/HarpoonGun1.ogg" range="500" frequencymultiplier="3.0,4.0" />
    <ReelSound file="Content/Items/Weapons/WEAPON_harpoonGunReelLoop.ogg" range="1000" />
    <!-- Snap after 1 seconds if not stuck to anything -->
    <StatusEffect type="OnUse" target="This" Snapped="true" delay="1" checkconditionalalways="true">
      <Conditional targetitemcomponent="Projectile" IsStuckToTarget="false" />
    </StatusEffect>
  </Rope>
  <Projectile characterusable="false" launchimpulse="5" sticktocharacters="true" sticktoitems="true" sticktostructures="true" sticktodeflective="true" sticktodoors="false" sticktolighttargets="true">
    <Attack structuredamage="15" itemdamage="15" targetforce="20" severlimbsprobability="0.1">
      <Affliction identifier="lacerations" strength="35" />
      <Affliction identifier="bleeding" strength="35" />
      <Affliction identifier="stun" strength="0.5" />
    </Attack>
    <StatusEffect type="OnActive" target="UseTarget,This" checkconditionalalways="true" comparison="And" disabledeltatime="true">
      <Conditional Snapped="false" />
      <Conditional mass="lt 30" />
      <Affliction identifier="drag" strength="1" />
    </StatusEffect>
  </Projectile>
  [...]
</Item>