ScummVM API documentation
Ultima::Ultima8::Egg Class Reference
Inheritance diagram for Ultima::Ultima8::Egg:
Ultima::Ultima8::Item Ultima::Ultima8::Object Ultima::Ultima8::TeleportEgg

Public Member Functions

int getXRange () const
 
int getYRange () const
 
void setXRange (int r)
 
void setYRange (int r)
 
virtual uint16 hatch ()
 hatch the egg
 
virtual uint16 unhatch ()
 unhatch the egg (for Crusader only)
 
void leaveFastArea () override
 The item has left the fast area.
 
void reset ()
 clear the '_hatched' flag
 
Common::String dumpInfo () const override
 dump some info about this object to a string
 
bool loadData (Common::ReadStream *rs, uint32 version)
 
void saveData (Common::WriteStream *ws) override
 
 INTRINSIC (I_getEggXRange)
 
 INTRINSIC (I_getEggYRange)
 
 INTRINSIC (I_setEggXRange)
 
 INTRINSIC (I_setEggYRange)
 
 INTRINSIC (I_getEggId)
 
 INTRINSIC (I_setEggId)
 
- Public Member Functions inherited from Ultima::Ultima8::Item
ObjId getParent () const
 Get the Container this Item is in, if any. (0 if not in a Container)
 
void setParent (ObjId p)
 Set the parent container of this item.
 
ContainergetParentAsContainer () const
 Get the Container this Item is in, if any. (NULL if not in a Container)
 
ContainergetRootContainer () const
 Get the top-most Container this Item is in, if any. (NULL if not in a Container)
 
const ItemgetTopItem () const
 
void setLocation (int32 x, int32 y, int32 z)
 
void setLocation (const Point3 &pt)
 
virtual void move (int32 x, int32 y, int32 z)
 
void move (const Point3 &pt)
 Move, but with a point struct.
 
bool moveToContainer (Container *container, bool checkwghtvol=false)
 
void moveToEtherealVoid ()
 Move an item to the Ethereal Void.
 
void returnFromEtherealVoid ()
 Move an item out of the Ethereal Void to where it originally was.
 
void movedByPlayer ()
 Check if moving this item is stealing; call AvatarStoleSomething if so.
 
Point3 getLocationAbsolute () const
 
Point3 getLocation () const
 
int32 getZ () const
 Get this Item's Z coordinate.
 
void setZ (int32 z)
 Set this Item's Z coordinate.
 
void getGumpLocation (int32 &x, int32 &y) const
 
void setGumpLocation (int32 x, int32 y)
 
void randomGumpLocation ()
 
Point3 getCentre () const
 
void getFootpadWorld (int32 &x, int32 &y, int32 &z) const
 Get the size of this item's 3D bounding box, in world coordinates.
 
void getFootpadData (int32 &x, int32 &y, int32 &z) const
 
Box getWorldBox () const
 Get the Box this item occupies in the world. Undef if item is contained.
 
uint16 getFlags () const
 Get all flags.
 
bool hasFlags (uint16 flags) const
 Does this item have any of the given flags mask set.
 
void setFlag (uint32 mask)
 Set the flags set in the given mask.
 
virtual void setFlagRecursively (uint32 mask)
 
void clearFlag (uint32 mask)
 Clear the flags set in the given mask.
 
void setExtFlags (uint32 f)
 Set _extendedFlags.
 
uint32 getExtFlags () const
 Get _extendedFlags.
 
bool hasExtFlags (uint32 flags) const
 Does item have any of the given extended flags.
 
void setExtFlag (uint32 mask)
 Set the _extendedFlags set in the given mask.
 
void clearExtFlag (uint32 mask)
 Clear the _extendedFlags set in the given mask.
 
uint32 getShape () const
 Get this Item's shape number.
 
void setShape (uint32 shape)
 Set this Item's shape number.
 
uint32 getFrame () const
 Get this Item's frame number.
 
void setFrame (uint32 frame)
 Set this Item's frame number.
 
uint16 getQuality () const
 Get this Item's quality (a.k.a. 'Q')
 
void setQuality (uint16 quality)
 Set this Item's quality (a.k.a 'Q');.
 
uint16 getNpcNum () const
 
void setNpcNum (uint16 npcnum)
 
uint16 getMapNum () const
 
void setMapNum (uint16 mapnum)
 
const ShapeInfogetShapeInfo () const
 Get the ShapeInfo object for this Item. (The pointer will be cached.)
 
virtual const ShapeInfogetShapeInfoFromGameInstance () const
 Get the ShapeInfo object for this Item from the game instance.
 
