Jump to content

PickPocketFailed()


Salk

Recommended Posts

Hello!

Anyone has some experience with this trigger?

 

IESDP reports it to be not working on non EE engine but ToBEx should supposedly restore its functionality.

Enable PickpocketFailed Trigger=1

My tests were negative though so I wonder if there is something I am missing?

 

Thanks!

Edited by Salk
Link to comment

An alike thing that is not entirely related...
Look at Rogue Rebalance v4.91's rr/lib/thvry.tph -file, and rows, 119 onwards... well, it's actually a part of a larger action_for_each from above, but that's besides the point.

  ACTION_IF FILE_EXISTS_IN_GAME ~%file%.bcs~ BEGIN
    COPY_EXISTING ~%file%.bcs~ ~override~
    // ===============================================================================
      PATCH_IF SOURCE_SIZE > 0x01 BEGIN
        DECOMPILE_AND_PATCH BEGIN
          REPLACE_TEXTUALLY EXACT_MATCH ~StealFailed([ANYONE])~ ~False() StealFailed([ANYONE])~ // Disable the default anti-steal script block
        END
      END
    BUT_ONLY
    EXTEND_TOP ~%file%.bcs~  ~RR/RR_CORE/COMPILE/RR#STEAL.BAF~                         // extend the script with the new anti-steal behaviour
    // ===============================================================================
  END
END

It also has this in rr/rr_core/compile/pickp.baf:

IF
	PickPocketFailed([PC])
	Allegiance(Myself,NEUTRAL)
	General(Myself,HUMANOID)
	!StateCheck(Myself,CD_STATE_NOTVALID)
	See(LastTrigger)
	!Allegiance(LastTrigger,FAMILIAR)
THEN
	RESPONSE #100
		StartDialogOverride("RR#PICKP",LastTrigger)
END

... so ...

Link to comment

I know it works. One thing that may be tripping you up is that it's an instant trigger like OnCreation or Die--it's only true in the immediate script cycle after it occurs. You can't even pass it along as a dialogue trigger because it will have expired.

Link to comment

Yes, I read about it being an instant trigger but I did test it in dplayer2.bcs:

With ? As the code has to be extended into it, it doesn't just pop up. And you are sure that's the FIRST script term in the whole of the script. Besides the dplayer2.bcs is not the override script. So maybe it never got to be excecuted.

And why the reverse order ?

Link to comment

 

It seems the EE engine uses the SLTSTEAL.2DA file to set the difficulty for pickpocketing but what does the old engine uses?

 

Target's pickpocket value, I think?

 

EE also checks the target's pickpocket value.

The difference is, the old engine either disabled or enabled certain slots while the EE allows setting a difficulty adjustment for the slots.

Link to comment

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...