Introduction to IFPObjects

The base class for all saveable objects in IntFicPy is IFPObject

The direct descendents of IFPObject (as of January 2020) are:

  • AbstractScore (the score tracker for a game)

  • Achievement

  • Daemon (timers and scheduled/recurring events)

  • DaemonManager (the system that tracks active Daemons in a game)

  • Ending

  • HintNode (A collection of Hints)

  • HintSystem (the system that tracks hints for a game)

  • PhysicalEntity (base class of Thing and Room)

  • RoomGroup

  • SaleItem

  • Topic

  • TravelConnector

The game (IFPGame instance) keeps track of every IFPObject associated with it by way of its “ifp_objects” attribute - a dictionary of IFPObjects each with a unique index.

All IFPObjects need to be instantiated with a game object, so that they can be registered.

The “ifp_objects” dictionary is used to gather and organize the objects for serializing/saving.

Multiple IFPObjects can be stored under the same index, but the save/load system will treat any such objects as identical or interchangable. This is sometimes useful for identical items generated during play.