[CF List] problem with some diseases
huet.o at free.fr
huet.o at free.fr
Mon Jul 8 16:32:56 CDT 2002
Hello,
En réponse à Peter Mardahl <
peterm at tonks.EECS.Berkeley.EDU
>:
>
Are you sure the "broken" diseases aren't simply heavily damaging
>
the monsters but not killing them?
>
Yes : to be sure, I take another player and put him just near a monster, and
then, I infect the monster with red death. My second player was infected too and
take about 2 damage by "itche" of red death (it's about 1 percent of its life
points). And even it's writen in the documentation that "second hand red death
infected" are less powerfull than "first hand infected", I think there's a
problem...
>
Or has someone been meddling with the disease code recently and
>
broken the "negative" damage?
>
I don't know anything in crossfire's code, but I've just take a look and put
some trace in a function (I'm not sure it's the right place...) :
int do_symptoms(object *disease) in disease.c
:
there are stuff with dam : I add some trace code (see my printf :)
...
/* Something special done with dam. We want diseases to be more
random in what they'll kill, so we'll make the damage they
do random, note, this has a weird effect with progressive diseases.*/
if(disease->stats.dam != 0) {
int dam = disease->stats.dam;
// OH :
printf("OHDIS dam1 : %i\n", dam);
////////////////
/* reduce the damage, on average, 50%, and making things random. */
dam = random_roll(1, dam, victim, PREFER_LOW);
// OH :
printf("OHDIS dam2 : %i\n", dam);
////////////////
if(disease->stats.dam < 0) dam = -dam;
// OH :
printf("OHDIS dam3 : %i\n", dam);
////////////////
new_symptom->stats.dam = dam;
}
...
-----------------------------------------------------------
then, I launch it and cause red death to a little pirate : here is the result
OHDIS dam1 : -52
Calling random_roll with min=1 max=-52
OHDIS dam2 : 1
OHDIS dam3 : -1
(repeated many times)
----------------------------------------------------
and then, I cause a leprosy
OHDIS dam1 : 50
OHDIS dam2 : 20
OHDIS dam3 : 20
Trying to insert in null-map!
arch leprous_skin
name leprous flake of skin
name_pl leprous flake of skin
face skin.111
food 5
type 72
weight 7
end
I must precise that the player (who cast these disease) is powerfull : level 49
of wisdom (because there is perhaps another bug -- it's another problem... : it
take lot of points causing cold to low level monsters, but it's perhaps a
corrected bug : it was with the 1.1.0 version)
Hope my desctiption of the problem and trace will help.
Olivier.
>
>
> Hello everybody,
>
>
>
> I hope it's the right mailing list for my "bug" report.
>
>
>
>
>
> I make a character worshiping Devourers, and I found some "high"
>
disease
>
> ineficient to make damage :
>
>
>
> In fact, cold, flu and leprosy work fine, but typhoid, anthrax, red
>
death and
>
> black death don't make damage.
>
>
>
> I tried to restrict the bug : in the archetypes file, all the "no
>
damaging"
>
> disease have a negative number for the damage (ex : for red death,
>
it's
>
> "dam -10".
>
> Then, I tried to replace the -10 by 10 and red death is very deadly
>
(and it's
>
> the right comportment, I think.)
>
>
>
> Finding this problem, I find other "dam -" begining lines that
>
probably have
>
>the
>
> same effect (immolation that I didn't try have perhaps the same
>
bug).
>
>
>
> Does someone have the right solution (personaly, I think it could be a
>
proble
>
>m
>
> in the archetypes file itself or a bug in its parsing...) ?
>
>
>
> Olivier.
>
> _______________________________________________
>
> crossfire-list mailing list
>
>
crossfire-list at lists.real-time.com
>
>
https://mailman.real-time.com/mailman/listinfo/crossfire-list
>
_______________________________________________
>
crossfire-list mailing list
>
crossfire-list at lists.real-time.com
>
https://mailman.real-time.com/mailman/listinfo/crossfire-list
>
More information about the crossfire
mailing list