const ShapegetShapeObject () const
 Get the Shape object for this Item. (The pointer will be cached.)
 
uint16 getFamily () const
 
bool canMergeWith (const Item *other) const
 Check if we can merge with another item.
 
ObjId getGump () const
 Get the open ContainerGump for this Item, if any. (NULL if not open.)
 
void clearGump ()
 Call this to notify the Item's open Gump has closed.
 
ObjId openGump (uint32 gumpshape)
 Open a gump with the given shape for this Item.
 
void closeGump ()
 Close this Item's gump, if any.
 
ProcId bark (const Std::string &msg, ObjId id=0)
 
void clearBark ()
 Call this to notify the Item's open bark has closed.
 
void closeBark ()
 Close this Item's bark, if any.
 
virtual void destroy (bool delnow=false)
 Destroy self.
 
bool overlaps (const Item &item2) const
 Check if this item overlaps another item in 3D world-space.
 
bool overlapsxy (const Item &item2) const
 Check if this item overlaps another item in the xy dims in 3D space.
 
bool isOn (const Item &item2) const
 Check if this item is on top of another item.
 
bool isCompletelyOn (const Item &item2) const
 Check if this item is on completely on top of another item.
 
bool isCentreOn (const Item &item2) const
 Check if the centre of this item is on top of another item.
 
bool isOnScreen () const
 Check if the item is currently entirely visible on screen.
 
bool isPartlyOnScreen () const
 Check if the item is currently partly visible on screen.
 
bool canExistAt (int32 x, int32 y, int32 z, bool needsupport=false) const
 Check if this item can exist at the given coordinates.
 
bool canExistAt (const Point3 &pt, bool needsupport=false) const
 
Direction getDirToItemCentre (const Item &item2) const
 
Direction getDirToItemCentre (const Point3 &pt) const
 Same as above, but from a fixed point.
 
int getRange (const Item &item2, bool checkz=false) const
 
int getRangeIfVisible (const Item &item2) const
 get 'distance' to other item if it's visible (ie, there's nothing blocking the path)
 
bool canReach (const Item *other, int range, int32 x=0, int32 y=0, int32 z=0) const
 
virtual int32 collideMove (int32 x, int32 y, int32 z, bool teleport, bool force, ObjId *hititem=0, uint8 *dirs=0)
 
int32 ascend (int delta)
 
void fall ()
 
void grab ()
 
void hurl (int xs, int ys, int zs, int grav)
 Hurl the item in the given direction.
 
void setGravityPID (ProcId pid)
 Set the PID of the GravityProcess for this Item. There should be only one.
 
ProcId getGravityPID () const
 Get the PID of the GravityProcess for this Item (or 0)
 
virtual GravityProcessensureGravityProcess ()
 Get the GravityProcess of this Item, creating it if necessary.
 
virtual uint32 getWeight () const
 Get the weight of this Item.
 
virtual uint32 getTotalWeight () const
 Get the weight of this Item and its contents, if any.
 
virtual uint32 getVolume () const
 Get the volume this item takes up in a container.
 
void explode (int explosion_type, bool destroy_item, bool cause_damage=true)
 
virtual uint16 getDamageType () const
 get the damage type this object does when hitting something
 
virtual void receiveHit (ObjId other, Direction dir, int damage, uint16 type)
 
uint16 fireWeapon (int32 x, int32 y, int32 z, Direction dir, int firetype, bool findtarget)
 fire the given weapon type in the given direction from location x, y, z.
 
uint16 fireDistance (const Item *other, Direction dir, int16 xoff, int16 yoff, int16 zoff) const
 
uint8 getDamagePoints () const
 get damage points, used in Crusader for item damage.
 
void setDamagePoints (uint8 points)
 set damage points, used in Crusader for item damage.
 
int32 getTargetZRelativeToAttackerZ (int32 attackerz) const
 
unsigned int countNearby (uint32 shape, uint16 range) const
 count nearby objects of a given shape
 
bool canDrag () const
 can this item be dragged?
 
int getThrowRange () const
 
bool checkLoopScript (const uint8 *script, uint32 scriptsize) const
 
uint32 callUsecodeEvent_look ()
 
uint32 callUsecodeEvent_use ()
 
uint32 callUsecodeEvent_anim ()
 
uint32 callUsecodeEvent_cachein ()
 
uint32 callUsecodeEvent_hit (ObjId hitted, int16 hitforce)
 
uint32 callUsecodeEvent_gotHit (ObjId hitter, int16 hitforce)
 
uint32 callUsecodeEvent_hatch ()
 
uint32 callUsecodeEvent_schedule (uint32 time)
 
