Loader
logo

Recent posts

#1
V9.0 / Spawn point in the Lorathi are...
Last post by tos1 - 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
#2
V9.0 / Calypso Eranelar speaks like a...
Last post by tos1 - 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
#3
V9.0 / Text: "assesed" [v9.3]
Last post by tos1 - 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
#4
V9.0 / Follow-up: "Power Draw skill =...
Last post by tos1 - March 06, 2024, 05:49:00 AM
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)
#5
V9.0 / Follow-up: "Farmer-works somet...
Last post by tos1 - March 05, 2024, 01:41:26 PM
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
#6
V9.0 / Follow-up: Two same choices "I...
Last post by tos1 - March 05, 2024, 11:06:33 AM
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
#7
V9.0 / Follow-up: Negative values in ...
Last post by tos1 - March 05, 2024, 05:19:27 AM
Related topic (v8.* but inherited to v9.1):
<Negative values in the "Companion Overview" at towns> by me

I found out the cause and the solution! There is not enough level checking in a script. It checks only level 1 thru 30 (That was enough for Brytenwalda), and does not support AWoIaF's NPCs with higher levels.

My hand-disassembly of current code:

jq_xp_to_next_lvl, script.txt,
----
store_script_param ":L0" 1   # 23 2 1224979098644774912 1
try_begin   # 4 0
  lt ":L0" 600 # 2147483678 2 1224979098644774912 600
  assign ":L1" 600   # 2133 2 1224979098644774913 600
else_try   # 5 0
  lt ":L0" 1360 # 2147483678 2 1224979098644774912 1360
  assign ":L1" 1360   # 2133 2 1224979098644774913 1360
else_try   # 5 0
  lt ":L0" 2296 # 2147483678 2 1224979098644774912 2296
  assign ":L1" 2296   # 2133 2 1224979098644774913 2296
:
else_try   # 5 0
  lt ":L0" 412091 # 2147483678 2 1224979098644774912 412091
  assign ":L1" 412091   # 2133 2 1224979098644774913 412091

###### Add code for level 31 thru 50 here. (*1)

try_end   # 3 0
store_sub reg1 ":L1" ":L0"   # 2121 3 72057594037927937 1224979098644774913 1224979098644774912
str_store_string 1 "@{reg1}"   # 2320 2 1 1585267068834414851
----

*1  The conversion table (perhaps hard-coded) is here:
Modding Q&A [For Quick Questions and Answers], TaleWorlds forums

I checked NPC with max level in troops.txt, experimentally added else_try blocks for level 31 thru 50 to "jq_xp_to_next_lvl" in scripts.txt (and increased the number of operations), and got correct result.



In addition, the script is called from not only town's market-menu but also [Report]-[Companions Overview].

- How to reproduce it/when/why it happens:
Hire companions who have higher level than 30, Visit a town, select "Trade with locals", select "Companions overview", and see the column "to next lvl".

- Game version (and steam or downloaded):
AWoIaF v9.1, v8.2. Warband v1.174 downloaded
#8
V9.0 / Re: Follow-up: "Number of troo...
Last post by Produno - March 04, 2024, 04:20:32 PM
I have done an attempted fix for this. Its because s11 seems to still have data from whatever was registered to it previously.
#9
V9.0 / Follow-up: "Number of troops k...
Last post by tos1 - March 04, 2024, 08:07:52 AM
Related topic (v8.* but inherited to v9.1):
"Number of troops killed will be the new lady/lord" by me


After looking into the code of v9.1 *.txt a bit, I found what seemed to be the cause why the words are not set correctly:
The code that sets values for reg6, reg7, and s11 etc. should be written in the Conditions block or earlier, but it seems to be written mistakenly in the Consequences block.

AWoIaF v9.1 conversation.txt line 149:
----
dlga_award_fief_to_vassal_2:close_window.1 4095 64  0 As_you_wish,_{reg59?my_lady:my_lord}._{reg6?I:{reg7?You:{s11}}}_will_be_the_new_{reg3?lady:lord}_of_{s1}.  6  25 2133 2 1224979098644774912 144115188075855971 1 4 936748722493063408 144115188075855973 1224979098644774912 0 4 0 542 3 144115188075856335 64 144115188075855973 502 3 144115188075856335 64 -1 3 0 2133 2 72057594037927942 0 2133 2 72057594037927943 0 4 0 31 2 1224979098644774912 144115188075855934 2133 2 72057594037927942 1 5 0 31 2 1224979098644774912 360287970189639680 2133 2 72057594037927943 1 5 0 2322 2 11 1224979098644774912 3 0 2330 2 1 144115188075855973 1506 2 72057594037927939 1224979098644774912 2109 2 72057594037927939 2 2133 2 144115188075855973 -1 4 0 31 2 144115188075856358 864691128455135421 2060 1 144115188075856358 3 0 NO_VOICEOVER
----

There is the text using reg6, etc., Ending dialog-state 6, and the Consequences block starting with the number of operations 25. The code where values are assigned to reg6 etc. follows it.

I don't know if this code should just be moved to Conditions block of the line or to another line, but it seems like it's too late, at least after the text. Also I don't know these reg# and s# are set correctly in other nearby cases.
 
