[crossfire] Archetype and inventory bug
Nicolas Weeger
nicolas.weeger at laposte.net
Sun Jan 22 09:40:48 CST 2012
Hello.
After a crash on invidious, I've found a bug related to archetypes in
inventory handling, and I'm really wondering how to fix it :s
Here's the description:
- when a random map is generated, a special submap can be
/styles/specialmaps/powerroom
- in this map are firewalls, with a "transferrence" spell in their inventory.
The archetypes are "firewall_1", "firewall_2" and such
- those archetype contain an archetype "firebullet", because they are firewalls
- when the map is generated, the "firebullet" is copied from the archetype,
then the "transferrence spell is added
- transferrence is the first item in inventory, so that's what the wall casts ;
casting this, the wall increases its stats.sp (probably from the crystal, or a
player standing on the crystal)
- if the map is swapped out, then reloaded from disk, the firewall will have
its firebullet item copied from the archetype, then reloads the transferrence
item, and the initial firebullet
- the firewall now contains, in the order: firebullet (archetype instanciation
for reloading), transferrence (from the map definition), firebullet (archetype
instanciation for creation)
- this is already a bug, but the fun is when the firewall will move, it'll fire
in the direction... stats.sp which is now something like 15, 50, 100 - an
invalid direction, of course
- this crashes in the face updating, setting an invalid face to the item
So I'm really puzzled on a correct fix for that... So far I can see:
- using a treasurelist for the firewall's spell, having it set to NONE in the
map
- somehow detecting the map defines an inventory, and not generating the
default firebullet, not saving it, or something like that
- something else entirely
Opinions?
Regards
Nicolas
--
Mon p'tit coin du web - http://nicolas.weeger.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://mailman.metalforge.org/pipermail/crossfire/attachments/20120122/58929f06/attachment.pgp>
More information about the crossfire
mailing list