I was working on my mod, where I am attaching the p_onFire particle to an enemy via a buff.
Seems like after about 1 second (when buff update is triggered?) it will auto remove that particle.
When switching "p_onFire" with "p_electric_shock", the shocking particle lasts the whole duration of the buff, but is not being removed the the buff is removed.
Video example:
Code example:
Buffs.xml
<configs> <append xpath="/buffs"> <buff name="buffScorchTest" name_key="buffScorchName" description_key="buffScorchDesc" showonhud="true" icon="ui_game_symbol_near_death_trauma" icon_color="255,0,0"> <stack_type value="replace"/> <duration value="0"/> <display_value value="varScorchDuration"/> <display_value_format value="time"/> <effect_group> <!-- Duration Handling --> <triggered_effect trigger="onSelfBuffStart" action="ModifyCVar" cvar="varScorchDuration" operation="set" value="3"/> <triggered_effect trigger="onSelfBuffUpdate" action="ModifyCVar" cvar="varScorchDuration" operation="add" value="-1"/> <!-- Particle & FX --> <!-- SWAP TEST: "p_onFire" with "p_electric_shock" also "p_impact_metal_on_organic" --> <triggered_effect trigger="onSelfBuffStart" action="AttachParticleEffectToEntity" particle="p_onFire" parent_transform="Spine1" local_offset="0,-.2,0"/> <triggered_effect trigger="onSelfEnteredGame" action="AttachParticleEffectToEntity" particle="p_onFire" parent_transform="Spine1" local_offset="0,-.2,0"/> <triggered_effect trigger="onSelfDied" action="RemoveParticleEffectFromEntity" particle="p_onFire"/> <triggered_effect trigger="onSelfBuffFinish" action="RemoveParticleEffectFromEntity" particle="p_onFire"/> <triggered_effect trigger="onSelfBuffRemove" action="RemoveParticleEffectFromEntity" particle="p_onFire"/> <triggered_effect trigger="onSelfLeaveGame" action="RemoveParticleEffectFromEntity" particle="p_onFire"/> <!-- Effect of being Scorched --> <!-- <passive_effect name="HealthChangeOT" operation="base_subtract" value="5"> --> <triggered_effect trigger="onSelfBuffUpdate" action="ModifyStats" stat="Health" operation="add" value="-5"/> <!-- Cleanup Handling :: Scorch --> <triggered_effect trigger="onSelfBuffUpdate" action="RemoveBuff" buff="buffScorch"> <requirement name="CVarCompare" cvar="varScorchDuration" operation="LTE" value="0"/> </triggered_effect> <triggered_effect trigger="onSelfBuffRemove" action="ModifyCVar" cvar="varScorchDuration" operation="set" value="0"/> </effect_group> </buff> </append> </configs>
And for a way to trigger the custom buff:
items.xml
<configs> <append xpath="/items/item[@name='meleeWpnBladeT0BoneKnife']"> <effect_group> <triggered_effect trigger="onSelfAttackedOther" action="AddBuff" target="other" buff="buffScorchTest"/> <triggered_effect trigger="onSelfEquipStart" action="AddBuff" buff="buffScorch"/> </effect_group> </append> </configs>
0