[CF List] Gnarg
Andreas Vogl
andi.vogl at gmx.net
Mon Oct 22 16:44:56 CDT 2001
Kimmo Hoikka wrote:
>
[...]
>
Big size monsters have some weaknesses with spells currently, the
>
best example beeing the notorious lorkas the fallen who kills himself
>
all the time with his powerfull spells, perhaps thats not the intent,
>
rather makes the map a bit too easy sometimes...
You didn't mention the best point: Lorkas is killing himself
with attacktypes that he's completely immune to.
Assuming he's not attacking himself with melee,
His spells only do fire, cold, poison, magic - to all of which
Lorkas is 100% resistant.
This bug has been known for a good while, but nobody could come
up with a fix yet. I suspect it might be related to this old
stats-glich in the monster code: When a monster applies any piece
of equipment, it's stats get replaced by those from the default arch
or sth. (See below)
The fact that Lorkas has suicide-tendecies doesn't pose a
direct leak to balance, as his guardians (Rancid, Vultoor)
are mean enough. However, I do agree the bug is annoying.
Andreas V.
Here is an old excerpt from the cf-devel archives:
Andreas V. (me) wrote:
>
> When a monster with special resistances
>
> (special = not identical with archetype) has the "can_use_armour 1"
>
> and can_apply/will_apply set, this screws the monster's resistances.
>
> When applying an armour, the monster seems to revert to archetype's
>
> resistances (or maybe even none).
Mark W. replied:
>
This applies for more than just resistances - basically all attributes
>
(str, dex, ...) The problem is difficult to fix. Basically, to fix this
>
would require a second store of values as stored in the map file. This
>
could perhaps be done via a dynamic archetype - if we notice some values
>
being changed, we allocate another archetype, update the objects arch
pointer
>
to that, and set a flag so we know we have already done this (and to free
>
that archetype when we free the object).
>
>
The reason this happens is that when a creature applies something (note
>
the both monsters and players use the same function), we go back to the
>
archetype values to use for base and just add/subtract onto stuff. This
>
is much more accurate, and in some ways the only way to go (since
>
resistances are not strictly additive, I am not sure if you could
>
accurately remove resistances without recalculating them all).
More information about the crossfire
mailing list