KOTORCommunityPatches / K1_Community_Patch

K1 Community Patch
62 stars 8 forks source link

Korriban Sith Academy - Mandalorian prisoner interrogation issues #434

Closed Salk73 closed 1 year ago

Salk73 commented 4 years ago

See video: https://youtu.be/FEzbpCh53ic?t=138

Edited to be more concise - DP

Additional issues:

Further issues from Salk:

Salk73 commented 4 years ago

I solved it by giving a new spawning position to the prisoner and by jumping the party when the computer is used to make sure the Player is close enough to the console.

I found that camera 5 worked well at E2 and E3.

If you want my changes I will report them here.

Additionally I took a look at the script that checks computer skill to determine failure or success (p_kor_computer.ncs) and it seems to me unnecessarily convoluted. I made a much simpler version, making sure that if the Player fails, there won't be another chance to do it again (it doesn't make any sense).

I will share anything that may be considered of any interest to K1 CP.

Cheers!

DarthParametric commented 1 year ago

Per this report, apparently there are still some issues.

@Salk73: To debug the conversation not starting, you may want to create an armband that can run arbitrary script commands and pipe the results to the feedback window. Check if the torturer is commandable or not.

Salk73 commented 1 year ago

I have not yet built an armband for this specific purpose but I did add this to the script:

void CheckCommandable(object oPC, object oTorturer) {
  if (GetCommandable(oTorturer)) {
    SendMessageToPC(oPC, "Torturer is commandable!");
  }
  else {
    SendMessageToPC(oPC, "Torturer is NOT commandable!");
  }
}

...

DelayCommand(0.5, CheckCommandable(oPC, oTorturer));

I tested it several times and in each case (no matter whether the conversation triggered) the torturer was always commandable. I delayed the check to match the exact time the conversation should start. I guess that is not it.

DarthParametric commented 1 year ago

I never encountered a problem with it firing despite numerous trigger enters over the course of two days of development and testing.

You can try editing the trigger OnEnter itself to ping the feedback screen with whether or not it is passing the initial object and local boolean check.

Salk73 commented 1 year ago

The trigger does fire each time. It's the conversation that does not.

DarthParametric commented 1 year ago

Well I wasn't able to reproduce it on my end. So in the absence of actionable evidence I'm going to conclude this is an issue on your end unless something turns up during beta testing later this year.

Salk73 commented 1 year ago

Yes, I agree.

If I find out anything at all, I'll let you know.

Thanks for the assistance.

DarthParametric commented 1 year ago

I assume reverting to the vanilla script prevents it failing to initiate? If so, one last thing you can try is switching:

DelayCommand(0.5, AssignCommand(oTorturer, ActionStartConversation(oPC, "", FALSE, CONVERSATION_TYPE_CINEMATIC, TRUE)));

back to the vanilla script's:

DelayCommand(0.5, UT_NPC_InitConversation("kor35_torturer", "", OBJECT_INVALID));

albeit with the addition of a delay to cover the party jump.