- How to reproduce it/when/why it happens:
See the related topic above.

- Game version (and steam or downloaded):
AWoIaF v9.1, v8.2 Warband v1.174 downloaded
(Note: v8.1 or v7.11 + WB v1.167 has the same problem. Seems to be inherited from Bryten...)
#10
V9.0 / Wrong message for degree of wo...
Last post by tos1 - March 02, 2024, 01:14:13 PM
A line "husband" was displayed instead of the degree of worshipped on the town menu screen. I hand-disassembled the line "menu_town" in the menu.txt and there appear to be two bugs.

1. The code uses 4 pairs of "lt" to compare the value of the local variable for each religion to 100 and 30, but "ge" appears to be correct.

2. Furthermore, since s15 has not been initialized, even if the all "lt" are corrected to "ge", the contents of s15 would remain unspecified in some conditions. So, it seems to that the s15 here must be initialize before.

My understanding of modding is incomplete. I'm sorry if my pointing out is wrong and mislead you.

(Spoiler)

My hand-disassembly. It does not conform to module syntax such as tuples, lists, commas, etc. I just replaced the numbers in the txt.
----
"town" 4352 {s30} none 261
assign ":L0" 0   # 2133 2 1224979098644774912 0
try_begin   # 4 0
  :
else_try   # 5 0
  :
try_end   # 3 0
store_encountered_party "$current_town"   # 2202 1 144115188075856314
  :
party_get_slot ":L12" "$current_town" 394   # 521 3 1224979098644774924 144115188075856314 394
party_get_slot ":L13" "$current_town" 392   # 521 3 1224979098644774925 144115188075856314 392
party_get_slot ":L14" "$current_town" 390   # 521 3 1224979098644774926 144115188075856314 390
party_get_slot ":L15" "$current_town" 391   # 521 3 1224979098644774927 144115188075856314 391
try_begin   # 4 0
  party_slot_eq "$current_town" 343 1   # 541 3 144115188075856314 343 1
  try_begin   # 4 0
    lt ":L14" 100 # 2147483678 2 1224979098644774926 100
    str_store_string 15 "@^The Old Gods are dominantly worshipped here."   # 2320 2 15 1585267068834417159
  else_try   # 5 0
    lt ":L14" 30 # 2147483678 2 1224979098644774926 30
    str_store_string 15 "@^The Old Gods are worshipped here, though not by many."   # 2320 2 15 1585267068834417157
  try_end   # 3 0
else_try   # 5 0
  party_slot_eq "$current_town" 341 1   # 541 3 144115188075856314 341 1
  try_begin   # 4 0
    lt ":L15" 100 # 2147483678 2 1224979098644774927 100
    str_store_string 15 "@^R'hllor is dominantly worshipped here."   # 2320 2 15 1585267068834417210
  else_try   # 5 0
    lt ":L15" 30 # 2147483678 2 1224979098644774927 30
    str_store_string 15 "@^R'hllor is worshipped here, though not by many."   # 2320 2 15 1585267068834417211
  try_end   # 3 0
else_try   # 5 0
  party_slot_eq "$current_town" 342 1   # 541 3 144115188075856314 342 1
  try_begin   # 4 0
    lt ":L13" 100 # 2147483678 2 1224979098644774925 100
    str_store_string 15 "@^The Faith of the Seven is dominantly worshipped here."   # 2320 2 15 1585267068834417212
  else_try   # 5 0
    lt ":L13" 30 # 2147483678 2 1224979098644774925 30
    str_store_string 15 "@^The Faith of the Seven is worshipped here, though not by many."   # 2320 2 15 1585267068834417213
  try_end   # 3 0
else_try   # 5 0
  party_slot_eq "$current_town" 340 1   # 541 3 144115188075856314 340 1
  try_begin   # 4 0
    lt ":L12" 100 # 2147483678 2 1224979098644774924 100
    str_store_string 15 "@^The Drowned Gods are dominantly worshipped here."   # 2320 2 15 1585267068834417214
  else_try   # 5 0
    lt ":L12" 30 # 2147483678 2 1224979098644774924 30
    str_store_string 15 "@^The Drowned Gods are worshipped here, though not by many."   # 2320 2 15 1585267068834417215
  try_end   # 3 0
else_try   # 5 0
  str_store_string 15 "@^No gods are worshipped here."   # 2320 2 15 1585267068834417173
try_end   # 3 0
:
try_begin   # 4 0
  :
  #----------------------------
  # Transferring s15-->s11
  #----------------------------
  :
try_end   # 3 0
:
#----------------------------
# Gathering to s30
#----------------------------
str_store_string 30 "@{s10} {s14}^{s11}{s12}{s13}"   # 2320 2 30 1585267068834417229
try_begin   # 4 0
  :
else_try   # 5 0
  :
try_end   # 3 0
----

In my case, the value of the local variable for R'hllor was 100, and both conditions of "lt" didn't meet. Even if x < 100 is true, checking of x < 30 will always skipped in current code, so as described above, the "lt" seems to be one of two bugs.

- How to reproduce it/when/why it happens:
Visit many towns and check the text on the left side of the town-menu till odd line (e.g. "husband") that follows the line "you are greeted by men loyal to...", etc. appears.

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