Loader
logo

Post reply

Note: this post will not display until it has been approved by a moderator.
Attachments: (Clear attachments)
Restrictions: 4 per post (4 remaining), maximum total size 192 KB, maximum individual size 128 KB
Uncheck the attachments you no longer want attached
Click or drag files here to attach them.
Other options
Shortcuts: ALT+S post or ALT+P preview

Topic summary

Posted by tos1
 - March 26, 2024, 11:17:41 AM


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