A World of Ice and Fire Forums

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

Topics - tos1

#1
Related topic:
Text: STR/INT attr. for Inventory Mng. in v8.* by me.

The topic above is locked but "Inventory Management" is not displayed in the explanation of STR even at v9.4. The cause is that the engine does not read the 1st line of en/ui.csv (and of some other languages).



I experimentally added a new line before the ui_explanation_strength in the first line of en/ui.csv, then the "Inventory..." is expectedly displayed. The dummy line seem to be needed for some other languages like French, but ja/ui.csv doesn't require it. I don't know the reason.

- Game version (and steam or downloaded):
AWoIaF v9.4, Warband v1.174 downloaded
(AFA I checked using mod system 1.171 + former Warband v1.167 also skips the 1st line of en/ui.csv)
#2
After improved twice, the choice "I would like to land my ships here next to this settlement." for the first time. The player cannot know that ships is landable till improve twice, and can't have a strategy for whether or not to build the first and only settlement near the sea (or rivers leading to the sea).



- Game version (and steam or downloaded):
AWoIaF v9.4, Warband v1.174 downloaded
#3
Original topic:
Practice at a personal settlement ends oddly in v8.* by me.

Related topic:
Training does not progress at North's training village in v9.* by me.

I expected the solution for the "Training does not..." above also resolves this "ends oddly", but it doesn't.

