140 lines
7.8 KiB
XML
140 lines
7.8 KiB
XML
<Library Name="charlib">
|
|
<Functions>
|
|
<Function Name="charlib_cost_a">
|
|
<Return>Max(1, [param.0] - 11)</Return>
|
|
</Function>
|
|
<Function Name="charlib_cost_b">
|
|
<Return>Max(1, [param.0] - 11) * 2</Return>
|
|
</Function>
|
|
<Function Name="charlib_cost_c">
|
|
<Return>Max(1, [param.0] - 11) * 3</Return>
|
|
</Function>
|
|
<Function Name="charlib_cost_d">
|
|
<Return>Max(1, [param.0] - 11) * 4</Return>
|
|
</Function>
|
|
<Function Name="charlib_cost_e">
|
|
<Return>Max(1, [param.0] - 11) * 5</Return>
|
|
</Function>
|
|
<Function Name="charlib_cost_f">
|
|
<Return>Max(1, [param.0] - 11) * 6</Return>
|
|
</Function>
|
|
<Function Name="charlib_cost_attr">
|
|
<Return>Max(1, [param.0] - 13) * 15</Return>
|
|
</Function>
|
|
<!--<Function Name="charlib_cost_b">
|
|
<Actions>
|
|
<Action>
|
|
<If>[param.0] <= 12</If>
|
|
<Do>1</Do>
|
|
<Output>[local.cost]</Output>
|
|
</Action>
|
|
<Action>
|
|
<If>[param.0] > 12</If>
|
|
<Do>[param.0] - 11</Do>
|
|
<Output>[local.cost]</Output>
|
|
</Action>
|
|
</Actions>
|
|
<Return>[local.cost]</Return>
|
|
</Function>-->
|
|
|
|
<Function Name="charlib_checkpreprint">
|
|
<Return>true</Return>
|
|
</Function>
|
|
<Function Name="charlib_maxhp">
|
|
<Return>[data.character.attributes.physique] + [data.character.attributes.physique] + [data.character.attributes.strength] + [data.character.race.healthbonus]</Return>
|
|
</Function>
|
|
<Function Name="charlib_intrinsicmagic">
|
|
<Actions>
|
|
<Action>
|
|
<Do>if([data.character.attributes.courage] >= 10, 0.25, 0) + if([data.character.attributes.intelligence] >= 10, 0.25, 0) + if([data.character.attributes.intuition] >= 10, 0.25, 0) + if([data.character.attributes.charisma] >= 10, 0.25, 0) + if([data.character.attributes.dexterity] >= 10, 0.25, 0) + if([data.character.attributes.agility] >= 10, 0.25, 0) + if([data.character.attributes.physique] >= 10, 0.25, 0) + if([data.character.attributes.strength] >= 10, 0.25, 0)</Do>
|
|
<Output>[local.sum10]</Output>
|
|
</Action>
|
|
<Action>
|
|
<Do>if([data.character.attributes.courage] >= 12, 0.5, 0) + if([data.character.attributes.intelligence] >= 12, 0.5, 0) + if([data.character.attributes.intuition] >= 12, 0.5, 0) + if([data.character.attributes.charisma] >= 12, 0.5, 0) + if([data.character.attributes.dexterity] >= 12, 0.5, 0) + if([data.character.attributes.agility] >= 12, 0.5, 0) + if([data.character.attributes.physique] >= 12, 0.5, 0) + if([data.character.attributes.strength] >= 12, 0.5, 0)</Do>
|
|
<Output>[local.sum12]</Output>
|
|
</Action>
|
|
<Action>
|
|
<Do>if([data.character.attributes.courage] >= 14, 0.75, 0) + if([data.character.attributes.intelligence] >= 14, 0.75, 0) + if([data.character.attributes.intuition] >= 14, 0.75, 0) + if([data.character.attributes.charisma] >= 14, 0.75, 0) + if([data.character.attributes.dexterity] >= 14, 0.75, 0) + if([data.character.attributes.agility] >= 14, 0.75, 0) + if([data.character.attributes.physique] >= 14, 0.75, 0) + if([data.character.attributes.strength] >= 14, 0.75, 0)</Do>
|
|
<Output>[local.sum14]</Output>
|
|
</Action>
|
|
<Action>
|
|
<Do>if([data.character.attributes.courage] >= 16, 1, 0) + if([data.character.attributes.intelligence] >= 16, 1, 0) + if([data.character.attributes.intuition] >= 16, 1, 0) + if([data.character.attributes.charisma] >= 16, 1, 0) + if([data.character.attributes.dexterity] >= 16, 1, 0) + if([data.character.attributes.agility] >= 16, 1, 0) + if([data.character.attributes.physique] >= 16, 1, 0) + if([data.character.attributes.strength] >= 16, 1, 0)</Do>
|
|
<Output>[local.sum16]</Output>
|
|
</Action>
|
|
<Action>
|
|
<Do>Truncate(Min([local.sum10], 1.5) + Min([local.sum12], 2) + Min([local.sum14], 1.5) + Min([local.sum16], 1))</Do>
|
|
<Output>[local.magic]</Output>
|
|
</Action>
|
|
</Actions>
|
|
<Return>[local.magic]</Return>
|
|
</Function>
|
|
<Function Name="charlib_fightcourageadd">
|
|
<Return>Floor(([data.character.attributes.courage] - 8) / 3)</Return>
|
|
</Function>
|
|
<Function Name="charlib_fightdexterityadd">
|
|
<Return>Floor(([data.character.attributes.dexterity] - 8) / 3)</Return>
|
|
</Function>
|
|
<Function Name="charlib_fightagilityadd">
|
|
<Return>Floor(([data.character.attributes.agility] - 8) / 3)</Return>
|
|
</Function>
|
|
<Function Name="charlib_fightstrengthadd">
|
|
<Return>Floor(([data.character.attributes.strength] - 8) / 3)</Return>
|
|
</Function>
|
|
<!-- AT Functions -->
|
|
<Function Name="charlib_crossbows_at">
|
|
<Return>[data.character.fight.crossbows] + charlib_fightdexterityadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_blowpipe_at">
|
|
<Return>[data.character.fight.blowpipe] + charlib_fightdexterityadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_bows_at">
|
|
<Return>[data.character.fight.bows] + charlib_fightdexterityadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_daggers_at">
|
|
<Return>[data.character.fight.daggers] + charlib_fightcourageadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_impactweapons_at">
|
|
<Return>[data.character.fight.impactweapons] + charlib_fightcourageadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_chainweapons_at">
|
|
<Return>[data.character.fight.chainweapons] + charlib_fightcourageadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_lances_at">
|
|
<Return>[data.character.fight.lances] + charlib_fightcourageadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_brawling_at">
|
|
<Return>[data.character.fight.brawling] + charlib_fightcourageadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_shields_at">
|
|
<Return>[data.character.fight.shields] + charlib_fightcourageadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_swords_at">
|
|
<Return>[data.character.fight.swords] + charlib_fightcourageadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_throwingweapons_at">
|
|
<Return>[data.character.fight.throwingweapons] + charlib_fightdexterityadd()</Return>
|
|
</Function>
|
|
<!-- PA Functions -->
|
|
<Function Name="charlib_daggers_pa">
|
|
<Return>[data.character.fight.daggers] / 2 + charlib_fightagilityadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_impactweapons_pa">
|
|
<Return>[data.character.fight.impactweapons] / 2 + charlib_fightstrengthadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_chainweapons_pa">
|
|
<Return>[data.character.fight.chainweapons] / 2 + charlib_fightstrengthadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_lances_pa">
|
|
<Return>[data.character.fight.lances] / 2 + charlib_fightstrengthadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_brawling_pa">
|
|
<Return>[data.character.fight.brawling] / 2 + charlib_fightstrengthadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_shields_pa">
|
|
<Return>[data.character.fight.shields] / 2 + charlib_fightstrengthadd()</Return>
|
|
</Function>
|
|
<Function Name="charlib_swords_pa">
|
|
<Return>[data.character.fight.swords] / 2 + charlib_fightagilityadd()</Return>
|
|
</Function>
|
|
</Functions>
|
|
</Library> |