Home
Home   Alb Mobs   Hib Mobs   Mid Mobs   Frontier Mobs   Atlantis Mobs   All Mobs   Site Map

TEST RESULTS

Respec'ing a Fully-autotrained Paladin

Tester:  Robbie of Gaheris
Date:  April 13, 2004
Versions:  Release version 1.68b and test version 1.69o
Servers:  Gaheris and Pendragon

Summary

What happens to a fully autotrained character when it respecs? To answer this question, a fully autotrained level-48 paladin was subjected to one full skill respec and three single-line skill respec's. It turned out that no specialization points were ever lost. However, each time the autotrained lines were respec'd, the game set them to level 12. This means that the points gained from autotraining can never be transfered to another skill.


Method and Results

A paladin was played from level 1 to level 48 on Gaheris without training in slash or chants, and without using the /level command. Since slash and chants are autotrained skills in paladins, the game automatically promoted him in those lines each time he reached a new level that was evenly divisible by four. At level 48 he reached 12 in both slash and chants, the maximum that can be achieved with autotraining. At that time a trainer was used to raise the paladin's chants to 38, and he was /charcopy'd to Pendragon.

Both the copy of the character and the original were respec'd during this test.

The two characters were respec'd and trained in the order shown in Tables 1 and 2 below.

In the tables, the last line (total points) was calculated by adding together (a) the number of unspent specialization points and (b) the number of specialization points that would have been required to acquire all the character's skills starting from levels of zero. For example, level 1 of any skill was counted as 1 specialization point, and 12 levels of slash and chants were counted as 156 specialization points. A short program was written to perform this calculation. The source code is given below.


Table 1. Spec levels and points at each step on Pendragon.
  [1]
Before
test
[2]
After
/respec all
[3]
After
training
[4]
After
/respec 
slash
[5]
After
training
[6]
After
/respec
thrust
Slash 12 12 29 12 12 12
Crush 1 1 1 1 1 1
Thrust 45 1 1 1 26 1
Chants 38 12 48 48 48 48
Two-handed 1 1 1 1 1 1
Shield 42 1 48 48 48 48
Parry 10 1 10 10 10 10
Unused points 31 2684 0 357 7* 357
TOTAL POINTS 2845 2845 2845 2845 2845 2845
*This number was typed incorrectly when this page was originally published. Many thanks to Mabus of Guinevere for spotting the error.

Table 2. Spec levels and points at each step on Gaheris.
  [7]
Before
test
[8]
After
/respec thrust
Slash 12 12
Crush 1 1
Thrust 45 1
Chants 38 38
Two-handed 1 1
Shield 42 42
Parry 10 10
Unused points 31 1065
TOTAL POINTS 2845 2845

Notes to Tables

Column 2. Only one full-skill respec was included in the test. This was carried out on Pendragon by saying "/respec all" to Lady Triss, the paladin trainer in the church in Camelot, without using a respec stone. This paladin did not have a free respec available on Gaheris before he was /charcopy'd to Pendragon, but he did have one on Pendragon after he arrived there.

Columns 4, 6, and 8. The single-line skill respec's were carried out with Luminescent Ceriac stones. On Pendragon, these stones were purchased cheaply from Zulo in the northeast section of Camelot. For each respec, one of these stones was given to Mae Oswy in the south room on the second floor of Humberton Castle in Black Mountains South (location 21,193, 40,747). For each respec, the paladin then went to Lady Triss in the church in Camelot, right-clicked her, and said either "/respec slash" or "/respec thrust."


Software

A short program was written in C to calculate the total points shown in the last rows of Tables 1 and 2. Here's the source code:
#include <stdio.h>

unsigned spec_to_points ( unsigned spec )
{
    int odd_spec = spec % 2; // Odd arguments to this
                             // function are handled
                             // differently from even
    spec -= odd_spec;        // ones. The two cases are
                             // handled here without 
                             // conditional branching 
                             // by means of the odd_spec
                             // variable and arithmetic.

    int points =             // The famous
       (spec/2) * (spec+1);  // mathematician Gauss
                             // discovered this formula
                             // when he was a little
                             // kid, when his teacher asked
                             // him to add together all the
                             // integers from 1 to 100.  :)

    points += ( (spec+1) * odd_spec );

    return points;
}

void main ()
{
    unsigned col1 = // This is the code and data used
                    // to generate column 1 of Table 1.
                    // The other columns were generated
                    // in a similar way.

        spec_to_points ( 12 ) +
        spec_to_points (  1 ) +
        spec_to_points ( 45 ) +
        spec_to_points ( 38 ) +
        spec_to_points (  1 ) +
        spec_to_points ( 42 ) +
        spec_to_points ( 10 ) +
        31;

    printf ( "col1 = %d\n", col1 );

    getchar();
}
Please send additions and corrections to robbie @ daoc-trophy-mobs.com.

Copyright 2003-16 DAOC-Trophy-Mobs.com.