uint32 callUsecodeEvent_release ()
 
uint32 callUsecodeEvent_equip ()
 
uint32 callUsecodeEvent_equipWithParam (ObjId param)
 
uint32 callUsecodeEvent_unequip ()
 
uint32 callUsecodeEvent_unequipWithParam (ObjId param)
 
uint32 callUsecodeEvent_combine ()
 
uint32 callUsecodeEvent_calledFromAnim ()
 
uint32 callUsecodeEvent_enterFastArea ()
 
uint32 callUsecodeEvent_leaveFastArea ()
 
uint32 callUsecodeEvent_cast (uint16 unk)
 
uint32 callUsecodeEvent_justMoved ()
 
uint32 callUsecodeEvent_AvatarStoleSomething (uint16 unk)
 
uint32 callUsecodeEvent_guardianBark (int16 unk)
 
uint32 callUsecodeEvent_unhatch ()
 
uint32 use ()
 
Point3 getLerped () const
 Get lerped location.
 
void doLerp (int32 factor)
 
void setupLerp (int32 gametick)
 Setup the lerped info for this gametick and animate the item.
 
virtual uint32 enterFastArea ()
 The item has entered the fast area.
 
Common::String dumpInfo () const override
 dump some info about this item to a string
 
bool loadData (Common::ReadStream *rs, uint32 version)
 
void saveData (Common::WriteStream *ws) override
 
 INTRINSIC (I_touch)
 
 INTRINSIC (I_getX)
 
 INTRINSIC (I_getY)
 
 INTRINSIC (I_getZ)
 
 INTRINSIC (I_getCX)
 
 INTRINSIC (I_getCY)
 
 INTRINSIC (I_getCZ)
 
 INTRINSIC (I_getPoint)
 
 INTRINSIC (I_getShape)
 
 INTRINSIC (I_setShape)
 
 INTRINSIC (I_getFrame)
 
 INTRINSIC (I_setFrame)
 
 INTRINSIC (I_getQuality)
 
 INTRINSIC (I_getUnkEggType)
 
 INTRINSIC (I_setUnkEggType)
 
 INTRINSIC (I_getQuantity)
 
 INTRINSIC (I_getContainer)
 
 INTRINSIC (I_getRootContainer)
 
 INTRINSIC (I_getQ)
 
 INTRINSIC (I_getQHi)
 
 INTRINSIC (I_getQLo)
 
 INTRINSIC (I_setQ)
 
 INTRINSIC (I_setQHi)
 
 INTRINSIC (I_setQLo)
 
 INTRINSIC (I_setQuality)
 
 INTRINSIC (I_setQuantity)
 
 INTRINSIC (I_setQAndCombine)
 
 INTRINSIC (I_getFamily)
 
 INTRINSIC (I_getTypeFlag)
 
 INTRINSIC (I_getStatus)
 
 INTRINSIC (I_orStatus)
 
 INTRINSIC (I_andStatus)
 
 INTRINSIC (I_getFootpadData)
 
 INTRINSIC (I_overlaps)
 
 INTRINSIC (I_overlapsXY)
 
 INTRINSIC (I_isOn)
 
 INTRINSIC (I_isCompletelyOn)
 
 INTRINSIC (I_isCentreOn)
 
 INTRINSIC (I_isInNpc)
 
 INTRINSIC (I_ascend)
 
 INTRINSIC (I_getWeight)
 
 INTRINSIC (I_getWeightIncludingContents)
 
 INTRINSIC (I_getVolume)
 
 INTRINSIC (I_bark)
 
 INTRINSIC (I_getMapArray)
 
 INTRINSIC (I_setMapArray)
 
 INTRINSIC (I_getNpcNum)
 
 INTRINSIC (I_setNpcNum)
 
 INTRINSIC (I_getDirToCoords)
 
 INTRINSIC (I_getDirFromCoords)
 
 INTRINSIC (I_getDirToItem)
 
 INTRINSIC (I_getDirFromItem)
 
 INTRINSIC (I_getDirFromTo16)
 
 INTRINSIC (I_getClosestDirectionInRange)
 
 INTRINSIC (I_look)
 
 INTRINSIC (I_use)
 
 INTRINSIC (I_gotHit)
 
 INTRINSIC (I_enterFastArea)
 
 INTRINSIC (I_cast)
 
 INTRINSIC (I_ask)
 
 INTRINSIC (I_getSliderInput)
 
 INTRINSIC (I_openGump)
 
 INTRINSIC (I_closeGump)
 
 INTRINSIC (I_create)
 
 INTRINSIC (I_legalCreateAtPoint)
 
 INTRINSIC (I_legalCreateAtCoords)
 
 INTRINSIC (I_legalCreateInCont)
 
 INTRINSIC (I_push)
 
 INTRINSIC (I_pop)
 
 INTRINSIC (I_popToCoords)
 
 INTRINSIC (I_popToContainer)
 
 INTRINSIC (I_popToEnd)
 
 INTRINSIC (I_destroy)
 
 INTRINSIC (I_move)
 
 INTRINSIC (I_legalMoveToPoint)
 
 INTRINSIC (I_legalMoveToContainer)
 
 INTRINSIC (I_hurl)
 
 INTRINSIC (I_shoot)
 
 INTRINSIC (I_fall)
 
 INTRINSIC (I_grab)
 
 INTRINSIC (I_igniteChaos)
 
 INTRINSIC (I_getFamilyOfType)
 
 INTRINSIC (I_getEtherealTop)
 
 INTRINSIC (I_guardianBark)
 
 INTRINSIC (I_getSurfaceWeight)
 
 INTRINSIC (I_isExplosive)
 
 INTRINSIC (I_receiveHit)
 
 INTRINSIC (I_explode)
 
 INTRINSIC (I_canReach)
 
 INTRINSIC (I_getRange)
 
 INTRINSIC (I_getRangeIfVisible)
 
 INTRINSIC (I_isCrusTypeNPC)
 
 INTRINSIC (I_setBroken)
 
 INTRINSIC (I_inFastArea)
 
 INTRINSIC (I_equip)
 
 INTRINSIC (I_unequip)
 
 INTRINSIC (I_avatarStoleSomething)
 
 INTRINSIC (I_isPartlyOnScreen)
 
 INTRINSIC (I_fireWeapon)
 
 INTRINSIC (I_fireDistance)
 
