Changes between Version 21 and Version 22 of NewEgos


Ignore:
Timestamp:
10/21/11 06:46:25 (8 years ago)
Author:
magnate
Comment:

Added notes about backporting

Legend:

Unmodified
Added
Removed
Modified
  • NewEgos

    v21 v22  
    8282The savefile now stores the indeces of the theme (in the old o_ptr->ego->eidx slot) and the affixes. I also took a cue from Gabe and we now record all of MAX_PVALS, MAX_AFFIXES, OF_SIZE and OF_BYTES in the savefile, so if they change we don't have to write a new function. Oh, and we also store o_ptr->extent, which is food/fuel/charges/gold/chest level, fixing #1540. Ego items in old savefiles will retain all their actual properties (flags, plusses etc.), but will lose their names. I'm happy to write a converter to restore these names if people think it's important, but it looks like we might be heading for major savefile breakage for 4.0 anyway. 
    8383 
    84 == Next steps post-merge == 
     84== Next steps == 
    8585=== Code cleanup === 
    8686I need to get rid of remaining references to o_ptr->ego and remove it from the object_type struct. Also renaming ego_stuff to affix_stuff would be helpful - I've been a bit lazy about this, in case the whole thing was rejected. I also need to write accessors or #defines for things like AFFIX_IS_PREFIX and so on. 
     
    133133* should maxima really be sparse? z_info->e_max is set not as the number of e_info entries but the index of the highest. Is this necessary? 
    134134 
     135== Backporting to V 3.x == 
     136There is a problem with using this code to generate only the items found in 3.3.x's ego_item.txt. In order to get a theme, an item must already have at least of its affixes. If we take the example of {{{*slay* dragon}}}, none of its three affixes (+CON, RES_FEAR or KILL_DRAGON) are ever found separately on weapons in 3.3.x. So you could never create an item with this theme using this system. 
     137 
     138If you got rid of themes altogether and simply turned them back into rare affixes, you would need to make sure that an item could only have one affix (so that it could not get both Gondolin and Defender, for example) - thereby losing the point of affixes altogether. At that point you just have a minor variation on the old ego system, with some parser changes. 
     139 
    135140== Tickets affected == 
    136141