Terra Mystica: Cycling Power
C, 97 94 bytes

f(i,j,k,n){for(;n;n-=n/abs(n))n&lt;0?k?++i+--k:0:i?++j+--i:j?++k+--j:0;printf("%d %d %d",i,j,k);}


In ungolfed form:

f(i, j, k, n) {
    while (n) {
        if (n &lt; 0) {
            if (k) {
                ++i; --k;
            }
            ++n;
        } else {
            if (i) {
                ++j; --i;
            }
            else if (j) {
                ++k; --j;
            }
            --n;
        }
    }
    printf("%d %d %d", i, j, k);
}