[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