[CF-Devel] Item bugs.
crossfire-devel at archives.real-time.com
crossfire-devel at archives.real-time.com
Mon Mar 22 12:39:12 CST 2004
I checked the source again and I'm 111% sure it's behaving
exactly as intended - cumulative bonuses and never on str.
If I understand it correctly, however, and comparing it with the
Weapons of Occidental Mages, the catch is that the "bonus"
should be able to be negative to, so if you get +30 you're
*really* very lucky. The version of the script attached does
just this.
On Mon, Mar 22, 2004 at 03:10:02PM +0100, Palfy Tamas wrote:
>
> > One is Ring of Occidental Mages.
>
> > Applying-unapplying several times causes it to go cursed. But that's not
>
> > the problem. The problem is that whenever you do this with it, the ring
>
> > get a random +1 Int, Con or Dex bonus! And you can do it multiple time, by
>
> > uncursing the Ring. Not even it's item power changes.
>
>
>
> I think this is the intended behavior. Perhaps it is unbalanced
>
> that these bonuses are cumulative... dunno. But it is
>
> definitely the way it was designed to behave.
>
>
Of course it is, except that you can do it several times. A random +1
>
dex/con/int is ok, but merely using uncurse scrolls/praying you can get 30
>
in all the three stats. By the way, a player checked the source and said
>
it should also give randmly STR as well, but whenever it should give STR
>
it gives DEX, and well it was intended to do such thing only once. I don't
>
understand why it's not obvious that this way this item is way too
>
powerfull.
[]s,
|alo
+----
--
Those who trade freedom for security
lose both and deserve neither.
--
http://www.laranja.org/
mailto:
lalo at laranja.org
pgp key:
http://www.laranja.org/pessoal/pgp
GNU: never give up freedom
http://www.gnu.org/
-------------- next part --------------
import CFPython
import sys
import random
me = CFPython.WhoAmI()
ac = CFPython.WhoIsActivator()
r = random.random()
if (CFPython.IsApplied(me)):
if (r <= 0.01):
CFPython.SetIdentified(me,0)
CFPython.SetCursed(me, 1)
CFPython.SetDexterity(me, CFPython.GetDexterity(me)+1)
elif (r <= 0.02):
CFPython.SetIdentified(me,0)
CFPython.SetCursed(me, 1)
CFPython.SetIntelligence(me, CFPython.GetIntelligence(me)+1)
elif (r <= 0.03):
CFPython.SetIdentified(me,0)
CFPython.SetCursed(me, 1)
CFPython.SetConstitution(me, CFPython.GetConstitution(me)+1)
elif (r >= 0.99):
CFPython.SetIdentified(me,0)
CFPython.SetCursed(me, 1)
CFPython.SetDexterity(me, CFPython.GetDexterity(me)-1)
elif (r >= 0.98):
CFPython.SetIdentified(me,0)
CFPython.SetCursed(me, 1)
CFPython.SetIntelligence(me, CFPython.GetIntelligence(me)-1)
elif (r >= 0.97):
CFPython.SetIdentified(me,0)
CFPython.SetCursed(me, 1)
CFPython.SetConstitution(me, CFPython.GetConstitution(me)-1)
-------------- next part --------------
_______________________________________________
crossfire-devel mailing list
crossfire-devel at lists.real-time.com
https://mailman.real-time.com/mailman/listinfo/crossfire-devel
More information about the crossfire
mailing list