Loader
logo
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - tos1

#1
I hand-disassembled the v9.3's *.txt and found out the cause.

---- Yoren's answer-A (mistakenly displayed when the player asked "How did you come to join ...")
dlga_ramun_ask_about_capturing:ramun_have_blunt_weapon
New to this, aren't ya? Lemme explain it in simple terms. The basic rule of takin' someone prisoner is knockin' 'em down with a blunt weapon, like a mace or a club, rather than cuttin' 'em open with a sword. That way 'em go to sleep for a little while rather than bleeding to death, ya see? I'm assumin' ya've a blunt weapon with ya, {lad/lassie}.
---- Yoren's answer-B (The correct answer)
dlga_ramun_ask_about_capturing:ramun_ask_about_capturing_2
I was young, saw my brother stabbed through the heart right on our doorstep. Weren't much of a villain, the man who stabbed him.
----

As far as I checked, The Starting-dialog-state (2nd parameter in each dialog record) of the answer-B is same with of the answer-A, and the answer-A's condition is true, so the "New to this, ..." would be mistakenly displayed when the player selected "How did you come to join the Night's Watch?".

Both of them are not the player's choice but Yoren's answer, so the line "I was young, ..." will not be displayed unless you change the condition-block of each and add something new appropriate condition for them.

Furthermore, as mentioned above, after Yoren explains the blunt weapon, the conversation continues from the line where the player says "You knew who it was?". It would be correct flow if the answer-A is replaced with the answer-B

- Game version (and steam or downloaded):
AWoIaF v9.3, 9.1. Warband v1.174 downloaded
#2


Related topics:
- "Re: Unmotivated practice melee fighters in arenas" by me. (v8.* but inherited to v9.3)
- "Melee (crowd) fight at arena ends at about 20 fighters left" by me. (v9.*)
- "Follow-up: Bunch of warnings at arena melee fights" by me. (v9.*)

I disassembled all triggers of mst_arena_melee_fight (68 triggers for AWoIaF v9.3, 71 triggers for v7.11) and associated scripts, and temporarily modified the code in my .txt files to check execution path and to test various cases.

The minus number happens because the trigger that does "add_visitors_to_current_scene" operation and the trigger that increases "$g_arena_training_num_agents_spawned" are asynchronous. Both should have to be placed in the same block of the same trigger. (See image below)



