View Single Post
Fenris447
Senior Member
 
Join Date: Sep 2017
Posts: 382

Old November 16th, 2020, 10:39 AM
There are a few instances in tomorrow's Tasha's Cauldron of Everything where we'd want to test to see if the hero is proficient in any martial weapon. This would need to be tested in an eval script in some instances and as a pre-requisite in others.

Obviously testing to see if the Hero is proficient in all martial weapons is pretty simple, as we look for the wProfReq.Martial tag. But there are plenty of Heroes that have proficiency in just one or a handful of martial weapons.

Is there an easier way to test this than what I have? And how can I do it as a prerequisite, if possible?

Here's the eval script code I've come up with, though I haven't had a chance to test it out yet.

Code:
~set up a variable
var profs as number

~start looping through every martial weapon
foreach thing from BaseWep where "wProfReq.Martial"

~if I'm using intersect right, we're taking the thingid of each martial weapon  in the loop and seeing if the hero has a WepProf.____ that matches it
if (hero.intersect[WepProf,thingid,initial] <> 0)

~ if it does match, add 1 to our variable
profs += 1
endif

~(here's where we'd test if profs > 0 then do whatever we want done if it is. I didn't include that code here since it's extraneous to this post)

~can the below be used to end the script early, so it doesn't have to loop through every weapon now that we've identified our minimum of 1?
doneif profs > 0

nexteach
I know we could also just manually type out each martial weapon and check if WepProf.____ is on the hero, but that doesn't account for any player-made or future weapons.

EDIT: Would it be possible to do this in reverse? Take whatever WepProf.____ tags are on the hero, go to the Thing for that weapon, then test if that weapon is martial? How would I do that?

Feel free to stop by the Lone Wolf Development Subreddit, for discussion of any and all LWD products and community efforts!

Last edited by Fenris447; November 16th, 2020 at 10:41 AM.
Fenris447 is online now   #1 Reply With Quote