View Single Post
daplunk
Senior Member
 
Join Date: Jan 2016
Location: Adelaide, Australia
Posts: 2,294

Old January 30th, 2016, 01:44 PM
FEAT LIST

PLAYER HAND BOOK

Actor
ADD Eval Scripts:
Quote:
hero.child[aCHA].field[aStartMod].value += 1
Alert
ADD Eval Scripts:
Quote:
#skillbonus[Initiative] = #skillbonus[Initiative] + 5
Athlete
ADD Array-Based Menu?
Row 0: Strength
Row 1: Dexterity
ADD Eval Scripts
Quote:
if (field[usrIndex].value = 0) then
hero.child[aSTR].field[aStartMod].value += 1
elseif (field[usrIndex].value = 1) then
hero.child[aDEX].field[aStartMod].value += 1
endif
Charger
TICK: Show in Activated Abilities List?
Activation Name: Activate Charge (+5 bonus attack / ignore if pushing)
Eval Script:
Quote:
doneif (field[abilActive].value = 0)
foreach pick in hero from BaseWep where "(wCategory.Melee)"
eachpick.field[atmBonus].value += 5
nexteach
Crossbow Expert
Just Text

Defensive Duelist
Add Expr-reqs:
Message: Dexterity 13 required.
Pre-requisite Expression:
Quote:
#attrvalue[aDEX] >= 13
Tick: is Error? and Highlight Panel?
Add Eval Scripts
Phase: Post-attributes
Script:
Quote:
doneif (tagis[Helper.ShowSpec] = 0)

doneif (tagis[Helper.Disable] <> 0)

doneif (field[abilActive].value = 0)

hero.childfound[ArmorClass].field[Bonus].value += hero.child[ProfBonus].field[tProfBonus].value
Duel Wielder
ADD Eval-Script:
Phase: Post-Attributes
Script:
Quote:
doneif (tagis[Helper.ShowSpec] = 0)

doneif (tagis[Helper.Disable] <> 0)

field[abValue].value = 0

foreach pick in hero from BaseWep where "(Hero.OffHand & !wProperty.TwoHanded)"
perform eachpick.assign[wProperty.Light]
field[abValue].value = 1
nexteach

hero.childfound[ArmorClass].field[Bonus].value += field[abValue].value
Dungeon Delver
Just Text

Durable
Add Eval Scripts: hero.child[aCON].field[aStartMod].value += 1

Elemental Adept
Coming in the community pack. Has dependencies on multiple files / things.

Great Weapon Master
TICK: Show in Activated Abilities List?
ADD Activation Name: Activate Great Weapon Master (-5 to hit, +10 dmg)
ADD Eval Script:
Quote:
doneif (field[abilActive].value = 0)
foreach pick in hero from BaseWep where "(wProperty.Heavy)"
eachpick.field[atmBonus].value -= 5
eachpick.field[dmmBonus].value += 10
nexteach
Healer
Just Text

Heavily Armored
Add Eval Scripts:
Quote:
hero.child[aSTR].field[Bonus].value += 1
perform hero.assign[ArmProfGrp.ArmorHeavy]
Add Expre-reqs
Message: Proficiency with medium armor required.
Is Error: Ticked
Highlight Panel: Ticket
Pre-requisite Expression:
Quote:
tagis[ArmProfGrp.ArmorMed] <> 0
Heavy Armor Master
ADD Eval Scripts:
Quote:
#skillbonus[aSTR] = #skillbonus[aSTR] + 1
ADD Expr-reqs:
Quote:
Message: Proficiency with heavy armor required.
Is Error: Ticked
Highlight Panel: Ticket
Pre-requisite Expression: tagis[ArmProfGrp.ArmorHeavy] <> 0
Inspiring Leader
Add Expr-reqs:
Message: Charisma 13 required.
Pre-requisite Expression: #attrvalue[aCHA] >= 13
Tick: is Error? and Highlight Panel?
Keen Mind
Add Eval Scripts: #skillbonus[aINT] = #skillbonus[aINT] + 1

