Jump to content

Shocking Ammo Mod (Working w/Issues)


Recommended Posts

Hey, recently I got some custom ammo in the game working that has a small chance to apply a wrapper buff around `buffShock` with a small chance to spread to nearby enemies. However, I have a few questions to get it to behave the way I want.

 

  1. The buff seems to always apply for 5s.
  2. The buff seems to always spread regardless of the `<requirement name="RandomRoll" />` placed within the `<triggered_effect></triggered_effect>`
  3. I cannot seem to get `Shock Duration` to show in the UI when viewing the ammo type in inventory or on the workbench.
  4. Is there a way to make the damage scale off the Eletrocutioner skill?

 

The buff in `Config/buffs.xml`

    <buff name="buffShockedAmmo" hidden="true">
      <damage_type value="electrical" />
      <stack_type value="replace" />
      <duration value="0" />

      <effect_group>
        <requirement name="CVarCompare" cvar="buffShockedAmmoDuration" operation="LT" value="5" />
        <triggered_effect trigger="onSelfBuffStart" action="ModifyCVar" cvar="buffShockedAmmoDuration" operation="set" value="2.5" />
        <triggered_effect trigger="onSelfBuffStack" action="ModifyCVar" cvar="buffShockedAmmoDuration" operation="set" value="2.5" />
      </effect_group>

      <effect_group>
        <triggered_effect trigger="onSelfBuffStart" action="AddBuff" buff="buffShocked" />

        <triggered_effect trigger="onSelfBuffUpdate" action="ModifyCVar" cvar="buffShockedAmmoDuration" operation="add" value="-1" />
        <triggered_effect trigger="onSelfBuffUpdate" action="RemoveBuff" buff="buffShockedAmmo">
          <requirement name="CVarCompare" cvar="buffShockedAmmoDuration" operation="LTE" value="0" />
        </triggered_effect>
        <triggered_effect trigger="onSelfBuffRemove" action="ModifyCVar" cvar="buffShockedAmmoDuration" operation="set" value="0" />
      </effect_group>

      <effect_group>
        <requirement name="CVarCompare" cvar="buffShockWeaponDuration" operation="LTE" value="1" />
        <triggered_effect trigger="onSelfBuffUpdate" action="Ragdoll" duration="1.5" />
      </effect_group>

      <effect_group>
        <passive_effect name="HealthChangeOT" operation="base_subtract" duration="0,8,14,18" value="1,5,11,13">
          <requirement name="EntityTagCompare" tags="player" />
        </passive_effect>
      </effect_group>
    </buff>

 

The `<effect_group>` in each ammo type in `Config/items.xml`

<effect_group name="shockingAmmo" tiered="false">
        <!--@todo This appears to be causing buff to not work -->
        <!--<passive_effect name="EntityDamage" operation="perc_add" value=".15,.95" tags="perkElectrocutioner" />-->
        <!---->
        <triggered_effect trigger="onSelfAttackedOther" action="ModifyCVar" target="other" cvar="$buffShockedAmmoDuration" operation="set" value="2.5" />
        <triggered_effect trigger="onSelfAttackedOther" action="AddBuff" target="other" buff="buffShockedAmmo" duration="2.5">
          <requirement name="RandomRoll" seed_type="Random" min_max="1,100" operation="LTE" value="25" />
        </triggered_effect>

        <triggered_effect trigger="onSelfAttackedOther" action="AddBuff" target="otherAOE" range="1.5" target_tags="zombie,animal" buff="buffShockedAmmo" duration="2.5">
          <requirement name="RandomRoll" seed_type="Random" min_max="1,100" operation="LTE" value="10" />
        </triggered_effect>

        <display_value name="dShockDuration" value="2.5" />
      </effect_group>

 

`ui_display.xml`

<configs>
  <insertAfter xpath="ui_display_info/item_display/item_display_info[@display_type='ammoBullet']">
    <item_display_info display_type="shockingAmmo9mmAmmo" display_group="groupAmmo">
      <display_entry name="EntityDamage" title_key="statEntityDamageRanged" tags="perkGunslinger,perkBoomstick,perkDeadEye,perkMachineGunner,perkBookAutoWeapons,perkTurrets,perkArchery,admin" />
      <display_entry name="BlockDamage" title_key="statBlockDamage" tags="perkGunslinger,perkBoomstick,perkDeadEye,perkMachineGunner,perkBookAutoWeapons,perkTurrets,perkArchery,admin" />
      <display_entry name="dShockDuration" title_key="statShockDuration" display_type="Time" />
    </item_display_info>
  </insertAfter>
</configs>

 

And finally `Localization.txt` -- the rest of my localization edits are working including custom ammo name and description.

Key,File,Type,UsedInMainMenu,NoTranslate,english,Context / Alternate Text
statShockDuration,ui_display,Item stat,,Shock Duration

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...