• 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

Conjured Weapon based on Smarts

Paragon

Well-known member
Speaking of quirky Broken Earth tricks:

One of the Edges allows a psionic in this setting to create a weapon made out of telekinetic force. The base damage on the weapon is equal to the character's Smarts die. How do I do this? Just substituting [attSma] in the usual formula for giving something a natural weapon doesn't work. Am I just using bad syntax, or do I have to do something more complicated to make that assignment a variable based on Smarts?

(It also probably ought to be activated, far as that goes, but I think I know how to do that part from what Zarlor taught me with the Thin Man Roll With It ability).
 
I thought the natural weaponry stuff was all built on something being a melee weapon and, therefore, Strength based. However, the Hand Weapon section does have a field for Special Damage, I believe, so what you could do is create a version of the weapon with that special damage set, hide it and bootstrap it into your Edge. It won't automatically show the Smarts value, but at least it will show the formula. I'm not too sure on how to make it read Smarts instead, though.
 
It sounds like you are wanting to bootstrap a weapon that does this so that it will show in the weapons list for the character. Make it have Special damage. If you enter "Sma + d4" that is what shows up. If you want it to be modified based on the Smarts, do it like in this thread (with Smarts instead of strength). http://forums.wolflair.com/showpost.php?p=202089&postcount=3

You can also change the base damage value inside the eval script if you want. Maybe it starts at d4, but bumps up if you have a certain edge. That this weapon can check for that edge on the character (I have showed you how elsewhere) and if the edge is present it makes it a d6. Or whatever.
 
I wasn't clear; this weapons still adds Strength damage as per normal; what the Smarts die is used is define the base weapon damage. So someone using the Telekinetic Blade does, effectively, Sma + Str. What I need to do is have the formula that defines the weapon use Sma rather than a standard value.

Let me show you guys what I tried to do and maybe it'll be clearer:
Code:
perform hero.child[wpUnarmed].setfocus
      focus.field[livename].text = "PsiBlade"
      perform focus.assign[WeaponDie.[attSma]]

That doesn't work. I essentially need to be able to set the WeaponDie as a variable based on Smarts.
 
I don't think that would work like that anyway. You can't generally just call "attrSma", you usually have to define that you want what the VALUE of attrSma is set to. That's why if you search through the common code thread you'll often see things like:

hero.childfound[attrSma].field[trtFinal].value

Something that defines where to find attrSma on the portfolio and then give you the value of that field. I'm not positive how to do that here, but you might try defining that to a variable (so, on the line and then calling the variable where you have attrSma above.

So maybe something like:
Code:
SmartsDmg = hero.childfound[attrSma].field[trtFinal].value
perform hero.child[wpUnarmed].setfocus
      focus.field[livename].text = "PsiBlade"
      perform focus.assign[WeaponDie.[SmartsDmg]]

Not sure of the syntax on that with the "SmartsDmg" part in brackets, but maybe playing around with something like that would work.
 
I thought it might be something like that (needing to use attSma to define a variable rather than directly) I just haven't been too clear on defining variables within HL. I'll see how that works.
 
Just to clarify something, since I thought it was a typo at first, it's "attr"-then the 3-letter code for the attribute. I don't want you getting caught up on something as small as only typing in "att" instead.
 
Yeah, still doesn't like the syntax of that. I'll have to look around and see if I can figure out what the right syntax there is.
 
So far, no joy; I found a code section in the code thread about how to add damage, but that'd work with martial arts and things it shouldn't. Then I looked at doing a bootstrapped auto-add only weapon, but that's no help because there doesn't seem any good way to set a weapon to a variable, either.

May have to just come back to this one and see if Caped Crusader or anyone has any idea.
 
As I understand it you want the Smarts die to be the weapon damage.

Am I right? You can do that if you did it like what I was pointing you to. Create a Psi Weapon and add it as a bootstrap. On that weapon then have an eval script like I suggested and have it create a damage based on Smarts. Then compare strength to it, like in the thread entry that I pointed to.

If I am wrong please put into simple words what you want to do and maybe in doing so the answer will present itself. It LOOKS like that is what you want it to do, but apparently I just don't get it.
 
Perhaps I'm unclear on something; I thought when you did special damage, it did not add strength. Or are you suggesting the special damage be something like "Sma + Str"? Is there any way to deal with the normal maximum (I looked at your link) without doing some pretty complicated else-ifs there? (Its possible I'm overcomplicating how it would work).
 
Assuming that I was correct in my understanding, it just took me a couple of minutes to do what I suggested a few posts above.

For the "Weapon Die" field, put "None". Leave "Special Damage" blank.

Make an Eval Script. I tested it at Traits 5000, which allows for mods to Strength to already exist.

Code:
var smaVal as number
var strVal as number
var damMax as number
var damage as string
smaVal = #trait[attrSma]
strVal = #trait[attrStr]
damMax = minimum(smaVal, strVal)
damage = "nothing"


if (damMax = 2 ) then
     damage = "Str + 1d4"
elseif (damMax = 3 ) then
     damage = "Str + 1d6"
elseif (damMax = 4) then
     damage = "Str + 1d8"
elseif (damMax = 5) then
     damage = "Str + 1d10"
else
     damage = "Str + 1d12"
endif

this.field[wpDamage].text = damage

If you want you can probably just put the #trait stuff inside the minimum and not even bother with the smaVal and strVal, but I put them there so that it is more clear what is going on.
 
Ah, yeah, that should do what I'm talking about; I wouldn't have necessarily known how to format the maxes there. I should push that up one or two more steps to account for someone using the Legendary edges to get a Smarts of of D12+1, shouldn't I? (Though I guess that doesn't matter since I don't think you can take that one twice, so you wouldn't be able to have both Smarts and Strength in that range).
 
Yep, that did the job. Thanks again as always. Thought I had a couple other questions, but I figured them out myself, so I'm good to go on this one.
 
Ah, yeah, that should do what I'm talking about; I wouldn't have necessarily known how to format the maxes there. I should push that up one or two more steps to account for someone using the Legendary edges to get a Smarts of of D12+1, shouldn't I? (Though I guess that doesn't matter since I don't think you can take that one twice, so you wouldn't be able to have both Smarts and Strength in that range).

You might want to make the change should it become a possibility. For example, I have the attribute maximum go up when a race has a bonus to that attribute. If a race had a bonus to Smarts and/or Strength it would be possible.

Anyway, glad it worked. I do not recall using minimum before, but many coding languages have some variation of it. I guessed correctly in this case.
 
Back
Top