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:
parent
6943f2bd33
commit
a3358311e6
2 changed files with 14 additions and 2 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue