wiki:PlanningWiki/ObjectGeneration

Version 12 (modified by nckmccnnll, 6 years ago) (diff)

--

Object Generation

Restructure

  • object structs (object_type, object_kind, egos and artifacts) (Nick)
    • pvals are an obsolete hack, and should be replaced with actual values
    • it would be nice to see tvals and svals go away too, but I'm not as clear how to do that
    • ID (within this struct) is also pretty much a hack, and needs to be thought through; I have some ideas, but they're not radical enough yet
    • see Brands & Slays for how to handle these -- takkaria)
    • bitflag flags[OF_SIZE] is fairly clear, but maybe should have negatives/curses pulled out
    • there should be some fields for ID, and maybe pseudo-ID

  • if you wanted to remove tvals and svals you could consider something like bool wearable[EQ_MAX]. Although, in the end, it's probably worth it to be able to separate axes, from polearms, from maces, so you're not gaining much. At the very least, we should be thinking about how to accommodate classes that dual wield weapons.
  • For dual-wielding, you could add a flag on weapons/shields that permit offhand usage and move to weapon+offhand slots; this gives you the opportunity to restrict dual-wielding and shield usage independently.
  • Latest consensus seems to be tval->type, sval->subtype (but retained) (Nick)
  • Also, probably one type per slot, then crown/helm and sword/hafted/polearm can be handled by flags (Nick)
  • resist[GF_MAX], modifers[OBJ_MOD_MAX] (for stats, speed, stealth &c), brands and slays (both these two (entity, multiplier) linked lists) have now been added to all the object structs (Nick)

Post-restructure

Possibly Related Tickets