[CF-Devel] lost ring

crossfire-devel at archives.real-time.com crossfire-devel at archives.real-time.com
Wed Apr 14 01:54:48 CDT 2004


Karla Stenger wrote:
>
     
      hi,
     
     >
     
      I found something about this wrong merging rings problem, but i dont know how to
     
     >
     
      fix it, so i drop it here for those who know the code better.
     
     >
     
     
     >
     
      i was playing with a pile of rings of pow+2 and another of int+2 and it happened
     
     >
     
      once and again, that no matter what the order was, the rings would always merge
     
     >
     
      together into ones of the same kind, so i went to look at the CAN_MERGE function
     
     >
     
      and found out that it only checks for the type of the rings, which as you can
     
     >
     
      see below are exactly the same in this case. No wonder that it will keep
     
     >
     
      merging. I just dont know what is wrong, is it the item type?, is it that the
     
     >
     
      CAN_MERGE should check for other things also to compare the items?
     
     
  CAN_MERGE wasn't checking to see if the stats of the two rings are the same.

  While less likely, this could actually be a problem with all objects.  Eg, if 
there was a nice DM that took just a normal sword and gave it +3 Str, it could 
merge with other normal swords, either losing that +3 Str, or giving it to the 
entire group.

  This is probably less likely with most other objects, because the value 
wouldn't be the same (eg, a Str +1 sword would cost more than a sword without 
that Str +1 in most cases).

  And stat bonus don't show up in most other object, so less likely to be 
problems elsewhere.

  In any case, the fix appears to be to just put a memcmp for the stats 
structures, just like is already done for the resist structures.

>
     
      on the same topic but slightly different, seems like the animation check for
     
     >
     
      merging items is what is not allowing diamonds (and other gems) to merge
     
     >
     
      sometimes
     
     
  I've not seen it - the animation checks shouldn't cause a problem, because the 
check is actually to be making sure it is using the same animation sequence, and 
not so much the same frame is being animated.

  If there are cases where this can be documented and the two objects fully 
examined to make sure that nothing else is in fact different.


_______________________________________________
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