I have a new druid player who is using a normal staff with the Shillelagh spell on it. While the spell is active,

[...] you can use your spellcasting ability instead of Strength for the attack and damage rolls of melee attacks using that weapon [...]

We use DDB for character sheets, and play on Roll20. What I'd like to do is to create a homebrew staff in DDB that uses a spellcasting stat instead of STR so that the player can use that item when they have the spell cast on their staff. Obviously, I could just do the math every time, but it'd be waaay more cool to make an item that does all of that for me.

I'm fairly familiar with the homebrewing of items and spells (I make custom items for my players all the time), but I can't find a way to make an item use a different stat. I know I can hardcode it into the customization features of the staff, but I'd rather create a complete item that does all the work itself.

Alternately, a Roll20 script/macro solution that does the same thing with a single button press would be acceptable.

In D&D Beyond, how can I make a homebrew melee weapon that uses a spellcasting stat's bonus instead of STR/DEX?


1 Answer 1


A DndBeyond solution.

Start by creating a new homebrew item from scratch, selecting a classic quarterstaff.

First step for creating a custom magic item

Once you have clicked on the CREATE MAGIC ITEM button in the bottom-left part of the page, click on the "+" in the MODIFIERS section for adding a modifier.

Second step

Then select Bonus as MODIFIER TYPE, and as MODIFIER SUBTYPE Magic Item Attack With Wisdom. I selected Wisdom since the request is for a Druid casting Shillelagh.

See the image below for reference.

Screenshot of dndbeyond

I observed that if you equip a character with a higher STR score than WIS, DNDBeyond seems to consider the highest one.

A Roll20 solution.

This part of the answer builds on the hypothesis that at your (virtual) table you are using also the DnD5ed char sheet by Roll20, along with the DDB sheet.

One possible way to have a custom macro is to implement the following:

[[1d20+@{_charName|PB}+@{_charName|Wisdom_mod}]] Attack roll for Shillelagh attack

where _charName is the name of the character with the Shillelagh cantrip.

A similar one can be done for the damage roll:

[[1d8+@{_charName|Wisdom_mod}]] Damage roll for Shillelagh attack

If you prefer, you can also put the two rolls in the same macro.

Another Roll20 Solution

If your (virtual) table is not using the Roll20 char sheet, then you may create a macro with the explicit bonuses:

Shillelagh attack roll: [[1d20 + _WIS +_PB]] 
Shillelagh damage: [[1d20 + _WIS]]  

where _WIS is the WIS modifier and _PB is the Proficiency Bonus of the character.

  • \$\begingroup\$ Worth mentioning that the roll20 solution is more future proof as its rumoured that DDB may be removing homebrew content, at least for those not paying higher subscribtion fees. \$\endgroup\$ Commented Jan 30, 2023 at 9:58
  • 1
    \$\begingroup\$ @LioElbammalf I remember a FAQ from DDB that said that homebrew content will never be removed: I prefer to not spread rumors that have dubituous origins... \$\endgroup\$
    – Eddymage
    Commented Jan 30, 2023 at 10:34
  • \$\begingroup\$ FWIW, that macro can also be put into a token action, which for some players is easier to use. \$\endgroup\$ Commented Jan 30, 2023 at 16:49
  • \$\begingroup\$ @KorvinStarmast Do you mean by using selected instead of the charName? \$\endgroup\$
    – Eddymage
    Commented Jan 30, 2023 at 17:35
  • \$\begingroup\$ Well, token actions work with the same scripts and already only work when the character is selected. I think charname is probably the way to go. I'll mess with it when I get home today and let you know what I found. \$\endgroup\$ Commented Jan 30, 2023 at 19:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .