I have an Artificer in my game using a Homunculus, which has stats based on the character's level and proficiency bonus. After much goofing around, this is the solution I came up with: first I copied the Homuculus Servant from the compendium out - but you can build one from scratch if you don't have Eberron or Tashas. Next, I created a macro - which I use in the Token Action bar. This should be run once each time you level. Note : Replace "<charname>" with the owning character name - no angle brackets. Note 2 : If the artificer multiclasses, you'll need to replace level with base_level or multiclass[#]_lvl as appropriate. APIs Required : ChatSetAttr and TokenMod !setattr {{
--sel
--HP|[[1+@{<charname>|intelligence_mod}+@{<charname>|level}]]|[[1+@{<charname>|intelligence_mod}+@{<charname>|level}]] --npc_hpformula|[[@{<charname>|level}]]d4 --pb_bonus|@{<charname>|pb} --repeating_npcaction_$0_attack_tohit|[[@{<charname>|spell_attack_bonus}]] --repeating_npcaction_$0_attack_damage|1d4+[[@{<charname>|pb}]] --npc_dex_save_base|[[2+@{<charname>|pb}]] --npc_senses|darkvision 60 ft., passive Perception [[10+[[@{<charname>|pb}*2]]]] --npc_perception_base|[[@{<charname>|pb}*2]] --npc_stealth_base|[[2+@{<charname>|pb}]] }}
!token-mod --set bar1_link|hp defaulttoken
This can be modified to work with other variable stat creatures pretty easily. Thanks to Jakob for ChatSetAttr and The Aaron for TokenMod!