Lightly Armored
ADD Array-Based Menu?
Row 0: Strength
Row 1: Dexterity
ADD Eval Scripts
Quote:
if (field[usrIndex].value = 0) then
hero.child[aSTR].field[aStartMod].value += 1
elseif (field[usrIndex].value = 1) then
hero.child[aDEX].field[aStartMod].value += 1
endif

perform hero.assign[ArmProfGrp.ArmorLight]
Linguist
Add Eval Scripts:
Quote:
#skillbonus[aINT] = #skillbonus[aINT] + 1
hero.child[resLangBck].field[resMax].value += 3
Lucky
Charge Information:
TICK: Show in Tracked Resources List?
Base Charges: 3
Usage period: /long rest
Mage Slayer
Text Only

Magic Initiate
Complete: Coming in the Community pack

Martial Adept
Implemented as part of the community pack.

Medium Armor Master
ADD Eval-Script:
Phase: Final
Priority: 1000
Script:
Quote:
field[abValue].value = 0
foreach pick in hero from BaseArmor where "ArmorClass.Medium & Helper.CurrArmor"
field[abValue].value = 1
perform eachpick.delete[Helper.StealthDis]
nexteach
hero.childfound[ArmorClass].field[tACDexMod].value = minimum(hero.childfound[ArmorClass].field[tACDexMod].value + field[abValue].value, hero.childfound[aDEX].field[aModBonus].value)
ADD Expr-reqs
Message: Proficiency with medium armor required.
Is Error: Ticked
Highlight Panel: Ticked
Pre-requisite Expression:
Quote:
tagis[Hero.ProfMedium] <> 0
Mobile
Add Eval Scripts:
Quote:
hero.child[Speed].field[tSpeed].value += 10
Moderately Armored
ADD Array-Based Menu?
Row 0: Strength
Row 1: Dexterity
ADD Eval Scripts
Quote:
if (field[usrIndex].value = 0) then
hero.child[aSTR].field[aStartMod].value += 1
elseif (field[usrIndex].value = 1) then
hero.child[aDEX].field[aStartMod].value += 1
endif

perform hero.assign[ArmProfGrp.ArmorMed]
perform hero.assign[ArmProfGrp.Shields]
ADD Expr-reqs:
Quote:
Message: Proficiency with heavy armor required.
Is Error: Ticked
Highlight Panel: Ticket
Pre-requisite Expression: tagis[ArmProfGrp.ArmorLight] <> 0
TO DO: Add Proficiency with Shields

Mounted Combatant
Text Only

Observant
ADD Array-Based Menu?
Row 0: Intelligence
Row 1: Wisdom
ADD Eval Scripts
Quote:
if (field[usrIndex].value = 0) then
hero.child[aINT].field[aStartMod].value += 1
elseif (field[usrIndex].value = 1) then
hero.child[aWIS].field[aStartMod].value += 1
endif

ADD Eval Script #2
Phase: Post-attributes, Priority: 1000
Note: This makes it so you can hover over the skill and see the passive skill.

Quote:
var sPPercept as string
var sPInvest as string
var iPPercept as number
var iPInvest as number

iPPercept = hero.child[skPercep].field[skAttrBon].value+10+5
iPInvest = hero.child[skInvestig].field[skAttrBon].value+10+5
sPPercept = "passive Perception (" & iPPercept & ") [+5 bonus to your passive Wisdom (Perception)]"
sPInvest = "passive Investigation ("& iPInvest &") [+5 bonus to your passive Intelligence (Investigation)]"

#situational[hero.child[skPercep], sPPercept,field[thingname].text]
#situational[hero.child[skInvestig], sPInvest,field[thingname].text]

~#situational[hero.child[skPercep], "+5 bonus to your passive Wisdom (Perception)",field[thingname].text]
~#situational[hero.child[skInvestig], "+5 bonus to your passive Intelligence (Investigate)",field[thingname].text]
Polearm Master
Text only