After I patched unnecessary scn_training_ground_ranged_melee_2 | entry(6) of trp_lair_master_at_arms in troops.txt into 0 and starting New Game, the scene of "Training Village" (note: it's a unique name) in North region is (as I expected) not used. However the guy named "{!}multiplayer end" appeared again after I knocked down the 1st opponent, and the practice ended.



If there is a practice field scene for (private) settlement prepared, it will have to be specified to the scene record (but I'm experimentally specifying it as 0 as wrote in the related topic above)

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


After the 1st improvement of a (private) settlement, the "Hire staff" screen shows that s "Religious Figure" has been already hired. When the player clicked the choice, selected the same person who was initially displayed, and clicked "Accept" button, the cost is paid. It seems to be inconsistent between the displayed information and actual state about whether already-hired or not.

In addition, the player cannot know the cost till it is paid.

- Game version (and steam or downloaded):
AWoIaF v9.4, Warband v1.174 downloaded
#5
V9.0 / Settlement downgrades
July 06, 2024, 02:59:05 PM
The player can improve a (private) settlement twice. I did that but downgraded. When the 1st improvement was done, it was wide, had pedestrian deck for sentries just within the wall, and Master at Arms stands there. After 2nd improvement, the settlement became narrow, the deck disappeared, and Master at Arms stood outside of the wall.



AFA I checked, after each building term, each of two simple triggers sets slot 396 of the Settlement to 2 if it's 1, and to 4 if it's 3.

On the other hand, when the player selected "Take a walk around your settlement" in the settlement menu, its code reads the slot 396 to decide scene. If the value of the slot is 4 then scn_player_hideout_5, if 3 then scn_..._4, ..., if 1 then scn_..._2, else scn_..._1 is used.

So, scn_player_hideout_3 is used after the 1st improvement, and scn_player_hideout_5 is used after the 2nd improvement.

I experimentally entered each scene from report menu. As the screen shots above, scn_player_hideout_3 is the most rich, so actually in game, the settlement degrades from scn_player_hideout_3 to scn_player_hideout_5.

- Game version (and steam or downloaded):
AWoIaF v9.4, v8.2. Warband v1.174 downloaded
#6
Releted topics:
- Reward of the kidnapped girl quest in v8.* by me.
- "Rhaesh Loy", outlaw/bandit/clansman says in V9.* by me.
- Follow-up: "Number of troops killed will be the new lady/lord" in V9.* by me.

As I wrote few days ago in the "Number of troops ..." topic above:
----
I assumed that the Consequences block would be executed after the text was displayed, but I was wrong. I confirmed the text is displayed after both Conditions and Consequences blocks are executed.
----

Using display_message, I confirmed that reg8 is constantly 1 in the displayed dialog text (below) at rewarded for qst_kidnapped_girl quest though both Conditions and Consequences blocks are executed and reg8 is set correctly. (To test this, I temporarily changed scripts.txt so that the mayor requests always this quest, as described later.)

----
dlga_mayor_begin:close_window.1
{playername} -- I am in your debt for bringing back my friend's daughter. Please take these {reg8} silver stags that I promised you. My friend wished he could give more but paying that ransom brought him to his knees.
----

One of solutions is replace reg8 (both in assign ope and in the text) in dlga_mayor_begin:close_window.1 with reg9. CAUTION: This change affects all translation files i.e. languages/*/dialog.csv.



- How to reproduce it/when/why it happens:
(How to force this quest: scripts.txt -> get_quest -> search and remove 5th and 6th operations that use local variable 35 (count from 0. It's ":quest_no" in mod system v1.171). The opes are check_quest_active|neg ":L35" and quest_slot_ge|neg ":L35" 25 1. Add 1 ope, assign ":L35" "qst_kidnapped_girl"[Ransom Girl from Bandits] there.)
Visit a town, meet the mayor, and select "Do you happen to have a job for me?". If above patch was done, the mayor constantly gives the player character the quest qst_kidnapped_girl. Do the job and return to the mayor.

- Game version (and steam or downloaded):
AWoIaF v9.4, v8.2. Warband v1.174 downloaded
(Probably earlier versions also have the same problem)
#7
V9.0 / Horse modifier values are contradict
July 03, 2024, 11:40:33 AM
Horse speed and maneuverability values are inconsistent with the modified difference (in blue text when mouse-hovered). One of them (white value and blue value) should be incorrect. Below are just some examples. There may be more.



- Game version (and steam or downloaded):
AWoIaF v9.4, Warband v1.174 downloaded
(Perhaps since at the latest AWoIaF v7.11?)
#8
Related topic:
Prelude, "CREDITS and CONTRIBUTIONS" is displayed from halfway. in V8.* by me.



I hand-disassembled the code and found that the cause is the scroll starting position. Currently the value passed to position_set_y for the last overlay_animate_to_position is -1100. Changing this to e.g. -2100 resolves the scroll-from-halfway problem.

This will reveal some sentences that have been HIDDEN from ANY PLAYER except translators since v7.11 or earlier:
----
The Dothraki take what they need through pillage and plunder and are said to dis-trust the oceans because their horses will not drink from it. Rape is rife in these parts and one would do well to stay well away...^^Welcome to the Game of Thrones and lets hope your adventures lead to better ends than that of most folk within the continents of Westeros and Essos!^^^CREDITS......(and first 11 or 12 lines)
----

I was also concerned about TOO LONG DURATION for most texts and the IRREGULAR fade-in/fade-out durations, and adjust them. For reference, I experimentally changed values for "gt" operations in my environment as below:

A World of Ice and Fire^^^^^^   If you wish... (3 lines)
  5500 ->   5500
  7000 ->   7000
Westeros, Dark times has befell this... (4 lines)
 27000 ->  15000
 29500 ->  16500
To the north of this vast continent is... (11 lines)
 50000 ->  36000
 51500 ->  37500
In order to bolster their influence... (6 lines)
 63500 ->  47500
 65000 ->  49000
Located in the Vale, an isolated... (5 lines)
 85000 ->  57000
 87000 ->  58500
Heading south Lord Mace Tyrell,... (3 lines)
107500 ->  65500
109000 ->  67000
King of Salt and Rock, Son of... (8 lines)
129000 ->  85000
131500 ->  86500
This turmoil continues past the... (3 lines)
150500 ->  93500
152000 ->  95000
A Game of Thrones is a TV series (6 lines)
190000 -> 104000
191500 -> 105500
The Dothraki take what...Welcome to the...CREDITS...
240500 -> 175500

Incidentally, currently the presentation is terminated with a click, but this is not convenient for both players and developers/testers. It would be better to move from the displayed text to the next text, so (if you haven't done so already) I recommend that you define the value passed to "gt" operations as a Python tuple or list (including several constants) rather than a literal at the top of module_presentations.py like:

fade1 = 1500
#----
story_t1 = 5500
story_t2 = story_t1 +  4000
story_t3 = story_t2 + 11000
story_t4 = story_t3 + ...     # (Or these lines also should be a tuple like (5500, 4000, 11000, ...).)
  :
#---- (If previous lines are set in a tuple, below could be made dynamically)
story_durations = [
 story_t1, story_t1 + fade1,
 story_t2, story_t2 + fade1,
 ... ]

This should make it easier to write the code to jump to the next text by incrementing the sequence number of the currently displayed text.


- Game version (and steam or downloaded):
AWoIaF v9.4, v8.2. Warband v1.174 downloaded.
AWoIaF v8.1, v7.11.Warband v1.167 downloaded.
#9
V9.0 / "Rhaesh Loy", outlaw/bandit/clansman says
July 02, 2024, 08:29:25 AM
When the player character met a group of Northern Clansman and challenged to fight, the opponent said the village name "Rhaesh Loy". In some case of other enemies (but not lord), it happens after the player char payed once.

Strangely enough, the related code (dlga_bandit_attack:close_window in conversation.txt) seems to be correct. It must display one of s11 - s14 after doing below.

My hand-disassembly:
----
store_random_in_range ":L0" 11 15
str_store_string 11 "@Another fool come to throw {reg59?her:him}self on my weapon, eh? Fine, let's fight!"
str_store_string 12 "@We're not afraid of you, {reg59?wench:sirrah}. Time to break some heads!"
str_store_string 13 "@That was a mistake. Now I'm going to have to make your death long and painful."
str_store_string 14 "@Brave words. Let's see you back them up with deeds, cur!"
str_store_string_reg 5 ":L0"
----

AFA I added display_message just after above and checked, s5 is correctly set at the conversation timing, but the opponent says "Rhaesh Loy".

- It happens even just after started the new game before the first game-save, so saving game doesn't affect it (though the "Rhaesh Loy" is saved actually).

- The {!} doesn't affect the result. However, it must be removed to keep translation works:
What is {!} for in module_dialogs, Modding Q&A, TW forum.


- Replacing s5 (for str_store_string_reg and {s#}) to s6 resolves the issue, but I don't know why so and why suddenly AWoIaF had the issue at v9.4. Native (made from mod system 1.171) has similar code using s5.







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


I tried from a few saved data one or two in-game days before the Craster's Keep quest is triggered, and his hair unstably disappeared 4-5 times out of 10. In case I saved the game just before (about 0.5 days?) or after the quest accepted, the state seems to be kept. I don't know the issue has existed since v9.3 or earlier, but I've never seen his hair look like that before.


Related lines:
----
menu_mutiny_at_crasters_keep_request
You have received a message from the Lord Commander of the Night's Watch. He has asked if you would meet with him.^Should you go?
----
mno_crasters_quest_choice_1
Sure, let's go.
----
mno_crasters_quest_choice_2
I'm too busy.
----

- How to reproduce it/when/why it happens:
(Unstable)
Complete all North quests up to the point where you encounter WW and talk to Jior. Save the game frequently. Select "Sure, let's go.".

You need to have about 2 or 2.5 in-game days after the last save before the next trigger where you receive the message above. If you used save data just before the trigger (about 1 day), it seems to cause a fixed action, i.e. the issue always happens or does not happen.

- Game version (and steam or downloaded):
AWoIaF v9.4, Warband v1.174 downloaded
#11
When the player character P meets with an enemy lord E and tells her/him that P wish to avoid a fight, E offers a price, and if P does not have enough money, P says "Let's fight!":

----
dlga_party_encounter_lord_hostile_attacker_2:party_encounter_offer_dont_fight
Is there no way to avoid this battle? I don't want to fight with you.
----
dlga_party_encounter_offer_dont_fight:party_encounter_offer_money
If you pay me {reg0} silver stags, I'll let you go, recreant.
----
dlga_party_encounter_offer_money:party_encounter_offer_money_no
Let's fight!
----

However, the "Let's fight!" above doesn't seem to connect well with possible answers below except for "I shall fight to...". (I checked that the script "lord_comment_to_s43" selects one of eight sentences using the persuasion type of E.)

----
str_lord_declines_negotiation_offer_default
That_may_be,_but_I_wish_to_fight_with_you
----
str_lord_declines_negotiation_offer_martial
That may be, but it is my duty to fight with you
----
str_lord_declines_negotiation_offer_quarrelsome
I shall fight to the death
----
str_lord_declines_negotiation_offer_pitiless
Why should I care? I wish to fight with you
----
str_lord_declines_negotiation_offer_cunning
Ah. Unfortunately, you see, I wish to fight with you
----
str_lord_declines_negotiation_offer_sadistic
Hold your tongue! You will have need of it shortly, while begging for mercy
----
str_lord_declines_negotiation_offer_goodnatured
I'm sorry -- I can't just let you ride away. No hard feelings?
----
str_lord_declines_negotiation_offer_upstanding
That may be, but my duty to my liege requires me to apprehend you
----

In Native, there should not be the price offering by E in Native, and the problem seems to be inherited from Brytenwalda (or upstream MOD).

it might make the connection well if the player character again asked for no battle instead of "Let's fight!".

Sorry if I misunderstood because of my imperfect English.

- How to reproduce it/when/why it happens:
Have small amount of money, meet an enemy lord, repeat till the choice "Is there no way to avoid this battle? I don't want to fight with you." appears. Select it, if opponent says "If you pay me ... silver stags, ..." then check the next answer by the player character is "Let's fight!". If not so, repeat with smaller money. The opponent will say one of the 8 sentences. Check connection with all of them.

- Game version (and steam or downloaded):
AWoIaF v9.4-developer_version 5, v8.*. Warband v1.174 downloaded
#12
V9.0 / A ship overlaps a pier in Tyrosh harbor
June 20, 2024, 07:01:31 AM
As I select "strolled through town" at Tyrosh, I came upon a harbor where a large part of a ship (cog) overlapped a large wooden pier. On that day, I didn't check it is a for-sale but at least it was not of the player character.

I returned on another day to check again, at least in the case, it was a ship for sale. From a cursory inspection, the other smaller ships appear to be moored in the correct position in the same spot.

I have never seen the overlapped problem up to v9.3, including v8.* and v7.11 (but it may that just I didn't notice).


- Game version (and steam or downloaded):
AWoIaF v9.4-developer_version 5, Warband v1.174 downloaded
#13
V9.0 / Tournament odds is 1:1 (Intended?)
June 20, 2024, 03:31:39 AM
Sometimes the odds for a tournament is the worst (1:1) and the stakes don't increase at all at win.

This can also happen in a town's first tournament since the new game. This has happened regardless of towns or castles since at latest at AWoIaF v8.2.

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

#14
After took the Always Winter quest from Jeor Mormont, when I found the White Walkers' party, they were fighting with Mance Rayder's party, and I saved game here.



After I joined the battle to help Rayder, regardless of the result (win/lose/retreat), state of the quest doesn't progress, and the text "... successfully completed ... Talk to ..." is not added in the quest window though the main text says "Return to ... once you have interacted with and assessed ...".

It should be difficult for players to know whether the quest has been completed or not. Some player may go back to Jeor.

(Of course, if I challenge the fight after Mance Rayder's party has been defeated and assimilated into WW, the quest ends successfully at a contact.)

Related lines:
----
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 assessed the threat.
----
qstr_This_quest_has_been_s
This quest has been successfully completed. Talk to {s59} to claim your reward.
----
mno_pre_join_help_defenders
Rush to the aid of the {s1}. ({s21})
----

- Game version (and steam or downloaded):
AWoIaF v9.4-developer_version 5, Warband v1.174 downloaded
(Perhaps since v9.3 or earlier version)
#15
V9.0 / Sticky wall in Winterfell's arena
June 18, 2024, 02:42:31 PM

In arena of Winterfell, the wall opposite the opening with the door behind the pillars is sticky. The player and bots are stuck. The zone is mainly under the eave beneath the seat where tournament master stands, but it extends a little beyond the eaves.

(Barrowton's arena is almost the same shape, but that's fine.)

- Game version (and steam or downloaded):
AWoIaF v9.4-developer_version 5, Warband v1.174 downloaded
#16
Related topic:
Beric Dondarion's "book" needed in 2 texts, Wrong speaker

I might have misled you. Following text is displayed when the player undertook the quest:
----
qstr_Beric_Dondarrion_has
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.
----

It's used here.
----
str_store_string s2 "@Beric Dondarrion has asked you ..."
call_script "script_start_quest" "qst_relic" (i.e. "A Lannister always pays his debts".)
----

I don't have a complete understanding of quests in general, the quest text in quest module seems to be overridden by setting s2 from the quick string before "script_start_quest" is called, right? So probably the phrase mentioning the book should be added to the quick string, not to the quest module.

(On the other hand, I confirmed both the book was added in the dialog and the wrong speaker was fixed. Thanks.)

- Game version (and steam or downloaded):
AWoIaF v9.4-developer_version 5, Warband v1.174 downloaded
#17
Sorry, the table I mentioned was out of date! I checked v9.4 dev.5 and noticed today that the values for levels 53 and above don't match the values returned by get_level_boundary in the current engine, so the values displayed are a bit off.

Currently, the initial level of troops that can become companions in AWoIaF is at most around 50, so this is not a problem for the time being, but it would be better to fix this before future expansions or spreading to other mods.

For example, a level 62 NPC should assume that the experience points required to reach the next level is 2050460032 and the difference should be calculated based on that, but when using that table it is mistakenly assumed to be 2050460000. When I experimented with v9.4 dev.5, the value displayed was indeed 32 points off from the correct value.



In the first place, this code for jq_xp_to_next_lvl should have been written using a loop like:
----
store_script_param ":cur_lvl" 1
assign ":end1" 64
try_for_range ":i" 0 ":end1"
  get_level_boundary ":bndry" ":i"  # get boundary value of the level, i
  gt ":bndry" ":cur_lvl"  # exceeded the current level
  assign ":end1" 0        # change upper-value of loop to break
try_end
store_sub reg1 ":bndry" ":cur_lvl"
str_store_string s1 "@{reg1}"
----

I confirmed the (hand-disassembled) code above works fine in my hand-patched .txt for at least level 4 and level 62 companions. (It's today that I've just learned the get_level_boundary operation for the first time.)

- Game version (and steam or downloaded):
AWoIaF v9.4-developer_version 5, Warband v1.174 downloaded
#18
V9.0 / Follow-up: The dog snorts like a horse
May 17, 2024, 07:19:51 PM
Related topic (v8.* but inherited to v9.3):
"The dog snorts like a horse" by me.

The only thing that seems to be hard-coded for snorting is a fixed reference to names like snd_horse_snort in sound.txt. So one solution should be to make it silent (for example, by commenting-out "horse_snort" from module_sounds.py), distinguish between horses and non-horses in triggers of some mission templates, and then add sound using the agent_play_sound or play_sound_at_position operations.

I found some of the same ideas on the TW forums. The most succinct one is a post in 2022 (below) that shows the source code of TLD's mission template.

How do I add custom sound to a mount?, TW forums

I don't know the TLD's code above supports not only battle field but also town-exploring, etc. The AWoIaF's dog (and probably wolf) companion snorts at least at towns, villages, battle fields, [Camp]-[Visit your camp], and perhaps conversation with a human.

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


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)
#20
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
],
#21
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.)
#22
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
#23
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
#24
(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
#25


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
#26
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
#27
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
#28
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
#29
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)
#30
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