[CF-Devel] Spell failure code for cleric spells flawed?
Andreas Vogl
andi.vogl at gmx.net
Sat Sep 30 05:44:40 CDT 2000
on Fri, 29 Sep 2000 Peter M. wrote:
>
I've been trying to advance a character with an average Wis (10)
>
as a priest in Devourer. I found that the 1st level spell cause
>
wounds would fail from 50% to 75% of the time.
>
>
I believe this high a failure rate is extreme. I believe it should
>
be about 25%.
Yes, fumbling prayers too often can be a pain in the rare. But then
again, Wis 10, that must be something like a soused barbarian with
a cursed -Wis ring, hehe :-P
>
Here is the code:
>
if( ... &&
>
RANDOM()%100 < s->level*2 - op->level + cleric_chance[op->stats.Wis]-
>
op->stats.luck*3) { /* You fumble the prayer */ }
>
>
For a level 1 spell and a level 1 char and a 10 wis and 0 luck:
>
>
2 - 1 + 70 == 71% chance of failing on a level 1 spell. At Wis 18:
>
2 - 1 + 20 == 21% chance of failing.
>
>
My comments:
>
>
1) This is too harsh.
>
2) Increasing skill levels in the priest area helps far too little.
>
I mean, a level 3 priest enjoys a 2% success rate benefit on a 1st
>
level spell! Sheesh!
Yes, but we should keep in mind that increasing skill level makes the
prayers more powerful too.
I think the old formulae was acceptable, but not very good.
>
How about:
>
s->level/(float)MAX(op->level,1) * cleric_chance[Wis] - op->stats.luck
*3
>
>
and changing cleric_chance:
>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
>
100, 100, 100, 100, 90, 80, 70, 60, 50, 40, 35, 30, 25, 20, 15, 14, 13,
>
>
18 19 20 21 22 23 24 25 26 27 28 29 30
>
12 11 10 9 8 7 6 5 4 3 2 1 0
>
>
My scheme has these properties:
>
>
1) No matter how high a level you get, you can still fail a spell
>
unless you have either luck or Wis 30.
>
2) Base failure % of 40 for lev 1, 10Wis chars instead of 71.
>
For level 2, 20% failure on a level 1 spell.
I like your new formulae, I plead for using it.
Example: A player with WIS 15 (average for new started characters)
casting a level 1 spell (like holy word) without luck bonus:
wisdom skill lvl : 1 2 3 4 5 .. 10 .. 20 ...
% fumbling chance: 15 8 5 4 3 .. 2 .. 1 ...
Just an idea: The step from "player´s level == spell level" to "player´s
level == spell level + 1" reduces the fumbling-chance by 50% (ignoring
luck bonus), that seems quite much for gaining a single level. What about
inserting a square root here:
if (RANDOM()%100 < sqrt(s->level / (float)MAX(op->level,1))
* cleric_chance[op->stats.Wis] - op->stats.luck * 3)
{ /* you fumble the spell */ }
exmaple from above ==>
wisdom skill lvl : 1 2 3 4 5 .. 10 .. 20 ...
% fumbling chance: 15 11 9 8 7 .. 5 .. 3 ...
Would that cause too much spell-fumbling? I´m not sure.
Andreas V.
--
Sent through GMX FreeMail -
http://www.gmx.net
More information about the crossfire
mailing list