(Edited to add a line below)
Note: Both of two other issues (the WARNING and the duplicate count) must be fixed before we invesgate this issue (miscount of remaining opponents). For that, as I wrote in the related topic above, we must remove the loop from (v9.3 mst_arena_melee_fight) trigger 33, add agent_set_slot ":L0" 7 0 before the last try_end in trigger 34, and remove val_add "$g_arena_training_num_agents_spawned" 1 before the last try_end in trigger 37. (Trigger number here is from 0. I don't know true name of the local variable ":L0" here.)

I haven't been able to fully investigate the biggest remaining issue: people who are unmotivated, such as "standing still and staring at each other" and "waiting in line".

I get the impression that "re-setting" team (in order to increase majority-team in the latter half?) by the trigger 34's code (of v9.3) that was not present in v7.11,  does not match the manner for the engine.

In addition,

- I checked troop ID and found that the arena master (as a scene prop?) appears in some try_for_agents loops. He is team 7. It looks like some of the code (e.g. array for the number of team member?) doesn't take into account the team 7, but I haven't looked into that further.

- This mission (of v9.3) has some exact same triggers and I don't see the necessity of doing so (though my understanding of mod system is insufficient): trg 3 = trg 7, trg 8 = trg 40 = trg 49, trg 9 = trg 41 = reg 50, trg 38 = trg 47, trg 39 = trg 48, trg 45 = trg 54, trg 46 = trg 55.

I found an old post (in 2011) on the TW Warband forum Modding Q&A that says something like "If the number of triggers in a mission template exceeds about 60, the engine becomes unstable and may cause condition blocks to be failed.". I don't know if the same can be said for the current mod system.

- Game version (and steam or downloaded):
AWoIaF v9.3 - v9.0, v8.2. Warband v1.174 downloaded
(This minus value doesn't happen in v7.11)
#3
Related topic (v8.* but inherited to v9.3):
"Re: Unmotivated practice melee fighters in arenas" by me

Warning-lines displayed at the beginning of melee fight at arenas. They block the normal message for 20 - 30 seconds.
----
SCRIPT WARNING ON OPCODE 505: Invalid Agent ID: 0; LINE NO 6:
At Mission Template mst_arena_melee_fight trigger no: 33 consequences.
At Mission Template mst_arena_melee_fight trigger no: 33 consequences.
At Mission Template mst_arena_melee_fight trigger no: 33 consequences.
:
----

As I wrote in the self-reply to the thread above on 2023-12-12, it is too early to set all 40 agent slots before they spawn.

I experimentally removed the try-block and moved the "agent_set_slot" operation just before the "try_end" of the next trigger 34's exit, and there seems to be no problem. This prevents the warning from appearing and allows normal messages to be displayed without delay.

(Please note that this does not correct the "unmotivated fighters" I pointed out in the topic above.)

My hand-disassembly:
AWoIaF 9.3  mission_templates.txt  mst_arena_melee_fight

#---- trigger 33 (count from 0)
0.000000, 0.000000, ti_once,
[],
[
eq "$g_mt_mode" 1       # 31 2 144115188075856304 1
assign "$g_arena_training_max_opponents" 40     # 2133 2 144115188075856710 40
assign "$g_arena_training_num_agents_spawned" 0 # 2133 2 144115188075856708 0
assign "$g_arena_training_kills" 0      # 2133 2 144115188075856709 0
assign "$g_arena_training_won" 0        # 2133 2 144115188075856711 0
###################### Remove 3 lines below to fix the warning.
try_for_range ":L0" 0 "$g_arena_training_max_opponents" # 6 3 1224979098644774912 0 144115188075856710
  agent_set_slot ":L0" 7 0      # 505 3 1224979098644774912 7 0
try_end # 3 0
######################
call_script "script_music_set_situation_with_culture" 131072    # 1 2 936748722493063661 131072
],

#---- trigger 34 (count from 0)
ti_on_agent_spawn, 0.000000, 0.000000,
[
eq "$g_mt_mode" 1   # 31 2 144115188075856304 1
],
[
store_trigger_param_1 ":L0"   # 2071 1 1224979098644774912
agent_get_troop_id ":L1" ":L0"   # 1718 2 1224979098644774913 1224979098644774912
try_begin   # 4 0
  eq ":L1" "trp_player"[Player]   # 31 2 1224979098644774913 360287970189639680
  agent_set_team ":L0" 6   # 1771 2 1224979098644774912 6
else_try   # 5 0

:

  agent_set_team ":L0" ":L3"   # 1771 2 1224979098644774912 1224979098644774915
  val_add "$g_arena_training_num_agents_spawned" 1   # 2105 2 144115188075856708 1
  ###################### Add a line below. Probably here is the right place to initialize the slot.
  agent_set_slot ":L0" 7 0      # 505 3 1224979098644774912 7 0
  ######################
try_end   # 3 0
],
#4
Follow-up.
After doing hand-disassembly of v9.3, I've just found the cause.
In the mst_arena_melee_fight, "$g_arena_training_num_agents_spawned" is increased twice in total at trigger 34 and 37 (counted from 0) per spawning.

I don't know if it's okay to simply delete one or the other, but after I experimentally deleted the latter, the number of remaining fighters returned to normal (finishing at about 40).

(Among the other issues above, I have also made progress on the WARNING, so I will write a follow-up on another topic.)

- Game version (and steam or downloaded):
AWoIaF v9.3 - v9.0. Warband v1.174 downloaded
(v8.2 doesn't have the problem)
#5
Related topic:
A pet dog blocks to retreat from battle field

It is about an issue where we cannot use the Tab key to leave the battle field when the pet dog is nearby. I disassembled the code and have just found out the cause and the solution.

Current code (v9.3)
---- cf_check_enemies_nearby in script.txt
get_player_agent_no ":L0"   # 1700 1 1224979098644774912
agent_is_alive ":L0"   # 1702 1 1224979098644774912
agent_get_position 1 ":L0"   # 1710 2 1 1224979098644774912
assign ":L1" 0   # 2133 2 1224979098644774913 0
set_fixed_point_multiplier 100   # 2124 1 100
try_for_agents ":L2"   # 12 1 1224979098644774914
  neq ":L2" ":L0"   # 2147483679 2 1224979098644774914 1224979098644774912
  agent_is_alive ":L2"   # 1702 1 1224979098644774914
  agent_is_human ":L2"   # 1704 1 1224979098644774914
  agent_is_ally|neg ":L2"   # 2147485354 1 1224979098644774914
  this_or_next|neq "$wolf_companion" 1   # 3221225503 2 144115188075855957 1
  this_or_next|neq "$dog_companion" 1   # 3221225503 2 144115188075855959 1
  this_or_next|neq ":L2" "$player_wolf_agent_no"   # 3221225503 2 1224979098644774914 144115188075856612
  neq ":L2" "$player_dog_agent_no"   # 2147483679 2 1224979098644774914 144115188075856614
  agent_get_position 2 ":L2"   # 1710 2 2 1224979098644774914
  get_distance_between_positions ":L3" 1 2   # 710 3 1224979098644774915 1 2
  lt ":L3" 1000   # 2147483678 2 1224979098644774915 1000
  assign ":L1" 1   # 2133 2 1224979098644774913 1
try_end   # 3 0
eq ":L1" 0   # 31 2 1224979098644774913 0
----

Currently, the code block for dog/wolf is OR of 4 conditions, so when loop variable L2 is the pet dog agent and there is no wolf in the party, it badly proceed to the distance check.

A correct logic should be:
"if (A and B) or (C and D) then skip to next agent"
As you know, if we write this as code as is, we will need to add variables and registers for flags, so let's convert it to "not( AND of not(OR)s )" using De Morgan's law:
"if not ( (not A or not B) and (not C or not D) ) then skip to next agent"
In other words,
"if (not A or not B) and (not C or not D) then check distance"

I don't know if we can have the dog and wolf in the party at the same time, but that case also should cause no problem at the last logic above. That's because the loop variable ":L2" cannot represent two agents at the same time and "if (not TRUE or not TRUE) and (not TRUE or not TRUE)" never happen even if both animal is in the party.

In conclusion, it is necessary to add a try-block as shown below, and the judgement of "$player_wolf_agent_no" must be "neq" immediately after "$wolf_companion", and the 4 judgements and the distance checking must be in the newly added try-block.

A correct code.
---- cf_check_enemies_nearby in script.txt
get_player_agent_no ":L0"   # 1700 1 1224979098644774912
agent_is_alive ":L0"   # 1702 1 1224979098644774912
agent_get_position 1 ":L0"   # 1710 2 1 1224979098644774912
assign ":L1" 0   # 2133 2 1224979098644774913 0
set_fixed_point_multiplier 100   # 2124 1 100
try_for_agents ":L2"   # 12 1 1224979098644774914
  neq ":L2" ":L0"   # 2147483679 2 1224979098644774914 1224979098644774912
  agent_is_alive ":L2"   # 1702 1 1224979098644774914
  agent_is_human ":L2"   # 1704 1 1224979098644774914
  agent_is_ally|neg ":L2"   # 2147485354 1 1224979098644774914
  try_begin   # 4 0
    this_or_next|neq "$wolf_companion" 1   # 3221225503 2 144115188075855957 1
    neq ":L2" "$player_wolf_agent_no"   # 2147483679 2 1224979098644774914 144115188075856612
    this_or_next|neq "$dog_companion" 1   # 3221225503 2 144115188075855959 1
    neq ":L2" "$player_dog_agent_no"   # 2147483679 2 1224979098644774914 144115188075856614
    agent_get_position 2 ":L2"   # 1710 2 2 1224979098644774914
    get_distance_between_positions ":L3" 1 2   # 710 3 1224979098644774915 1 2
    lt ":L3" 1000   # 2147483678 2 1224979098644774915 1000
    assign ":L1" 1   # 2133 2 1224979098644774913 1
  try_end   # 3 0
try_end   # 3 0
eq ":L1" 0   # 31 2 1224979098644774913 0
----

After experimentally editing the relevant part of the txt file as shown above, I tried Tab key in cases below and found no problem:
"Only the dog is nearby", "Dog and ally soldier are nearby", "Only enemy soldiers are nearby", "Dog and enemy soldiers are nearby", "Only ally soldiers are nearby", "No one is nearby".

I haven't tried the case where both the dog and wolf are in the party at the same time.

- How to reproduce it/when/why it happens:
Play until you get the pet dog or pet wolf, start a battle, hit Tab key when the dog is near the player. Try that also for all conceivable cases.

- Game version (and steam or downloaded):
AWoIaF v9.3, Warband v1.174 downloaded
(Note: v8.* and v7.11 has the same logic in the script.)
#6
V9.0 / Fatal hole in Lorathi arena
March 30, 2024, 08:14:49 PM
I don't know if it was intentional, but the small triangular hole along the wall opposite to the big door in the Lorathi arena is so deep that the player character can't get out if falls into it.



- How to reproduce it/when/why it happens:
Visit "Lorath", "Visit the training grounds", start melee (crowd) fight. Walk to the point farthest from the big door, search for the hole nearby (one of 2 holes), and dive into it.

- Game version (and steam or downloaded):
AWoIaF v9.3, v8.2. Warband v1.174 downloaded
#7
V9.0 / Sticky wooden deck in Storms End's arena
March 30, 2024, 08:11:04 PM
When the player character (and also other agents?) comes into contact with the covered wooden deck (where the tournament master is standing) at the end near the castle, she/he gets stuck and cannot escape from it.

(We may have a chance to escape by taking a screenshot using Ctrl Insert.)



- How to reproduce it/when/why it happens:
Visit "Storms End", "Visit the training grounds", start melee (crowd) fight (or "Join the competitions" if a tournament is being held). Walk and contact with the wooden stage.

- Game version (and steam or downloaded):
AWoIaF v9.3, v8.2. Warband v1.174 downloaded
#8
(Spoiler)

In the quest "A Lannister always pays his debts" from Beric Dondarion at Hollow Hill:
1. It's hard that the player remembers the need for a book from the Beric's words "You lying ..." and the quest text "Beric Dondarrion has asked ...". (Especially when there was a real-week playing gap between accepting the quest and the battle.) Both texts should include words for the book.
2. The speaker of "You lying ..." and "The only one ..." must be Beric.



Related lines:

Quest
---- ### The book should be mentioned here.
qst_relic_text|Beric Dondarrion has asked you to despatch a Lannister raiding party that has been reported pillaging the villages around Hollow Hill. Once completed, you must return to Beric.
----

Dialog
----
dlga_start:relic_find_question
Have you dispatched the Lannister raiding party yet?
----
dlga_relic_find_question:relic_znaleziona
Yes! They all lie slaughtered. They won't be causing any more problems around here.
----
dlga_relic_find_question:close_window
No, not yet.
----
dlga_relic_find_question:relic_cannot_complete
I am afraid I have failed. They managed to escape.
----

----
dlga_relic_znaleziona:close_window
Excellent! I've something a little different as your reward, {playername}. This book you recovered, It's extremely valuable and now it's yours. Feel free to sell it if you don't want to keep it for yourself.
----

---- ### The book should be mentioned here, and ### the speaker must be Beric.
dlga_relic_znaleziona:close_window.1
You lying bastard! You remember me saying, 'We've been watching you'?!
----

---- ### The speaker must be Beric.
dlga_relic_cannot_complete:close_window
The only one that has failed is me, thinking someone like you would have been able to succeed in the first place.
----

- How to reproduce it/when/why it happens:
Visit Beric Dondarrion, accept the quest, find the enemy, and fight. Test all combinations (a) x (b); (a) Return with the book / without the book (*1), (b) Select "Yes! They all lie ... " / "I am afraid I ...". Check the dialog text and the quest text. Check the speaker of "You lying ..." and "The only one ...".

*1  To make the situation "without the book", fill up the inventory before the fight or abandon/sell the book after the fight.

- Game version (and steam or downloaded):
AWoIaF v9.3, Warband v1.174 downloaded
#9


The image above is of AWoIaF v8.2 but the code seems to be unchanged for v9.3.

As long as I did disassemble the code in the script dplmc_troop_political_notes_to_s47, it seems that the initialization for s45 is possibly not done before it is used for s47.

----
  str_store_string 47 "str_s46s45s44s48[{!}{s46}{s45}{s44}{s48}]"   # 2320 2 47 216172782113786834
----

s45 is set only while the try_for_range loop (from 35 to < 38) as the 71st (from 0) operation in the script. When the two str_store_string here are skipped, s45 (global scope AFAIK) retains an old value before coming to this script.

----
    try_for_range ":L5" 35 38   # 6 3 1224979098644774917 35 38
      troop_get_slot ":L6" ":L0" ":L5"   # 520 3 1224979098644774918 1224979098644774912 1224979098644774917
      is_between ":L6" "trp_knight_1_1_wife"[Error_-_knight_1_1_wife_should_not_appear_in_game] "trp_heroes_end"[{!}heroes_end]   # 33 3 1224979098644774918 360287970189640928 360287970189641170
      str_store_troop_name 39 ":L6"   # 2322 2 39 1224979098644774918
      call_script "script_troop_get_relation_with_troop" ":L0" ":L6"   # 1 3 936748722493063679 1224979098644774912 1224979098644774918
      str_store_string 45 "str_dplmc_s40_love_interest_s39[{s40}. Aside from that his love interest is {s39}.]"   # 2320 2 45 216172782113788301
      try_begin   # 4 0
        troop_slot_eq ":L0" 34 ":L6"   # 540 3 1224979098644774912 34 1224979098644774918
        str_store_string 45 "str_dplmc_s40_betrothed_s39[{s40}. Aside from that he is betrothed to {s39}.]"   # 2320 2 45 216172782113788302
      try_end   # 3 0
    try_end   # 3 0
----

It seems that two sub scripts called from it also don't set s45.
----
call_script "script_troop_get_relation_with_troop" ":L0" ":L4"   # 1 3 936748722493063679 1224979098644774912 1224979098644774916
call_script "script_troop_get_relation_with_troop" ":L0" ":L6"   # 1 3 936748722493063679 1224979098644774912 1224979098644774918
call_script "script_troop_get_relation_with_troop" ":L0" ":L2"   # 1 3 936748722493063679 1224979098644774912 1224979098644774914
----
call_script "script_calculate_troop_political_factors_for_liege" ":L0" ":L2"   # 1 3 936748722493063676 1224979098644774912 1224979098644774914
----

I haven't looked into the details of whether the castle menu uses s45 to display the "Manage this castle".
----
qstr_Manage_this_{reg0?to
Manage this {reg0?town:castle}
----

Other related parts.
----
str_dplmc_reputation_upstanding
It is said that {s46} is an upstanding person.
----
str_dplmc_relation_mnus_30_ns
{reg4?She:He} seems to be resentful against {s59}.
----

- How to reproduce it/when/why it happens:
Play as an independent faction, attack and get a enemy's castle. Hire the Master of Whisperers, visit the castle, meet him, select "I require information about a lord.", "The Vale", and "Lord Brynden Tully" (or "Lord Edmure Tully"). Repeat the visiting till unexpected text inserted after the first sentence.

- Game version (and steam or downloaded):
AWoIaF v9.3, v8.2. Warband v1.174 downloaded
#10
V9.0 / Spawn point in the Lorathi arena
March 18, 2024, 03:42:55 PM
During melee fights (crowd) in the arena of Lorath, some participants are trapped behind a large door and cannot enter into the arena, forcing the player to abort the fight using the Tab key. Sometimes also the player character is trapped at the initial random position. Either the spawn point is at wrong position or the closed door is wrong.

As I observed, the participants who were lucky enough to enter the arena seemed to pop out from within the wall near the door.



- How to reproduce it/when/why it happens:
Visit Lorath, visit the arena, take part in melee (crowd) fight, stand near the large door, face it, observe the wall in your left, and wait (i.e. fight) until participants emerge from the wall. As you repeatedly do the fight, there is a chance that you will see a participant or your character trapped on the other side of the door.

- Game version (and steam or downloaded):
AWoIaF v9.3, Warband v1.174 downloaded
#11
V9.0 / Calypso Eranelar speaks like a narrator
March 18, 2024, 02:37:06 PM
When the player won against Calypso Eranelar's army and caught him, he says the sentences something like a narration. It should either the speaker (i.e. Dialogue partner) or text be wrong (unless it's intentional that he calls himself Calypso Eranelar).
----
dlga_start:close_window.52
You and your valiant warriors have crushed the army led by the High Bearded Priest Calypso Eranelar!    ^^It is up to you to decide the fate of Calypso Eranelar.
----

(Spoiler)
- How to reproduce it/when/why it happens:
Prepare enough soldiers and money, make Calypso Eranelar angry by doing something, fight against his army. Repeat till you win. (Sometimes he runs away after a really long fight. If he ran away, you will have to start the battle all over again.). He says the sentences above "You and your valiant warriors...".

- Game version (and steam or downloaded):
AWoIaF v9.3, Warband v1.174 downloaded
#12
V9.0 / Text: "assesed" [v9.3]
March 07, 2024, 08:51:11 AM
quick_strings
----
qstr_You_must_gather_a_sm|You must gather a small force and possibly a Valyrian weapon and scout deep within the lands of always winter. Return to the Lord Commander once you have interacted with and assesed the threat.
----

- Game version (and steam or downloaded):
AWoIaF v9.3, Warband v1.174 downloaded
#13
Related topic (v8.* but inherited to v9.1):
"Power Draw skill = 0 in Companions overview (details page)" by me

Not only "Power Draw" but also "Persuasion" and "Entertainment" are wrong. I hand-disassembled the *.txt and found out the cause and the solution.



As shown in the image above,
- In case that via the [P] key (party member list) we ask a specific companion about their skills, the correct value appears to be displayed, as it seems to be hard-coded.
- In case of companions overview (Market menu or Report menu), "Power Draw", "Persuasion", and "Entertainment" are wrong.
- The code that cause the problem is a try_for_range_backwards in jq_brows (scripts.txt)

My hand-disassembly for a part of it:
try_for_range_backwards reg1 0 37  # 36, 35, 34, ... 1, 0
  is_between|neg reg1 3 4    # other than 3
  is_between|neg reg1 5 8    # other than 5, 6, 7
  is_between|neg reg1 21 22  # other than 21
  is_between|neg reg1 29 34  # other than 29, 30, 31, 32, 33
  store_skill_level reg2 reg1 "$jq_dude"
  str_store_string 1 "@{s1}^{reg2}"
  overlay_set_text "$jq_allskills" 1
try_end

The four ranges should be corrected as the solution below;
2 3    # other than 2
4 7    # other than 4, 5, 6
21 22  # other than 21
28 33  # other than 28, 29, 30, 31, 32

By doing this (solution), the set of numbers used as skill will correctly change as below.
(I don't have header_skills.py of AWoIaF, and use the file of Module system 1.171 instead. I experimentally checked (cut-and-tried) and understand that "skl_reserved1 = 3" is assigned for the "Entertainment" skill of AWoIaf.)
# v9.1  correct
  36    36
  35    35
  34    34
  28    33 <--
  27    27
  26    26
  25    25
  24    24
  23    23
  22    22
  20    20
  19    19
  18    18
  17    17
  16    16
  15    15
  14    14
  13    13
  12    12
  11    11
  10    10
   9     9
   8     8
   4     7 <--
   2     3 <--
   1     1
   0     0

- How to reproduce it/when/why it happens:
Hire several companions, take screen shots their skill by asking from [P] (party member list) as true values. Visit a town, select "Trade with locals" - "Companions overview", or "Report" - "Companions Overview" at the world map. Select each companion you have, and compare the "Power Draw", "Persuasion", and "Entertainment" skills with the true value.

- Game version (and steam or downloaded):
AWoIaF v9.1, v8.2. Warband v1.174 downloaded
(Note: v8.1 + WB v1.167 has the same problem. v7.11 + WB v1.167 has no problem)
#14
Related topic (v8.1 but inherited to v9.1):
"Farmer-works sometimes gives me not food but Village's name" by me

Recurred on v9.1. After a farmer work, the village name is displayed as the gained item and actually a sack of grain was added to inventory.

On the other hand, bottom-left messages "You got 16 experience." and "Got 1 Sack of Grain" were correctly displayed.



- How to reproduce it/when/why it happens:
Visit a village, select "Perform some very basic work for the village (be a farmer)." and "Yes I am sure.", repeat the basic work several times till the village name is displayed as the gained item.

- Game version (and steam or downloaded):
AWoIaF v9.1, Warband v1.174 downloaded
AWoIaF v8.1, Warband v1.167 downloaded
#15
Related topic (v8.* but inherited to v9.1):
<Two same choices "I guess the Lannisters..."> by me

I checked the code in .txt and probably found the solution.

There are 3 choices in mno_find_raven_choice_1. Each of them sets a global variable "$quest_b_and_b" into 1, 3, or 2. In case of this "Throw away the letter...", the value is 3, and the line in menus.txt seems to be right.

After that, the poacher who caught up the player character says:
---- conversation.txt
dlga_poachers_introduce:poachers1 4095 2694  0 Oi,_you!_It_was_us_that_got_that_bird,_now_give_it_back,_or_else!  2695  0 NO_VOICEOVER
----

The ending dialog-states 2695 above links to each of 4 lines below that has 2695 as the starting dialog-state. These can be candidates of player's choice.

----
dlga_poachers1:poachers1_attack 69631 2695  0 I_guess_the_Lannisters_have_put_a_pretty_penny_on_each_raven_shot_out_the_sky?  2696  0 NO_VOICEOVER
dlga_poachers1:poachers1_attack1 69631 2695  1 31 2 144115188075856574 1 Ok_here_take_it!_Not_something_I_want_to_be_involved_in_anyway.  2697  0 NO_VOICEOVER
dlga_poachers1:poachers1_attack2 69631 2695  1 31 2 144115188075856574 2 Ok_here_take_it!_Not_something_I_want_to_be_involved_in_anyway.  2698  0 NO_VOICEOVER
dlga_poachers1:poachers1_attack3 69631 2695  1 31 2 144115188075856574 3 I_guess_the_Lannisters_have_put_a_pretty_penny_on_each_raven_shot_out_the_sky?  2699  0 NO_VOICEOVER
----

Only the first line in above has no condition block. Other 3 lines checks if "$quest_b_and_b" is 1, 2, or 3. The value of global variable is 3 in the "Throw away..." case, so the 1st and 4th line is displayed as actual player's choices. As a result, they are the two same text "I guess the Lannisters ...".

Therefore, the text in the 4th line (dlga_poachers1:poachers1_attack3) is probably the bug, and it should be replace with the same text with 2nd and 3rd ("Ok here take...").

Their next destinations 2687, 2698, 2699 seem to be correct.

I experimentally corrected the text to "Ok here take..." and got the expected behavior.



- How to reproduce it/when/why it happens:
Start a new game from Westeros, walk a few days till pick the letter (with 3 choices; Take/Throw/Take), select "Throw away...", meet the appeared poachers.

- Game version (and steam or downloaded):
AWoIaF v9.1, v8.2. Warband v1.174 downloaded