• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Creating a custom weapon from a different archtype

Greetings, I've been racking my brain all day trying to figure this out and I can't.

Here's the basic gist. My DM was giving out rewards to the players. Mostly all magical items, since the majority of the party is a magic based character. I'm playing a two-handed fighter.

When it came time to give me the reward, the GM said he'd have to think about it and he would let me know what he could do. He presented the option of having my current greatsword (which was a family heirloom) transform into the Black Blade. The one that the Magus Archetype "Bladebound" gets.

The only way I can get the sword to show up in my inventory is by adding three levels of Magus with the Bladebound archetype.

Does anyone know anyway I can get that weapon to show up, or at least customize a weapon, or through the Permanent Adjustments screen (inside Personal), or the other adjustments tabs?

I'm thought about using the editor, but it looks so daunting, and I wouldn't know where to start. Any help would be appreciated. Thanks!
 
You could create a custom archetype that implements the Black Blade in the editor

That sounds like a great idea actually. But, I'm a little uneasy about doing that. I went into the editor, click on class, and then archetype, "New (Copy)" and selected the bloodbound one. But there's warnings, saying it's non-copyable. I'm afraid of potentially ruining anything. Do you have any advice?
 
I was able to get mostly everything set up archetype wise. But the weapon itself has been tricky. I had to create a one handed weapon that had the stats of the greatsword and I've been able to give the character that item. For the magus, the weapon is intelligent, and the weapon gets enhancement bonuses every few levels. But, I'm not able to see that when I select the weapon, I'm given the option to make it masterwork, but it doesn't give a bonus. Any idea on what I may have been missing?
 
The black blade weapon is currently set up to only look at certain class levels, you can use it, but you're going to have to set up a similar script which transitions to it and does the same thing for your class.

For reference, here is the eval script of the item.