Resilient
ADD Array Based Menu
Quote:
Row 0: Strength
Row 1: Dexterity
Row 2: Constitution
Row 3: Intelligence
Row 4: Wisdom
Row 5: Charisma
ADD Eval Script
Quote:
if (field[usrIndex].value = 0) then
hero.child[aSTR].field[aStartMod].value += 1
perform hero.assign[ProfSave.svSTR]

elseif (field[usrIndex].value = 1) then
hero.child[aDEX].field[aStartMod].value += 1
perform hero.assign[ProfSave.svDEX]

elseif (field[usrIndex].value = 2) then
hero.child[aCON].field[aStartMod].value += 1
perform hero.assign[ProfSave.svCON]

elseif (field[usrIndex].value = 3) then
hero.child[aINT].field[aStartMod].value += 1
perform hero.assign[ProfSave.svINT]

elseif (field[usrIndex].value = 4) then
hero.child[aWIS].field[aStartMod].value += 1
perform hero.assign[ProfSave.svWIS]

elseif (field[usrIndex].value = 5) then
hero.child[aCHA].field[aStartMod].value += 1
perform hero.assign[ProfSave.svCHA]

endif
Ritual Caster
We have added the ability to select the 2 ritual spells.

To Do: Once initial spells are selected unlock ability to add higher level spells.

Savage Attacker
Text only

Sentinel
Text only

Sharpshooter
TICK Show in Activated Abilities List?
Activation Name: Activate Sharpshooter (-5 to hit, +10 dmg)
ADD Eval Script:
Quote:
doneif (field[abilActive].value = 0)
foreach pick in hero from BaseWep where "(wCategory.RangeProj | wCategory.RangeThrow | wCategory.Firearm)"
eachpick.field[atrBonus].value -= 5
eachpick.field[dmrBonus].value += 10
nexteach
Shield Master
Text only

Skilled
Implemented, coming as part of the community pack.

Skulker
Add Expr-reqs:
Message: Dexterity 13 required.
Pre-requisite Expression: #attrvalue[aDEX] >= 13
Tick: is Error? and Highlight Panel?
Spell Sniper
This is now complete and will be included in the community pack. Has a number of dependencies thus not copied here.
Currently does not restrict spell choice to only those with attack roles. To be implemented after next official patch.

Tavern Brawler
This is now complete and will be included in the community pack. Has a number of dependencies thus not copied here.

Tough
ADD Eval Script #1:
Phase: Post-Levels
Priority: 5000
Script:
Quote:
field[abValue].value += maximum(herofield[tHitDice].value, 1)*2
ADD Eval Script #2:
Phase: Post-Levels
Priority: 15000
Script:
Quote:
~if we've been disabled, get out now
doneif (tagis[Helper.Disable] <> 0)

herofield[tBonusHP].value += field[abValue].value
War Caster

ADD Pre-reqs
Message: You must be able to cast at least one spell.
Is Error: Ticked
Highlight Panel: Ticked
Pre-requisite Script:
Quote:
var iTotal as number

iTotal = iTotal + #levelcount[Bard]
iTotal = iTotal + #levelcount[Cleric]
iTotal = iTotal + #levelcount[Druid]
iTotal = iTotal + #levelcount[Sorcerer]
iTotal = iTotal + #levelcount[Warlock]
iTotal = iTotal + #levelcount[Wizard]

if (#levelcount[Paladin] >1) then
iTotal = iTotal + #levelcount[Paladin]
endif
if (#levelcount[Ranger] >1) then
iTotal = iTotal + #levelcount[Ranger]
endif
if (hero.child[RaceHelper].field[rSpAtk].value >0) then
iTotal = iTotal + 1
endif

@valid = 0
if (iTotal >0) then
@valid = 1
endif
Weapon Master
We have this functioning however it is quite involved. We will release this shortly as part of the community pack.

Last edited by daplunk; February 20th, 2016 at 12:42 PM.
daplunk is offline   #2 Reply With Quote