Objects
Objects
txt
  Objects.txt
  Written by: Nefarius
  Written on: Fri Jun 16, 2006 8:50 am
  Views: 6175
  Description: by Nefarius
  Categories: File Guides (1.1x)
NOTE: For the sake of readability the columns are here not represented the way they are in the file (their order isn't).
Name: This controls the string that is displayed when you highlight this object.
  description - not loaded: A reference field, it contains (or should contain) a brief description of what this object
  represents in-game, unforunately Blizzard didn't put much effort into these, thus the use of the info provided here is
  rather limited and often cryptic.
  Id: Another reference field, it refers to the objects unique ID. This field is not used by the game, the IDs are based on
  the line number.
  Token: A third reference field, this field refers to the graphics used by the object. To actually change what graphics
  the object uses you must edit ObjType.txt.
  SpawnMax: Unused, at least altering this field didn't change a thing. Whenever, and how, an object is spawned is
  controlled only by PopulateFn. For reference, the Blizzard used the values 0, 1 and 2.
  TrapProb: Unused, this was supposed to control the chance of the object being trapped, but this is since forever
  handled by object specific code.
https://d2mods.info/forum/kb/viewarticle?a=393                                                                             1/21
23.01.2020                                        The Phrozen Keep - Knowledge Base - Objects.txt
  SizeX and SizeY: This controls the amount of subtiles that this object occupies, setting this to very high values will
  prevent the object from spawning, so beware.
IsAttackable: Boolean, controls whenever the character will use mode NU or mode KK when clicking on this object.
EnvEffect: Boolean, unknown but apparently related to ambient sounds and other environment effects.
  IsDoor: Boolean, controls whenever the game treats this object as a door (this makes it display Open Door, Closed Door
  or Blocked Door instead of the objects actual string). This probably also controls whenever monsters capable of
  opening doors will detect that this object is a door.
https://d2mods.info/forum/kb/viewarticle?a=393                                                                             2/21
23.01.2020                                        The Phrozen Keep - Knowledge Base - Objects.txt
  BlockVis: Boolean, controls whenever this object influences line of sight. This only works in conjunction with IsDoor.
  When this is set to true you are unable to select objects, units or items that are not within the same room as you are
  unless the door is opened. Otherwise you will be able to select things outside of your visions cone (this works similar
  to LoSDraw in Levels.txt). I'm unaware whenever this effects monsters too.
  Orientation: Unknown, this seams to control what direction the object is facing. But changing it doesn't really have any
  influence that I could notice in-game (probably since most objects only have 1 direction to start with), it might be used
  by code to know what door to pick for what wall tile, so I'm not sure, for reference, the directions would be:
1 - Southwest
2 - Northwest
3 - Southeast
4 - Northeast
https://d2mods.info/forum/kb/viewarticle?a=393                                                                              3/21
23.01.2020                                         The Phrozen Keep - Knowledge Base - Objects.txt
  Trans: Controls what type of palette mapping is applied to the object. Though I couldn't notice any major differences
  in-game.
  PreOperate: Boolean, unknown, they've set this to true for the same objects that have IsAttackable set to true, but I
  couldn't link this to any in-game behavior.
  XOffset and YOffset: The graphical offset (from the animations pivot). This is in pixels rather then subtiles (at least as
  far as I noticed), so if you set these to -100 the objects graphics will appear shifted 100 pixels to the upper left corner
  from where the object actually is.
  Draw: Boolean, controls whenever to draw the object's graphics or not. Note, it will still cast a shadow and the player
  will still be able to select it.
  Red, Green and Blue: These three fields control the RGB values (the color) of the objects light radius (in case you
  assigned a light radius to it).
  HD, TR, LG, RA, LA, RH, LH, SH and S1 to S8: Booleans, these columns control whenever the respective DCC
  components are selectable. Setting them to 0 will make the component in question unselectable. In my tests with TR
  they where still loaded however, unlike MonStats2.txt.
https://d2mods.info/forum/kb/viewarticle?a=393                                                                              4/21
23.01.2020                                          The Phrozen Keep - Knowledge Base - Objects.txt
0 = Component is unselectable
1 = Component is selectable
SubClass: This field determines what object special subclass this object belongs to:
4 = Portal (do not use this for non-portal objects, it causes an assertion error)
128 = Secret Jails Door (makes the object unselectable, while keeping it clickable)
https://d2mods.info/forum/kb/viewarticle?a=393                                                        5/21
23.01.2020                                        The Phrozen Keep - Knowledge Base - Objects.txt
XSpace and YSpace: Unknown, some value in subtiles, but I couldn't see any effects in-game.
  NameOffset: How many pixels will the objects name be displaced from the pivot (on the z-axis). So setting this to -100
  will make the name appear 100 pixels above the animations pixot.
  OperateRange: Apparently controls the distance in subtiles from which one can use this object, I played around with
  it, but didn't notice any different in-game.
ShrineFunction: Unused.
  Restore: Boolean, controls whenever or not this object is stored in long-term memory and reappears when you return
  to a previously visited area. Setting this to 0 will make the object disappear once you leave the map.
  Act: Reference field, a bit field referencing what Acts this object can appear in without glitching up. 15 refers to an
  object able to appear in all three acts without messing up.
https://d2mods.info/forum/kb/viewarticle?a=393                                                                              6/21
23.01.2020                                        The Phrozen Keep - Knowledge Base - Objects.txt
  Lockable: Boolean, controls whenever this object can be locked or note. Note: You need to use the
  proper InitFn function to make it use this column, another issue, the game will display 'Locked Chest' instead of the
  objects actual name.
0 = Unlockable
1 = Lockable
  Sync: Boolean, unknown, I suspect that this tells the game whenever it should keep the client and server copies of this
  object in-sync or whenever it doesn't matter. This is usually set to false for those objects that are only spawned via DS1
  files and thus cannot get out of sync. This could also be related keeping some other aspects in sync (see Paul's reply to
  this thread).
Flicker: Boolean, whenever or not the light emitted by this object should flicker.
https://d2mods.info/forum/kb/viewarticle?a=393                                                                            7/21
23.01.2020                                         The Phrozen Keep - Knowledge Base - Objects.txt
  Damage: Controls the amount of damage done by this object (only used when the proper OperateFn function is used),
  but the ratio used is unknown. If this is set to 0 the game will display a warning if it expects there to be damage.
Beta: Reference field, this is set to true if the object appeared in the beta, and to false if it wasen't.
  Overlay: Boolean, unknown, seams to control whenever the game will draw an overlay ontop of the objects graphics
  while it is not used, but this is just a wild guess.
  CollisionSubst: Boolean, controls whenever special collision checking will take place, but I can't figure out how exactly
  this works.
Left, Top, Right and Bottom: Could be controlling the bounding box of the object (clickable area).
  RestoreVirgins: Boolean, whenever or not to restore only unused objects (those objects the player hasen't opened or
  used yet).
BlockMissiles: Boolean, controls whenever this object will be treated as a wall by missiles.
https://d2mods.info/forum/kb/viewarticle?a=393                                                                           8/21
23.01.2020                                        The Phrozen Keep - Knowledge Base - Objects.txt
  DrawUnder: Boolean, controls whenever this object is to be drawn the same way as a floor tile (so for example
  monsters and players will be drawn on top of this object when their graphics overlap it, even if they stand behind the
  object).
0 = Draw normally
OpenWarp: Boolean, controls whenever the game will display 'To ' or 'trap door' when you highlight the object.
  AutoMap: Determines how and if this object will appear on the automap, leaving it blank prevents it from spawning on
  the map.
Object Functions
  Note: The following columns are the heart and soul of this file, they control what an object actually does when you
  click on it and other parts of it's behavior, they are links to an internal function table (which I will post when I get
  time to look for it, if it isn't posted already).
https://d2mods.info/forum/kb/viewarticle?a=393                                                                               9/21
23.01.2020                                                    The Phrozen Keep - Knowledge Base - Objects.txt
OperateFn: This controls the function called when the player clicks on the object.
1 - Container (can be trapped with raising undead and fireballs, always drops at least one item as it seams) [used by Caskets]
2 - Shrine (when you don't use the proper InitFn function the game will crash with an unhandled exception)
3 - Container (can be trapped with various things, like poison clouds and fire patches, rarely drops an item) [used by Urns]
         4 - Container (can be trapped with various things, drops items more often then function 3 but less often then function 1) [used by
         Chests]
         5 - Container (can only be trapped by raising undead, rarely drops items, when trapped it doesn't make the trap sound
             icon_wink.gif) [used by barrels]
6 - The Tower Tome (quest object, displays the Tower Quest introduction)
7 - Exploding Object (does damage when used, never drops items) [used by exploding barrels]
8 - Door (controls whenever you can open and close the object repeatedly)
9 - Crain Stone (quest object, apply the correct sequence and a portal opens)
         11 - Controls whenever it can be turned on an off, like a light switch     icon_exclaim.gif (used for braziers which are by default
         unselectable    icon_razz.gif, great work blizzard).
14 - Container (can be trapped by various things, drops items rather infrequently) [used by crates]
17 - Obelisk (currently just makes the player say impossible, the actual code is gone)
https://d2mods.info/forum/kb/viewarticle?a=393                                                                                                 10/21
23.01.2020                                                   The Phrozen Keep - Knowledge Base - Objects.txt
         20 - Weapon Rack (drop a random weapon, based on area level)
23 - Waypoint (click once to activate, click a second time to open the menu)
25 - Horadric Orifice (quest object, you insert the horadric staff into this --- I know how wrong that sounds)
26 - Book Case (drops books and scrolls of identify and town portal)
28 - Lam Esen's Tome (quest object, click it and it drops the tome)
30 - Exploding Object (blows up and makes a blazing-sound) [used by the exploding cow]
31 - Decoy Gidbinn Altar (quest object, click it to make the cannibal boss spawn)
34 - Arcane Portal (the portal that lets you enter the arcane sanctuary)
42 - Horazon's Journal (quest object, displays the 'seekers of the tomb of tal-rasha' intro)
https://d2mods.info/forum/kb/viewarticle?a=393                                                                            11/21
23.01.2020                                                  The Phrozen Keep - Knowledge Base - Objects.txt
         48 - Trapped Soul (don't blindly use this, it will crash when not properly set up)
51 - Container (often drops items, doesn't seam to be trapped) [used by various jungle objects]
52 - Diablo's Seal
54 - Diablo's Seal
55 - Diablo's Seal
56 - Diablo's Seal
57 - Quest Chest D (drops one one of khalims body parts for each player)
58 - Quest Chest E (drops one one of khalims body parts for each player)
59 - Quest Chest F (drops one one of khalims body parts for each player)
66 - The door you can only open after killing the Ancients
67 - Frozen Mother
69 - Unknown
71 - Unknown
https://d2mods.info/forum/kb/viewarticle?a=393                                                                12/21
23.01.2020                                         The Phrozen Keep - Knowledge Base - Objects.txt
  PopulateFn: This field controls what population function the game will use to spawn this object, a value of 0 (aka
  blank), will make the object in question unable to spawn. The following values are used by the game (more might exist
  but I didn't feel like testing for such):
1 - Spawn random object from internal table (various caskets, various urns).
4 - Spawns a group of barrels (normal and exploding barrels), the object itself is removed.
9 - Spawn many copies of the object, slightly further apart then function 6.
https://d2mods.info/forum/kb/viewarticle?a=393                                                                      13/21
23.01.2020                                                   The Phrozen Keep - Knowledge Base - Objects.txt
  InitFn: This controls what happens while the object is active on the map and what initially happens when the object is
  activated by an approaching player.
1 = Shrine (probably responsible for picking a random shrine function to assign to this)
17 = Waypoint (probably checks whenever the waypoint has been activated before)
https://d2mods.info/forum/kb/viewarticle?a=393                                                                       14/21
23.01.2020                                                  The Phrozen Keep - Knowledge Base - Objects.txt
         21 = Horadric Orifice (probably checks quest status)
29 = Arcane Sanctuary Entrance (didn't test, but it's the entrace to the whole place)
44 = Gateway to Hell
https://d2mods.info/forum/kb/viewarticle?a=393                                                                15/21
23.01.2020                                                   The Phrozen Keep - Knowledge Base - Objects.txt
         48 = Hell Forge (probably checks quest status)
56 = Diablo's Seal
61 = Cain's Portal
75 = Worldstone Chamber Entrance (checks whenever baal is done with his spamming)
https://d2mods.info/forum/kb/viewarticle?a=393                                                                 16/21
23.01.2020                                                The Phrozen Keep - Knowledge Base - Objects.txt
2 = Rain Ripple
10 = Bubbles
https://d2mods.info/forum/kb/viewarticle?a=393                                                              17/21
23.01.2020                                        The Phrozen Keep - Knowledge Base - Objects.txt
13 = Dunno really
15 = Frozen Mother
17 = Zoo (nothing)
  Note: The following columns come in groups of eight, each of them controls certain aspects of the object individually
  for each mode the object uses.
0 - Fashion Now
1 - ON mode
2 - mode ON
https://d2mods.info/forum/kb/viewarticle?a=393                                                                       18/21
23.01.2020                                         The Phrozen Keep - Knowledge Base - Objects.txt
3 - mode S1
4 - mode S2
5 - mode S3
6 - mode S4
7 - mode S5
selectable: Boolean, controls whenever you can select the object (highlight when you scroll over).
0 = Unselectable
1 = Selectable
FrameCnt: How many frames does the mode in question have, setting this to 0 will make the game skip this mode.
Lit: Diameter of the light radius emitted by this object (in subtiles).
https://d2mods.info/forum/kb/viewarticle?a=393                                                                     19/21
23.01.2020                                       The Phrozen Keep - Knowledge Base - Objects.txt
1 = Cast a shadow
HasCollision: Boolean, whenever or not the game uses collision checking for this mode.
OrderFlag: Controls whenever the object is to be drawn as a physical object, a wall or a floor.
0 = Physical object
1 = Floor
2 = Wall
https://d2mods.info/forum/kb/viewarticle?a=393                                                      20/21
23.01.2020                                       The Phrozen Keep - Knowledge Base - Objects.txt
Mode: Boolean, controls whenever the object has this animation mode or not.
Paul Siramy
snowknight
Kingpin
https://d2mods.info/forum/kb/viewarticle?a=393 21/21