Dan_P Posted December 4, 2021 Posted December 4, 2021 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. Quote
lynx Posted December 5, 2021 Posted December 5, 2021 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) Quote
Recommended Posts
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.