Add option to Affect XP node to set experience based on level
This commit is contained in:
@@ -796,7 +796,9 @@ this has no effect.
|
||||
<dl>
|
||||
<dt>Extra 1a:</dt><dd>The amount of experience to add/take. (Range 0 ... 100)</dd>
|
||||
<dt>Extra 1b:</dt><dd>If 0, adds experience. Otherwise, drains.</dd>
|
||||
<dt>Note:</dt><dd>Use sparingly, especially when draining.</dd></dd>
|
||||
<dt>Note:</dt><dd>Use sparingly, especially when draining.</dd>
|
||||
<dt>Note:</dt><dd>As a special case, set Extra 1a to -1 to set the PC's experience to the
|
||||
minimum required for its current level.</dd></dd>
|
||||
|
||||
<dt>Type 85: Affect Skill points</dt><dd>Adds/drains skill points. If the target is a
|
||||
monster, this has no effect.
|
||||
|
@@ -2840,7 +2840,9 @@ void affect_spec(eSpecCtx which_mode,cSpecial cur_node,short cur_spec_type,
|
||||
if(pc_num >= 100) break;
|
||||
for(i = 0; i < 6; i++)
|
||||
if(pc_num == 6 || pc_num == i) {
|
||||
if(spec.ex1b == 0) award_xp(i,spec.ex1a,true);
|
||||
if(spec.ex1a < 0)
|
||||
univ.party[i].experience = univ.party[i].level * univ.party[i].get_tnl();
|
||||
else if(spec.ex1b == 0) award_xp(i,spec.ex1a,true);
|
||||
else drain_pc(i,spec.ex1a);
|
||||
}
|
||||
break;
|
||||
|
Reference in New Issue
Block a user