Jump to content

Object.ids observations (EEs and IWD2)


Recommended Posts

Posted

Just some things to note, or that could be described in more detail on IESDP.

 

EEs and IWD2:
LeaderOf = Player1 = Protagonist

GroupOf
- in the EEs, this seems to be nearest PC or first PC detected
- in IWD2, doesn't seem to refer to anything

 

 

EEs:
There's an error in the current object.ids page. It says that Player1Fill is the character in the first portrait slot. This is probably copied from the page for the original BG2, but it's incorrect for the EEs (v2.5 and v2.6). Player1Fill seems to be the same as Player1. PartySlot1 to PartySlot6 are for the portrait slots.

Also, in the LastSeenBy() section, it mentions triggers that either set or don't set it. Another one worth adding is the LOS() trigger, which does not set LastSeenBy(). It's easy to assume that it might, especially when the triggers page also suggests that LOS() might be a combination of See() and Range().

 

 

IWD2 - triggers for setting identifiers

LastSeenBy()
- set by See(), Detect()
- not set by Range(), LOS(), Exists(), AnyPCSeesEnemy()

LastMarkedObject
- set by See(), Range(), SetLastMarkedObject()
- not set by Detect(), LOS(), Exists()
- the action MarkObject() also sets this

SpellTarget
- set by the SetSpellTarget() trigger
- not set by other triggers (of the ones listed above)
- despite the name, this can be used for any action, not just spells

MyTarget
- not set by any triggers I tested
- the action SetMyTarget() sets this


Notes:
- According to Cirerrek's Scripting info, LastMarkedObject is also set by Entered(), Clicked(), LOS() and other unnamed triggers. From my testing, LOS() does not set it. Haven't checked Entered() or Clicked(), as they're not for player scripts.

- The action MarkSpellAndObject() does not set either SpellTarget or LastMarkedObject. I didn't do much testing with this, since I don't want my AI using spells, but this action probably works as described in Cirerrek's Scripting info, since it has a large section on it.

- These all share the issue mentioned in my other post on Attack() actions. Attack() seems to autofill the identifier, whereas AttackOneRound() and AttackReevaluate() require the script to set them with a trigger.

Posted

I can confirm most of that. Our code also says:

- LeaderOf returns the actor others are following, so I guess the party formation is important

- GroupOf supposedly returns everyone with the same specifics stat

- I think LastSeen can also be set by some movement actions (MoveToObjectUntilSee)

- LastMarked also by AttackedBy, trap triggering and travel regions, CreateCreature actions (easily testable with mounted goblins in iwd2)

 

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...