Program: 171271
Project: 171271
Buggy source:
@Override public void handleEvent(Event event){
  if (Main.game.getCurrentDialogueNode().getDialgoueNodeType() == DialogueNodeType.CHARACTERS_PRESENT || Main.game.getCurrentDialogueNode().getDialgoueNodeType() == DialogueNodeType.PHONE) {
    return;
  }
  TooltipUpdateThread.cancelThreads=true;
  if (item != null) {
    if (Main.game.getCurrentDialogueNode().getDialgoueNodeType() != DialogueNodeType.INVENTORY) {
      Main.mainController.openInventory();
    }
    if (Main.game.getDialogueFlags().values.contains(DialogueFlagValue.quickTrade)) {
switch (InventoryDialogue.getNPCInventoryInteraction()) {
case COMBAT:
        break;
case FULL_MANAGEMENT:
      break;
case SEX:
    break;
case TRADING:
  break;
case CHARACTER_CREATION:
break;
}
}
 else {
InventoryDialogue.setOwner(owner);
InventoryDialogue.setItem(item);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.ITEM_INVENTORY));
}
}
 else if (clothing != null) {
if (Main.game.getCurrentDialogueNode().getDialgoueNodeType() != DialogueNodeType.INVENTORY) {
Main.mainController.openInventory();
}
InventoryDialogue.setOwner(owner);
InventoryDialogue.setClothing(clothing);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.CLOTHING_INVENTORY));
}
 else if (weapon != null) {
if (Main.game.getCurrentDialogueNode().getDialgoueNodeType() != DialogueNodeType.INVENTORY) {
Main.mainController.openInventory();
}
InventoryDialogue.setOwner(owner);
InventoryDialogue.setWeapon(weapon);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.WEAPON_INVENTORY));
}
 else if (clothingEquipped != null) {
if (Main.game.getCurrentDialogueNode().getDialgoueNodeType() != DialogueNodeType.INVENTORY) {
Main.mainController.openInventory();
}
InventoryDialogue.setOwner(owner);
InventoryDialogue.setClothing(clothingEquipped);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.CLOTHING_EQUIPPED));
}
 else if (weaponEquipped != null) {
if (Main.game.getCurrentDialogueNode().getDialgoueNodeType() != DialogueNodeType.INVENTORY) {
Main.mainController.openInventory();
}
InventoryDialogue.setOwner(owner);
InventoryDialogue.setWeapon(weaponEquipped);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.WEAPON_EQUIPPED));
}
Main.mainController.getTooltip().hide();
}

Fixed version (ground truth):
@Override public void handleEvent(Event event){
  if (Main.game.getCurrentDialogueNode().getDialogueNodeType() == DialogueNodeType.CHARACTERS_PRESENT || Main.game.getCurrentDialogueNode().getDialogueNodeType() == DialogueNodeType.PHONE) {
    return;
  }
  TooltipUpdateThread.cancelThreads=true;
  if (item != null) {
    if (Main.game.getCurrentDialogueNode().getDialogueNodeType() != DialogueNodeType.INVENTORY) {
      Main.mainController.openInventory();
    }
    if (Main.game.getDialogueFlags().values.contains(DialogueFlagValue.quickTrade)) {
switch (InventoryDialogue.getNPCInventoryInteraction()) {
case COMBAT:
        break;
case FULL_MANAGEMENT:
      break;
case SEX:
    break;
case TRADING:
  break;
case CHARACTER_CREATION:
break;
}
}
 else {
InventoryDialogue.setOwner(owner);
InventoryDialogue.setItem(item);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.ITEM_INVENTORY));
}
}
 else if (clothing != null) {
if (Main.game.getCurrentDialogueNode().getDialogueNodeType() != DialogueNodeType.INVENTORY) {
Main.mainController.openInventory();
}
InventoryDialogue.setOwner(owner);
InventoryDialogue.setClothing(clothing);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.CLOTHING_INVENTORY));
}
 else if (weapon != null) {
if (Main.game.getCurrentDialogueNode().getDialogueNodeType() != DialogueNodeType.INVENTORY) {
Main.mainController.openInventory();
}
InventoryDialogue.setOwner(owner);
InventoryDialogue.setWeapon(weapon);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.WEAPON_INVENTORY));
}
 else if (clothingEquipped != null) {
if (Main.game.getCurrentDialogueNode().getDialogueNodeType() != DialogueNodeType.INVENTORY) {
Main.mainController.openInventory();
}
InventoryDialogue.setOwner(owner);
InventoryDialogue.setClothing(clothingEquipped);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.CLOTHING_EQUIPPED));
}
 else if (weaponEquipped != null) {
if (Main.game.getCurrentDialogueNode().getDialogueNodeType() != DialogueNodeType.INVENTORY) {
Main.mainController.openInventory();
}
InventoryDialogue.setOwner(owner);
InventoryDialogue.setWeapon(weaponEquipped);
InventoryDialogue.setBuyBackIndex(buyBackIndex);
Main.game.setResponseTab(1);
Main.game.setContent(new Response("String_Node_Str","String_Node_Str",InventoryDialogue.WEAPON_EQUIPPED));
}
Main.mainController.getTooltip().hide();
}