- Public Member Functions inherited from Ultima::Ultima8::Object
ObjId getObjId () const
 get this Object's objID
 
virtual ObjId assignObjId ()
 
virtual void clearObjId ()
 Clear objID of self and contents (if any)
 
ProcId callUsecode (uint16 classid, uint16 offset, const uint8 *args=0, int argsize=0)
 
bool loadData (Common::ReadStream *rs, uint32 version)
 

Protected Attributes

bool _hatched
 
- Protected Attributes inherited from Ultima::Ultima8::Item
uint32 _frame
 
int32 _x
 
int32 _y
 
int32 _z
 
uint16 _flags
 
uint16 _quality
 
uint16 _npcNum
 
uint16 _mapNum
 
uint32 _extendedFlags
 
ObjId _parent
 
const Shape_cachedShape
 
const ShapeInfo_cachedShapeInfo
 
Lerped _lPrev
 
Lerped _lNext
 
int32 _ix
 
int32 _iy
 
int32 _iz
 
ObjId _gump
 
ObjId _bark
 
ProcId _gravityPid
 
uint8 _damagePoints
 
- Protected Attributes inherited from Ultima::Ultima8::Object
ObjId _objId
 

Additional Inherited Members

- Public Types inherited from Ultima::Ultima8::Item
enum  statusflags {
  FLG_DISPOSABLE = 0x0002, FLG_OWNED = 0x0004, FLG_CONTAINED = 0x0008, FLG_INVISIBLE = 0x0010,
  FLG_FLIPPED = 0x0020, FLG_IN_NPC_LIST = 0x0040, FLG_FAST_ONLY = 0x0080, FLG_GUMP_OPEN = 0x0100,
  FLG_EQUIPPED = 0x0200, FLG_BOUNCING = 0x0400, FLG_ETHEREAL = 0x0800, FLG_HANGING = 0x1000,
  FLG_FASTAREA = 0x2000, FLG_LOW_FRICTION = 0x4000, FLG_BROKEN = 0x8000
}
 
enum  extflags {
  EXT_FIXED = 0x0001, EXT_INCURMAP = 0x0002, EXT_LERP_NOPREV = 0x0008, EXT_HIGHLIGHT = 0x0010,
  EXT_CAMERA = 0x0020, EXT_SPRITE = 0x0040, EXT_TRANSPARENT = 0x0080, EXT_PERMANENT_NPC = 0x0100,
  EXT_TARGET = 0x0200, EXT_FEMALE = 0x8000
}
 
- Static Public Attributes inherited from Ultima::Ultima8::Item
static const int MAX_QUANTITY = 666
 
- Protected Member Functions inherited from Ultima::Ultima8::Item
bool isRobotCru () const
 True if this is a Robot shape (in a fixed list)
 
int scaleReceivedDamageCru (int damage, uint16 type) const
 

The documentation for this class was generated from the following file: