Redesigning COMPANIONLIST and Companion Leveladjustment
Proposal Intro
This is a redesign of How to Assign Companions to and Assign them to their groups and how to adjust individual creatures
COMPANIONLIST would need to be deprecated to remove the FOLLOWERADJUSTMENT
New Token Needed - Since COMPANIONLIST cannot be re0used we need a tag to replace that function. I'd Propose 'COMPANIONGROUP'; other suggestions:
- COMPANIONTYPE (This is in another proposal for assigning races to a Type List)
- COMPANIONS
- COMPANION
- COMPANIONCATEGORY
- COMPANIONSELECT
- COMPANIONASSIGN
Other?
For the proposal I'm going to use COMPANIONGROUP.
COMPANIONGROUP:x|y
- Variables Used (x): Text (Group Type)
- Variables Used (y): Text (Race Name)
- Variables Used (y): Text (COMPANIONTYPE=y)
- Variables Used (y): Text (RACESUBTYPE=y)
- Example:
- COMPANIONGROUP:Animal Companion|Dog|Fox
- Would assign 'Dog' and 'Fox' to the 'Animal Companion' group
- COMPANIONGROUP:Mystical Mount|COMPANIONTYPE=Special Mount
- Would assign any race with the 'Special Mount' type to the 'Mystical Mount' group
That takes care of the replacement token for COMPANIONLIST. Next we need to redo how the Master Level is adjusted.
Tom's Proposal
DEPRECATE COMPANIONLIST
- with the intention of completely removing FOLLOWERADJUSTMENT
Why can't we do:
- COMPANIONGROUP:Animal Companion|Bat|Fox|Wolverine
and then in the Game Mode (or something like that) define the rules for the adjustment of the masters effective level, or variable used like this:
- COMPANIONGROUP:Animal Companion <> BASECR:1 <> ECLINCREMENT:3
- COMPANIONGROUP:Mystical Mount <> BASECR:2 <> ECLINCREMENT:3
That way, we know for each additional CR beyond 1 (for Animal Companion), we know the PC has to be 3 levels higher. That is, after all, how the rules are written!
This:
- (1) Does not require any changes to Races or Templates
- (2) Actually simplifies and consolidates the COMPANIONLIST tokens there today.
- (3) Keeps us from adding yet _more_ variables to our data (which take a while to calculate with every change)
- (4) Gives us a check in the LST files that the items we are using in COMPANIONLIST are actually valid (and not misspelled) - since we have a master source from the Game Mode file.
- Andrew's monkey wrench:
Only one issue I see thus far, we currently use variables (and in some cases) multiple variables for the same 'Group'. We'd need to be able to specify WHAT is being affected by the -3 Effective Levels we are citing.
- COMPANIONGROUP:Animal Companion <> BASECR:1 <> MASTERVAR=CompLevel:3
- COMPANIONGROUP:Mystical Mount <> BASECR:2 <> MASTERVAR=SMLvl:3
This is imperative as the CompanionMod list isn't set based upon a Class Level per se, but a variable that is based upon a class level, so other classes may bonus that variable. Animal Companions are using CompLevel, other critters use 'SMLevel' or 'FSLevel', so having a define file or gamemode section file to set the exact 'variable' used will be required, cause in some cases I do not want all the vars assigned to a type to be reduced, they may have another function.
The second wrench, some games may not even use CR for their factor, it may be another value - so having a flexible system in place to handle exceptions might be something to consider. I only cited the RSRD rules as that's the structure we have in place.
(*Note: Open to having this more than Game Mode, as I know we are trying to get away from things solely in game mode. So we can do Game Mode plus have an additional file for companionlist by itself, or Game Mode plus have an additional file that can load various types as we transfer things out of Game Mode - up for discussion).
So the key question here is:
Are there any sources or creatures that VIOLATE the rules as written and therefore would break with the above implementation that assumes everything follows the rules?
TP.
Follow up / Comments
In eclipse I am allowed to purchases a Template (+2 ECL) for the express purposes of decreasing the CR for the Level Adjustment Factor by 1 or 2 (Depending on the GM, but let's say 1 for now).
- Tom's Reply: I was kinda expecting these types of exceptions.
We can add COMPANIONECLBONUS:<integer> as a new Template token. (obviously name up for debate), which will add that number to the ECL before the calculation is done. ...or even COMPANIONCR:<integer> as a new Race/Template token that can be applied to certain races in order to modify the CR solely during the calculation done for COMPANIONGROUP. (again, name up for debate)
Tom - Any reason we wouldn't allow a JEP Var in place of the Integer? I know static values are easier on processing, but there might be a case where having a formula in a special case would be handy LegacyKing 16:21, 9 March 2012 (EST)