Jump to content

Keep Miscellany


CamDawg

Recommended Posts

The head of the de'Arnise Keep guards is Glaicas. Or is it Glaicus? Every journal entry and dialogue refers to him as 'Glaicus'. The one place where it's different is the name attached to his creature file, which is Glaicas. Good times.

 

The transition from the ground floor of the Keep back through the secret passage is fine in the troll-occupied version of the Keep (ar1302), but way off in the stronghold version (ar1306). The latter has the transition trigger through a wall rather than the adjacent door that it's supposed to be.

Link to comment

The transition point was also not attached to the door, allowing the party to walk through a closed door. :) Glaicus is fixed in the GTU; door fixed as follows:

 

// door from ground floor of stronghold de'Arnise Keep is off, not attached to door
COPY_EXISTING ~ar1306.are~ ~override~
 READ_SHORT 0x5a "info_num"
 READ_LONG  0x5c "info_off"
 READ_LONG  0x7c "vert_off"
 READ_LONG  0xa4 "door_num"
 READ_LONG  0xa8 "door_off"
 FOR (index = 0; index < info_num; index = index + 1) BEGIN
READ_ASCII ("%info_off%" +		("%index%" * 0xc4)) "info_name" (9)
PATCH_PRINT "info_name is %info_name%"
PATCH_IF ("%info_name%" STRING_COMPARE_CASE "Tran1304a" = 0) BEGIN
  // bounding box
  WRITE_SHORT ("%info_off%" + 0x22 + ("%index%" * 0xc4)) 420  // bounding: left
  WRITE_SHORT ("%info_off%" + 0x24 + ("%index%" * 0xc4)) 1799 // bounding: top
  WRITE_SHORT ("%info_off%" + 0x26 + ("%index%" * 0xc4)) 520  // bounding: right
  WRITE_SHORT ("%info_off%" + 0x28 + ("%index%" * 0xc4)) 1935 // bounding: bottom
  // vertices
  READ_SHORT  ("%info_off%" + 0x2c + ("%index%" * 0xc4)) "vert_idx"
  WRITE_SHORT ("%vert_off%" +		(0x04 * "%vert_idx%")) 442
  WRITE_SHORT ("%vert_off%" + 0x02 + (0x04 * "%vert_idx%")) 1799
  WRITE_SHORT ("%vert_off%" + 0x04 + (0x04 * "%vert_idx%")) 442
  WRITE_SHORT ("%vert_off%" + 0x06 + (0x04 * "%vert_idx%")) 1891
  WRITE_SHORT ("%vert_off%" + 0x08 + (0x04 * "%vert_idx%")) 520
  WRITE_SHORT ("%vert_off%" + 0x0a + (0x04 * "%vert_idx%")) 1935
  WRITE_SHORT ("%vert_off%" + 0x0c + (0x04 * "%vert_idx%")) 520
  WRITE_SHORT ("%vert_off%" + 0x0e + (0x04 * "%vert_idx%")) 1845
  // add attached to door flag (also next loop)
  READ_BYTE  ("%info_off%" + 0x61 + (0xc4 * "%index%")) "flags"
  WRITE_BYTE ("%info_off%" + 0x61 + (0xc4 * "%index%")) ("%flags%" BOR 0b00001000)
  SET "index" = "%info_num%" // kills loop
END
 END
 FOR (index = 0; index < door_num; index = index + 1) BEGIN
READ_ASCII ("%door_off%" +		("%index%" * 0xc8)) "door_name"
PATCH_IF ("%door_name%" STRING_COMPARE_CASE "secret07" = 0) BEGIN
  WRITE_ASCII ("%door_off%" + 0x9c + ("%index%" * 0xc8)) "Tran1304a" #16
END
 END
 BUT_ONLY_IF_IT_CHANGES

Link to comment
// door from ground floor of stronghold de'Arnise Keep is off, not attached to door
COPY_EXISTING ~ar1306.are~ ~override~
 READ_SHORT 0x5a "info_num"
 READ_LONG  0x5c "info_off"
 READ_LONG  0x7c "vert_off"
 READ_LONG  0xa4 "door_num"
 READ_LONG  0xa8 "door_off"
 FOR (index = 0; index < info_num; index = index + 1) BEGIN
READ_ASCII ("%info_off%" +		("%index%" * 0xc4)) "info_name" (9)
PATCH_PRINT "info_name is %info_name%"
PATCH_IF ("%info_name%" STRING_COMPARE_CASE "Tran1304a" = 0) BEGIN
  // bounding box
  WRITE_SHORT ("%info_off%" + 0x22 + ("%index%" * 0xc4)) 420  // bounding: left
  WRITE_SHORT ("%info_off%" + 0x24 + ("%index%" * 0xc4)) 1799 // bounding: top
  WRITE_SHORT ("%info_off%" + 0x26 + ("%index%" * 0xc4)) 520  // bounding: right
  WRITE_SHORT ("%info_off%" + 0x28 + ("%index%" * 0xc4)) 1935 // bounding: bottom
  // vertices 'n' stuff

bounding: left should be 442 (min x).

 

// bounding box
  WRITE_SHORT ("%info_off%" + 0x22 + ("%index%" * 0xc4)) 442  // bounding: left

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...