Bladestorm Games
New member
Hello I am attempting to make a buff functions similar to Animal Tracking, but tracks zombies instead.
For testing I am delivering the Tracking Buff like this:
buff.xml
<configs>
<!-- Grant Player the ability to track Zombies -->
<append xpath="/buffs/buff[@name='buffPerkAbilityUpdate']">
<effect_group>
<triggered_effect trigger="onSelfBuffUpdate" action="AddBuff" buff="buffZombieTracking">
<requirement name="!HasBuff" buff="buffZombieTrackEnabled"/>
<requirement name="EntityTagCompare" tags="player"/>
</triggered_effect>
</effect_group>
</append>
<!-- Zombie Tracking -->
<append xpath="/buffs">
<buff name="buffZombieTrackEnabled" hidden="true">
<stack_type value="replace"/>
<duration value="0"/>
<effect_group name="handling">
<!-- Track Distance -->
<passive_effect name="TrackDistance" operation="base_add" value="100"/>
<!-- Recycle Buff -->
<triggered_effect trigger="onSelfBuffUpdate" action="AddBuff" buff="buffZombieTracking">
<requirement name="!HasBuff" buff="buffZombieTracking"/>
</triggered_effect>
</effect_group>
</buff>
<buff name="buffZombieTracking" name_key="buffZombieTrackingName" description_key="buffZombieTrackingDesc" showonhud="true" icon="ui_game_symbol_zombie" icon_color="255,0,0">
<stack_type value="replace"/>
<duration value="20"/>
<effect_group name="track_zombie">
<passive_effect name="Tracking" operation="base_set" value="1" tags="zombie"/>
</effect_group>
</buff>
</append>
</configs>
Localization for Buff Text:
Localization.txt
Key,File,Type,UsedInMainMenu,NoTranslate,english
buffZombieTrackingName,buffs,Buff,,,Tracking Zombies
buffZombieTrackingDesc,buffs,Buff,,,Tracking zombies.
Now I'm guessing the next step is to setup a nav_objects.xml like so:
nav_objects.xml
<config>
<append xpath="/nav_object_classes">
<nav_object_class name="track_zombie" extends="animaltracking_hostile">
<property name="requirement_type" value="Tracking" />
<property name="use_override_icon" value="true" />
<map_settings>
<property name="sprite_name" value="ui_game_symbol_zombie"/>
</map_settings>
<compass_settings>
<property name="sprite_name" value="ui_game_symbol_zombie"/>
</compass_settings>
<onscreen_settings>
<property name="sprite_name" value="ui_game_symbol_zombie"/>
<property name="offset" value="0,1.1,0" />
</onscreen_settings>
</nav_object_class>
</append>
</config>
And I think the final step would be to setup a entityclasses.xml like so:
entityclasses.xml
<config>
<set xpath="/entity_classes/entity_class[@name='zombieTemplateMale']/property[@name='TrackerIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieTemplateMale']/property[@name='MapIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieTemplateMale']/property[@name='CompassIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieTemplateMale']/property[@name='NavObject']/@value">track_zombie</set>
</config>
Or is this setup a better option:
entityclasses.xml
<config>
<!-- zombieArlene -->
<set xpath="/entity_classes/entity_class[@name='zombieArlene']/property[@name='TrackerIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieArlene']/property[@name='MapIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieArlene']/property[@name='CompassIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieArlene']/property[@name='NavObject']/@value">track_zombie</set>
<!-- Repeat the above for zombieArleneFeral -->
<!-- Repeat the above for zombieArleneRadiated -->
<!-- Repeat for the other Zombies -->
</config>
I probably dont have to set tags in the entity_class.xml, because in buffs.xml I am using tags="zombie" which the entities already have the zombie tag.
But it is worth noting based on the game's core entityclasses.xml, that for entity_class zombieTemplateMale:
<property name="Tags" value="entity,zombie,walker"/> <!-- this property DOES NOT inherit on extends and target_tags cannot be AND connected -->
Let me know if you guys have any thoughts, or spot any mistakes issues. Thanks!
For testing I am delivering the Tracking Buff like this:
buff.xml
<configs>
<!-- Grant Player the ability to track Zombies -->
<append xpath="/buffs/buff[@name='buffPerkAbilityUpdate']">
<effect_group>
<triggered_effect trigger="onSelfBuffUpdate" action="AddBuff" buff="buffZombieTracking">
<requirement name="!HasBuff" buff="buffZombieTrackEnabled"/>
<requirement name="EntityTagCompare" tags="player"/>
</triggered_effect>
</effect_group>
</append>
<!-- Zombie Tracking -->
<append xpath="/buffs">
<buff name="buffZombieTrackEnabled" hidden="true">
<stack_type value="replace"/>
<duration value="0"/>
<effect_group name="handling">
<!-- Track Distance -->
<passive_effect name="TrackDistance" operation="base_add" value="100"/>
<!-- Recycle Buff -->
<triggered_effect trigger="onSelfBuffUpdate" action="AddBuff" buff="buffZombieTracking">
<requirement name="!HasBuff" buff="buffZombieTracking"/>
</triggered_effect>
</effect_group>
</buff>
<buff name="buffZombieTracking" name_key="buffZombieTrackingName" description_key="buffZombieTrackingDesc" showonhud="true" icon="ui_game_symbol_zombie" icon_color="255,0,0">
<stack_type value="replace"/>
<duration value="20"/>
<effect_group name="track_zombie">
<passive_effect name="Tracking" operation="base_set" value="1" tags="zombie"/>
</effect_group>
</buff>
</append>
</configs>
Localization for Buff Text:
Localization.txt
Key,File,Type,UsedInMainMenu,NoTranslate,english
buffZombieTrackingName,buffs,Buff,,,Tracking Zombies
buffZombieTrackingDesc,buffs,Buff,,,Tracking zombies.
Now I'm guessing the next step is to setup a nav_objects.xml like so:
nav_objects.xml
<config>
<append xpath="/nav_object_classes">
<nav_object_class name="track_zombie" extends="animaltracking_hostile">
<property name="requirement_type" value="Tracking" />
<property name="use_override_icon" value="true" />
<map_settings>
<property name="sprite_name" value="ui_game_symbol_zombie"/>
</map_settings>
<compass_settings>
<property name="sprite_name" value="ui_game_symbol_zombie"/>
</compass_settings>
<onscreen_settings>
<property name="sprite_name" value="ui_game_symbol_zombie"/>
<property name="offset" value="0,1.1,0" />
</onscreen_settings>
</nav_object_class>
</append>
</config>
And I think the final step would be to setup a entityclasses.xml like so:
entityclasses.xml
<config>
<set xpath="/entity_classes/entity_class[@name='zombieTemplateMale']/property[@name='TrackerIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieTemplateMale']/property[@name='MapIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieTemplateMale']/property[@name='CompassIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieTemplateMale']/property[@name='NavObject']/@value">track_zombie</set>
</config>
Or is this setup a better option:
entityclasses.xml
<config>
<!-- zombieArlene -->
<set xpath="/entity_classes/entity_class[@name='zombieArlene']/property[@name='TrackerIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieArlene']/property[@name='MapIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieArlene']/property[@name='CompassIcon']/@value">ui_game_symbol_zombie</set>
<set xpath="/entity_classes/entity_class[@name='zombieArlene']/property[@name='NavObject']/@value">track_zombie</set>
<!-- Repeat the above for zombieArleneFeral -->
<!-- Repeat the above for zombieArleneRadiated -->
<!-- Repeat for the other Zombies -->
</config>
I probably dont have to set tags in the entity_class.xml, because in buffs.xml I am using tags="zombie" which the entities already have the zombie tag.
But it is worth noting based on the game's core entityclasses.xml, that for entity_class zombieTemplateMale:
<property name="Tags" value="entity,zombie,walker"/> <!-- this property DOES NOT inherit on extends and target_tags cannot be AND connected -->
Let me know if you guys have any thoughts, or spot any mistakes issues. Thanks!
Last edited by a moderator: