Join Date: Aug 2004
Location: Binghamton, NY, USA. Near the river Styx in the 5th Circle.
|
Re: Divorcing Magery from Skill Ranks
Magery has always been a tough one due to the complexity of tracking Magery with different limitations for different colleges and other limitations. Dropping the following into a custom datafile and adding that data file to your data set should do the trick. Note that I include a place for you to reset the cost of Magery below, you'll need to change the cost(10/20) to whatever cost you desire - my suggestion would be cost(5/10), but that's up to you.
Code:
Version=3
// The version information above MUST be the first line of the data file
LoadAfter="GURPS Magic 4e.gdf", "GURPS Thaumatology 4e.gdf"
[ATTRIBUTES]
#ReplaceTags in "ST:Magery" with "gives()"
[ADVANTAGES]
#ReplaceTags in "AD:Magery" with "cost(10/20)"
[MODIFIERS]
<Magery>
One College Only, -40%, group(Magery), page(B67),_
gives(_
-Owner::Level to ST:Magery,_
+Owner::Level to (ST:Magery One)_
),_
x(_
#InputReplace("Please enter the name of the college:", "One", , "One College Only"),_
#Message(Use this limitation *ONLY* on the Magery advantage. It will cause errors if used on any other trait (including the Magery 0 advantage).) _
)
One College Only (%College%), -40%,group(Magery), page(B67),_
gives(_
-Owner::Level to ST:Magery,_
+Owner::Level to (ST:Magery %CollegeList%)_
),_
x(_
#Message(Use this limitation *ONLY* on the Magery advantage. It will cause errors if used on any other trait (including the Magery 0 advantage).),_
#ChoiceList(_
name(College),_
title(One College Magery),_
text(Choose which college your Magery is limited to:),_
picksallowed(1),_
method(bynumber),_
list(_
#grouplist(GR:AllCollegesMagical, flags(NoPrefix), prepend("), append("))_
)_
)_
)
[MODIFIERS]
<Magery>
Limited Colleges (%CollegesList%), -40%/-30%, upto(1), levelnames(,), group(Magery), page(Th24), formula(-10% * (5 - (%CollegesCost4% + %CollegesCost3% + %CollegesCost2% + %CollegesCost1%))), forceformula(yes),_
gives(_
-Owner::Level to ST:Magery,_
+Owner::Level to (%CollegesAliasList%)_
),_
x(_
#Message(Use this limitation *ONLY* on the Magery advantage. It will cause errors if used on any other trait (including the Magery 0 advantage).),_
#ChoiceList(_
name(Colleges),_
title(Limited Colleges Magery),_
text(Choose up to four colleges which your Magery is limited to:),_
picksallowed(atleast 1, upto 4),_
method(bynumber),_
list(_
"Air"=1,_
"Animal"=1,_
"Body Control"=1,_
"Communication & Empathy"=1,_
"Earth"=1,_
"Enchantment"=1,_
"Fire"=1,_
"Food"=1,_
"Gate"=1,_
"Healing"=1,_
"Illusion & Creation"=1,_
"Knowledge"=1,_
"Light & Darkness"=1,_
"Making & Breaking"=1,_
"Meta-Spells"=1,_
"Mind Control"=1,_
"Movement"=1,_
"Necromancy"=1,_
"Plant"=1,_
"Protection & Warning"=1,_
"Sound"=1,_
"Technological"=1,_
"Water"=1,_
"Weather"=1 _
),_
aliaslist(_
"ST:Magery Air",_
"ST:Magery Animal",_
"ST:Magery Body Control",_
"ST:Magery Communication & Empathy",_
"ST:Magery Earth",_
"ST:Magery Enchantment",_
"ST:Magery Fire",_
"ST:Magery Food",_
"ST:Magery Gate",_
"ST:Magery Healing",_
"ST:Magery Illusion & Creation",_
"ST:Magery Knowledge",_
"ST:Magery Light & Darkness",_
"ST:Magery Making & Breaking",_
"ST:Magery Meta-Spells",_
"ST:Magery Mind Control",_
"ST:Magery Movement",_
"ST:Magery Necromancy",_
"ST:Magery Plant",_
"ST:Magery Protection & Warning",_
"ST:Magery Sound",_
"ST:Magery Technological",_
"ST:Magery Water",_
"ST:Magery Weather" _
)_
)_
), noresync(yes)
One-Spell Magery, -80%/-75%, group(Magery), upto(16), page(Th25), mods(One-Spell Magery Magery), ownerlevel(owner::level),_
levelnames(, Two-Spells, Three-Spells, Four-Spells, Five-Spells, Six-Spells, Seven-Spells, Eight-Spells, Nine-Spells, Ten-Spells, Eleven-Spells, Twelve-Spells, Thirteen-Spells, Fourteen-Spells, Fifteen-Spells, Sixteen-Spells),_
gives(_
=-owner::level to ST:Magery,_
=+owner::level to "ST:One-Spell Magery Magery"_
),_
x(_
#message(Use this limitation *ONLY* on the Magery advantage. It will cause errors if used on any other trait.),_
#message(In order for the Magery level to be added to the individual spells you will need to add modifiers to this modifier selecting which spell(s) it affects.),_
#buildit _
)
One-Spell Magery (%SpellsList%), -80%/-75%, upto(1), levelnames(,), group(Magery), page(Th25), formula(-85 + (5 * ((%SpellsCost16% + %SpellsCost15% + %SpellsCost14% + %SpellsCost13% + %SpellsCost12% + %SpellsCost11% + %SpellsCost10% + %SpellsCost9% + %SpellsCost8% + %SpellsCost7% + %SpellsCost6% + %SpellsCost5% + %SpellsCost4% + %SpellsCost3% + %SpellsCost2% + %SpellsCost1%)))), forceformula(yes),_
gives(_
=-Owner::Level to "ST:Magery"_
),_
x(_
#Message(Use this limitation *ONLY* on the Magery advantage. It will cause errors if used on any other trait (including the Magery 0 advantage).),_
#Message(If you choose any spells which require specialization you will need to manually edit the gives() tag of this modifier to correctly give a bonus to those spell(s).),_
#ChoiceList(_
name(Spells),_
title(One-Spell Magery),_
text(Choose up to sixteen spells which your Magery is limited to:),_
picksallowed(atleast 1, upto 16),_
method(bynumber),_
list(_
#grouplist(GR:AllSpellsMagical, flags(NoPrefix), prepend("), append("=1))_
),_
aliaslist(_
#grouplist(GR:AllSpellsMagical)_
)_
)_
), noresync(yes)
__________________
Eric B. Smith GURPS Data File Coordinator
GURPSLand
I shall pull the pin from this healing grenade and...
Kaboom-baya.
|