First 600
Code:
      var effectlev as number
      if (#hasarchetype[arMagBlade] <> 0) then
        effectlev += #levelcount[Magus]
        endif
      if (#hasarchetype[arArcBlaAd] <> 0) then
        effectlev += #levelcount[Arcanist]
        endif

      ~if we don't have either of those archetypes, this weapon shouldn't have
      ~gotten onto the hero, so there's something wrong, and we'll just stop
      doneif (effectlev = 0)

      ~ Set our bonus, and other things related to the level.
      var enhance as number
      var intel as number
      var wischa as number
      var ego as number
      var arcana as number

      if (effectlev >= 19) then
        enhance = 5
        intel = 19
        arcana = 4
        wischa = 15
        ego = 24

      elseif (effectlev >= 17) then
        enhance = 5
        intel = 18
        arcana = 4
        wischa = 14
        ego = 22

      elseif (effectlev >= 15) then
        enhance = 4
        intel = 17
        arcana = 3
        wischa = 13
        ego = 18

      elseif (effectlev >= 13) then
        enhance = 4
        intel = 16
        arcana = 3
        wischa = 12
        ego = 16

      elseif (effectlev >= 11) then
        enhance = 3
        intel = 15
        arcana = 2
        wischa = 11
        ego = 14

      elseif (effectlev >= 9) then
        enhance = 3
        intel = 14
        arcana = 2
        wischa = 10
        ego = 12

      elseif (effectlev >= 7) then
        enhance = 2
        intel = 13
        arcana = 1
        wischa = 9
        ego = 10

      elseif (effectlev >= 5) then
        enhance = 2
        intel = 12
        arcana = 1
        wischa = 8
        ego = 8

      else
        enhance = 1
        intel = 11
        wischa = 7
        ego = 5
        endif

      trustme
      perform gizmo.child[gCustMagic].assign[Helper.IntelForce]
      gizmo.child[gCustMagic].field[gIsIntel].value = 1
      gizmo.child[gCustMagic].field[gCustBonus].value = enhance
      perform gizmo.child[gCustMagic].field[gEgo].modify[+, ego, "Magus Levels"]

      perform hero.pulltags[Alignment.?]
      perform gizmo.pushtags[Alignment.?]

      ~ Black Blades have Telepathy
      perform gizmo.assign[intComm.Telepathy]

      ~ Black Blades don't necessarily need to take at least 1 power.
      gizmo.child[gCustMagic].field[gPowerUsed].value += 1

      ~ Black Blades force the attributes to a standard number.
      if (gizmo.childlives[aINT] <> 0) then
        gizmo.child[aINT].field[aNormForce].value = intel
        endif
      if (gizmo.childlives[aWIS] <> 0) then
        gizmo.child[aWIS].field[aNormForce].value = wischa
        endif
      if (gizmo.childlives[aCHA] <> 0) then
        gizmo.child[aCHA].field[aNormForce].value = wischa
        endif

      ~ We have to add external skill ranks before skRanks is calculated at
      ~ PostLevel 9000. This means we can't wait for aModBonus to be calculated
      ~ in PostAttr.
      gizmo.child[skKnowArca].field[skExtRanks].value += arcana

      ~ Set our initial name.
      if (gizmo.child[gCustMagic].field[gCustUserN].isempty <> 0) then
        gizmo.child[gCustMagic].field[gCustUserN].text = "Black Blade"
        endif
 
I have no clue where any of that goes. I know nothing of programming or scripting, or anything like that. I just made a new archetype and essentially copy and pasted everything from the bladebound archetype into the new custom made one.
 
I think the issue here is, in part, that the Black Blade isn't so much a weapon as it is a class feature that works like a weapon. As such, the "Black Blade" isn't a normal magic item to give out... and trying to convert the class ability into one is causing most of the problems.

Did he mean to give you the class ability, or did he mean to give you a weapon that "works like" the class ability? If the latter, then making a new weapon instead of trying to migrate the class ability may be the way to go.
 
I think the issue here is, in part, that the Black Blade isn't so much a weapon as it is a class feature that works like a weapon. As such, the "Black Blade" isn't a normal magic item to give out... and trying to convert the class ability into one is causing most of the problems.

Did he mean to give you the class ability, or did he mean to give you a weapon that "works like" the class ability? If the latter, then making a new weapon instead of trying to migrate the class ability may be the way to go.

He meant to give me a weapon that works like the class ability. I've been able to pretty much duplicate the archetype sans the arcane pool. The GM is instead having me lose health when I use the weapon.

I got the archetype set up as such that only the Black Blade abilities show up under the fighters section along with the Two-Handed Fighter abilities. And I created a weapon with the stats of the greatsword, but is a one-handed weapon. Which, I'll just use in both hands anyway. The only thing is that I don't know how to give the enhancement bonus to the weapon. It just has a dash mark next Base Item. Even when I give my self a few extra levels, it doesn't go up. However, the Black Blade : Strike ability does go up.

Any help would be appreciated. :-)
 
Here is my first pass at an eval script for this. In the editor, select your archetype and hit the blue "Eval Scripts" button in the upper right, and add the following two eval scripts.

First 605
Code:
      ~ I'm not sure what class your character is, so I will use Fighter as my example.
      ~ Change it to whatever is correct for you.
      var effectlev as number
      effectlev += #levelcount[Fighter]

      ~ Set our bonus, and other things related to the level.
      var enhance as number
      var intel as number
      var wischa as number
      var ego as number
      var arcana as number

      if (effectlev >= 19) then
        enhance = 5
        intel = 19
        arcana = 4
        wischa = 15
        ego = 24

      elseif (effectlev >= 17) then
        enhance = 5
        intel = 18
        arcana = 4
        wischa = 14
        ego = 22

      elseif (effectlev >= 15) then
        enhance = 4
        intel = 17
        arcana = 3
        wischa = 13
        ego = 18

      elseif (effectlev >= 13) then
        enhance = 4
        intel = 16
        arcana = 3
        wischa = 12
        ego = 16

      elseif (effectlev >= 11) then
        enhance = 3
        intel = 15
        arcana = 2
        wischa = 11
        ego = 14

      elseif (effectlev >= 9) then
        enhance = 3
        intel = 14
        arcana = 2
        wischa = 10
        ego = 12

      elseif (effectlev >= 7) then
        enhance = 2
        intel = 13
        arcana = 1
        wischa = 9
        ego = 10

      elseif (effectlev >= 5) then
        enhance = 2
        intel = 12
        arcana = 1
        wischa = 8
        ego = 8

      else
        enhance = 1
        intel = 11
        wischa = 7
        ego = 5
        endif

      ~ Set the focus to the black blade weapon on the hero. From then on we can
      ~ use "focus" to start there and transition into it's gizmo. This is
      ~ largely a convienence of code so we don't have to repeatedly transition
      ~ to the hero and then the item, and then the gizmo. Saves us some typing.
      perform hero.childfound[iBlackBla].setfocus

      ~ Stop if we somehow did not find a black blade to set the focus to
      doneif (state.isfocus = 0)

      ~ Now go into the gizmo and change things as appropriate
      trustme
      perform focus.gizmo.child[gCustMagic].assign[Helper.IntelForce]
      focus.gizmo.child[gCustMagic].field[gIsIntel].value = 1
      focus.gizmo.child[gCustMagic].field[gCustBonus].value = enhance
      perform focus.gizmo.child[gCustMagic].field[gEgo].modify[+, ego, "Fighter Levels"]

      perform hero.pulltags[Alignment.?]
      perform focus.gizmo.pushtags[Alignment.?]

      ~ Black Blades have Telepathy
      perform focus.gizmo.assign[intComm.Telepathy]

      ~ Black Blades don't necessarily need to take at least 1 power.
      focus.gizmo.child[gCustMagic].field[gPowerUsed].value += 1

      ~ Black Blades force the attributes to a standard number.
      if (focus.gizmo.childlives[aINT] <> 0) then
        focus.gizmo.child[aINT].field[aNormForce].value = intel
        endif
      if (focus.gizmo.childlives[aWIS] <> 0) then
        focus.gizmo.child[aWIS].field[aNormForce].value = wischa
        endif
      if (focus.gizmo.childlives[aCHA] <> 0) then
        focus.gizmo.child[aCHA].field[aNormForce].value = wischa
        endif

      ~ We have to add external skill ranks before skRanks is calculated at
      ~ PostLevel 9000. This means we can't wait for aModBonus to be calculated
      ~ in PostAttr.
      focus.gizmo.child[skKnowArca].field[skExtRanks].value += arcana

      ~ Set our initial name.
      if (focus.gizmo.child[gCustMagic].field[gCustUserN].isempty <> 0) then
        focus.gizmo.child[gCustMagic].field[gCustUserN].text = "Black Blade"
        endif

Final 20005
Code:
    ~ Our black blade has got to be a greatsword!
    hero.childfound[iBlackBla].gizmo.child[gCustMagic].field[gItemExpr].text = #magicgearexpr[] & " & (IsWeapon.wGreatswd)"
 
That's it! That worked out perfectly! Thank you so much!

Is there anyway to attach the alertness feat to it? So that it only works when I have it equipped? Something akin to how a wizard get a bonus from their familiar if they are within a certain distance to their familiar?
 
Last edited:
That's it! That worked out perfectly! Thank you so much!

Is there anyway to attach the alertness feat to it? So that it only works when I have it equipped? Something akin to how a wizard get a bonus from their familiar if they are within a certain distance to their familiar?

Sure. Basically you will want to bootstrap the alertness feat with a condition to prevent it being added unless some trigger happens. We'll define a new tag, whose presence on the hero will serve as the trigger.

In the editor, select your archetype and scroll down to the bottom section, to the button called "User Tags". Click that and select "New tag" at the top and OK. It will pop up a new window asking for the tag Unique ID. Enter something like "BlaBlAlert", you can give it a name too if you like (though it isn't necessary). Hit OK

Now go to the bootstrap button, and add a bootstrap for fAlertness. To the right of that bootstrap you should see 3 blue buttons. Click on "Condition", set the timing to First 600, and enter the following (which basically says, the condition is fulfilled if we count 1 Custom.BlaBlAlert tag).

Code:
count:Custom.BlaBlAlert <> 0

Now, this last part I am going to leave to you. Create an eval script which will assign the Custom tag to the hero context, if the black blade is equipped. Remember, your eval script will have to run before the condition test. You should be able to find multiple eval scripts referring to whether an item is equipped or not (but remember you are starting the eval script on the archetype, so you'll have to transition to the black blade before checking if that is equipped).
 
adding another black blade

The black blade weapon is currently set up to only look at certain class levels, you can use it, but you're going to have to set up a similar script which transitions to it and does the same thing for your class.

For reference, here is the eval script of the item.

First 600
Code:
      var effectlev as number
      if (#hasarchetype[arMagBlade] <> 0) then
        effectlev += #levelcount[Magus]
        endif
      if (#hasarchetype[arArcBlaAd] <> 0) then
        effectlev += #levelcount[Arcanist]
        endif

      ~if we don't have either of those archetypes, this weapon shouldn't have
      ~gotten onto the hero, so there's something wrong, and we'll just stop
      doneif (effectlev = 0)

      ~ Set our bonus, and other things related to the level.
      var enhance as number
      var intel as number
      var wischa as number
      var ego as number
      var arcana as number

      if (effectlev >= 19) then
        enhance = 5
        intel = 19
        arcana = 4
        wischa = 15
        ego = 24

      elseif (effectlev >= 17) then
        enhance = 5
        intel = 18
        arcana = 4
        wischa = 14
        ego = 22

      elseif (effectlev >= 15) then
        enhance = 4
        intel = 17
        arcana = 3
        wischa = 13
        ego = 18

      elseif (effectlev >= 13) then
        enhance = 4
        intel = 16
        arcana = 3
        wischa = 12
        ego = 16

      elseif (effectlev >= 11) then
        enhance = 3
        intel = 15
        arcana = 2
        wischa = 11
        ego = 14

      elseif (effectlev >= 9) then
        enhance = 3
        intel = 14
        arcana = 2
        wischa = 10
        ego = 12

      elseif (effectlev >= 7) then
        enhance = 2
        intel = 13
        arcana = 1
        wischa = 9
        ego = 10

      elseif (effectlev >= 5) then
        enhance = 2
        intel = 12
        arcana = 1
        wischa = 8
        ego = 8

      else
        enhance = 1
        intel = 11
        wischa = 7
        ego = 5
        endif

      trustme
      perform gizmo.child[gCustMagic].assign[Helper.IntelForce]
      gizmo.child[gCustMagic].field[gIsIntel].value = 1
      gizmo.child[gCustMagic].field[gCustBonus].value = enhance
      perform gizmo.child[gCustMagic].field[gEgo].modify[+, ego, "Magus Levels"]

      perform hero.pulltags[Alignment.?]
      perform gizmo.pushtags[Alignment.?]

      ~ Black Blades have Telepathy
      perform gizmo.assign[intComm.Telepathy]

      ~ Black Blades don't necessarily need to take at least 1 power.
      gizmo.child[gCustMagic].field[gPowerUsed].value += 1

      ~ Black Blades force the attributes to a standard number.
      if (gizmo.childlives[aINT] <> 0) then
        gizmo.child[aINT].field[aNormForce].value = intel
        endif
      if (gizmo.childlives[aWIS] <> 0) then
        gizmo.child[aWIS].field[aNormForce].value = wischa
        endif
      if (gizmo.childlives[aCHA] <> 0) then
        gizmo.child[aCHA].field[aNormForce].value = wischa
        endif

      ~ We have to add external skill ranks before skRanks is calculated at
      ~ PostLevel 9000. This means we can't wait for aModBonus to be calculated
      ~ in PostAttr.
      gizmo.child[skKnowArca].field[skExtRanks].value += arcana

      ~ Set our initial name.
      if (gizmo.child[gCustMagic].field[gCustUserN].isempty <> 0) then
        gizmo.child[gCustMagic].field[gCustUserN].text = "Black Blade"
        endif

Hey Aaron,

I've been working on a custom class for a home game and have hit a snag. I want to give it a custom weapons based on the way the black blade scales. So far i've been able to utilize the scripts above to give the class a custom weapon limited to light weapons only, but i want to give a second weapon that scales like the first at a higher level. I can't figure out how to achieve this. I've tried adding a second script:

var effectlev as number
effectlev += #levelcount[Custom]

var enhance as number

if (effectlev >= 19) then


elseif (effectlev >= 17) then
enhance = 5

elseif (effectlev >= 15) then
enhance = 4

elseif (effectlev >= 13) then
enhance = 4

elseif (effectlev >= 11) then
enhance = 3

elseif (effectlev >= 9) then
enhance = 3

elseif (effectlev >= 7) then
enhance = 2

elseif (effectlev >= 5) then
enhance = 2

else
enhance = 1
endif

perform hero.childfound[iBlackBla].setfocus

doneif (state.isfocus = 0)

trustme
perform focus.gizmo.child[gCustMagic].assign[Helper.IntelForce]
focus.gizmo.child[gCustMagic].field[gIsIntel].value = 0
focus.gizmo.child[gCustMagic].field[gCustBonus].value = enhance

if (focus.gizmo.child[gCustMagic].field[gCustUserN].isempty <> 0) then
focus.gizmo.child[gCustMagic].field[gCustUserN].text = "Custom Blade 2"
endif


i've tried subbing the iBlackBla tag with a custom magic weapon i made. it will compile but trying to use a bootstrap to add the item at a set level doesn't.
 
Back
Top