1
0
Fork 0
mirror of https://codeberg.org/noisytoot/notnotdnethack.git synced 2025-05-02 05:15:13 +01:00

Incantifier Buff

Incantifiers should be able to cast spells easier.

They recieve the full favored spell bonus on any spell they cast, and 2x on their actual favored spell.

They always cast using Int, and Int will be adjusted to match their highest stat.
This commit is contained in:
Chris-plus-alphanumericgibberish 2014-06-26 19:21:58 -04:00
parent 6943f2bd33
commit a3358311e6
2 changed files with 14 additions and 2 deletions

View file

@ -565,6 +565,14 @@ init_attr(np)
AMAX(i)--;
np++;
}
if(Race_if(PM_INCANTIFIER)){
for (i = 0; (i < A_MAX); i++){
if(ABASE(A_INT) < ABASE(i)){
ABASE(A_INT) = ABASE(i);
AMAX(A_INT) = AMAX(i);
}
}
}
}
void

View file

@ -3177,7 +3177,8 @@ int spell;
splcaster = urole.spelbase;
special = urole.spelheal;
if(!Role_if(PM_EXILE)){
statused = ACURR(urole.spelstat);
if(Race_if(PM_INCANTIFIER)) statused = ACURR(A_INT);
else statused = ACURR(urole.spelstat);
} else {
if(u.specialSealsActive&SEAL_NUMINA){
if(abs(u.wisSpirits - u.intSpirits) <= 1) statused = max(ACURR(A_WIS), ACURR(A_INT));
@ -3188,7 +3189,8 @@ int spell;
} else if(u.wisSpirits || u.intSpirits){
statused = max(ACURR(A_WIS), ACURR(A_INT));
} else {
statused = min(ACURR(A_WIS), ACURR(A_INT));
if(Race_if(PM_INCANTIFIER)) statused = ACURR(A_INT);
else statused = min(ACURR(A_WIS), ACURR(A_INT));
}
}
@ -3209,6 +3211,8 @@ int spell;
if (uarmg && is_metallic(uarmg)) splcaster += uarmgbon;
if (uarmf && is_metallic(uarmf)) splcaster += uarmfbon;
if (Race_if(PM_INCANTIFIER))
splcaster += urole.spelsbon;
if (spellid(spell) == urole.spelspec)
splcaster += urole.spelsbon;