SOME BUG FIXES FOR DIPLOMACY+

Those who can't work with module system, would you like me to release the text files for v1.134 with

  • Yes

    Votes: 9 90.0%
  • No

    Votes: 1 10.0%

  • Total voters
    10

Users who are viewing this thread

These are bug fixes that I hope if Waihti and Zpar have not noticed will include in next version.

BUG FIX WHEN YOU TALK TO THE KING IN FIELD AND ASK TO DECLARE WAR, YOU ARE PRESENTED WITH THE BATTLE SCREEN.
(Changes are in module_dialogs marked with #zerilius changes)
Code:
(lt, ":sum", 300),
], "How can you dare? Who do you think you are? Get out of my sight!", "close_window",
[
(call_script, "script_change_player_relation_with_troop", "$g_talk_troop", -1),
(eq,"$talk_context",tc_party_encounter),			                #zerilius changes
(assign, "$g_leave_encounter", 1),						#zerilius changes
]],


Code:
##diplomacy start+
#Replace "sword" with a culturally-appropriate alternative (TODO: does "gird" make sense for everythign?)
(call_script, "script_dplmc_print_cultural_word_to_sreg", "$g_talk_troop", DPLMC_CULTURAL_TERM_WEAPON, 0),
], "Gird your {s0} we are going to war against {s11}.", "close_window",
##nested diplomacy end+
[

(call_script, "script_change_player_relation_with_troop", "$g_talk_troop", 1),
(call_script, "script_diplomacy_start_war_between_kingdoms", "$players_kingdom", "$g_faction_selected", 1),
(eq,"$talk_context",tc_party_encounter),				 		        #zerilius changes
(assign, "$g_leave_encounter", 1),								#zerilius changes
]],

[anyone, "dplmc_lord_declare_war_decision",
[
], "No, I am not convinced. We won't attack {s11}.", "close_window",
[
(call_script, "script_change_player_relation_with_troop", "$g_talk_troop", -1),
(eq,"$talk_context",tc_party_encounter),						        #zerilius changes
(assign, "$g_leave_encounter", 1),								#zerilius changes
]],



THIS IS A FIX FOR GAME CRASHING BUG WHICH OCCURS WHEN YOU CREATE A PATROL FROM CONSTABLE, ASK HIM TO TAKE TROOPS FROM GARRISON AND EITHER THERE IS EMPTY GARRISON OR YOU DO NOT TAKE ANY TROOP FROM GARRISON AND PRESS DONE. IT CREATES AN INVALID PARTY AND GAME CRASHES(ATLEAST MINE).

Code:
[anyone|plyr, "dplmc_constable_patrol_size",
[],
"Take troops out of the garrison.", "dplmc_constable_patrol_garrison",
[
(store_party_size_wo_prisoners, ":garrison_size", "$current_town"),			#zerilius changes
(gt, ":garrison_size", 0),								#zerilius changes
(party_clear, "p_temp_party"),
(assign, "$g_move_heroes", 1),
(call_script, "script_party_add_party", "p_temp_party", "p_main_party"),
(party_clear, "p_main_party"),
(party_remove_members, "p_main_party", "trp_player", 1),

(change_screen_exchange_members, 1),
]],

#zerilius changes begin
[anyone, "dplmc_constable_patrol_garrison",
[
 (store_party_size_wo_prisoners, ":garrison_size", "$current_town"),		
 (le, ":garrison_size", 0),														
],
"We do not have any troops in the garrison.", "dplmc_constable_patrol_size",
[]],

[anyone, "dplmc_constable_patrol_garrison",
[],
"My {lord/lady}, are you done with the patrol troops.", "dplmc_constable_patrol_garrison_2",
[]],

[anyone, "dplmc_constable_patrol_garrison_2",
[ 
 (store_party_size_wo_prisoners, ":garrison_size", "p_main_party"),		
 (le, ":garrison_size", 0),	
 (party_add_members, "p_main_party", "trp_swadian_militia", 1),				#zerilius included otherwise gives errors
],
"You didn't choose any soldiers. Seems like you changed your mind.", "dplmc_constable_pretalk",
[
(party_remove_members, "p_main_party", "trp_swadian_militia", 1),					
(call_script, "script_party_add_party", "p_main_party", "p_temp_party"),
(assign, "$g_move_heroes", 0),
]],
#zerilius changes end


#[anyone, "dplmc_constable_patrol_garrison",							#zerilius changes
[anyone, "dplmc_constable_patrol_garrison_2",							#zerilius changes
[],
"Where do you want to send the patrol?", "dplmc_constable_patrol_garrison_location",
[]],


MISTAKE IN  module_scripts at script dplmc_evaluate_fief_exchange
Code:
(ge, ":target_type", 1),#break with error if the type was bad
          #offered_type: 1 = village, 2 = castle, 3 = town
		  (assign, ":offered_type", 0),
          (try_begin),
            #(party_slot_eq, ":offered_fief", slot_party_type, spt_village),			#zerilius commented (mistake here)
			(party_slot_eq, ":offered_fief", slot_party_type, spt_town),		#zerilius changed from village to town
            (assign, ":offered_type", 3),
          (else_try),
            (party_slot_eq, ":offered_fief", slot_party_type, spt_castle),
            (assign, ":offered_type", 2),
          (else_try),
			(party_slot_eq, ":offered_fief", slot_party_type, spt_village),
            (assign, ":offered_type", 1),
          (try_end),
		  (ge, ":offered_type", 1),#break with error if the type was bad
          #Now execute comparison logic:
Code:
	#refuse to trade away home center (unless trading up for a better type)
	#Target fief is home of NPC...
	(this_or_next|party_slot_eq, ":target_fief", dplmc_slot_center_original_lord, ":target_npc"),
	(troop_slot_eq, ":target_npc", slot_troop_home, ":target_fief"),
	(neg|party_slot_eq, ":offered_fief", dplmc_slot_center_original_lord, ":target_npc"),
	#...and offered fief is not.
	(neg|troop_slot_eq, ":target_npc", slot_troop_home, ":offered_fief"),
	(this_or_next|neg|is_between, ":target_npc", companions_begin, companions_end),
	(neg|troop_slot_eq, ":target_npc", slot_troop_town_with_contacts, ":offered_fief"),
	(str_store_party_name, s14, ":target_fief"),						#zerilius added this line
	(str_store_string, s14, "str_dplmc_fief_exchange_refuse_home"),
 
DogSoldieR said:
Interesting. Can I incorporate those into my project pls?

Yeah sure.
This mod is completely waihti and zparsifal's efforts. I just spotted some errors and tried to fix them. I do not intend to keep any restriction on these fixes and everyone is free to use.
 
BUG FIX FOR THE RED TEXT THAT APPEARS WHEN YOU ASK A KING TO MAKE PEACE WITH YOUR KINGDOM.

Changes in module_scripts at script dplmc_get_truce_pay_amount

Code:
# Input: arg1 = faction_no_1, arg2 = faction_no_2
  ("dplmc_get_truce_pay_amount",
   [
       (store_script_param, ":faction_no_1", 1),
       (store_script_param, ":faction_no_2", 2),
       (store_script_param, ":check_peace_war_result", 3),
.
.
.
.
.
(assign, ":target_fief", -1),
	   (try_begin),
  	      #only add this if the check-peace-war result is negative
	      (le, ":check_peace_war_result", -1),
		  (this_or_next|faction_slot_eq, ":faction_no_2", slot_faction_ai_state, sfai_attacking_center),
		  (faction_slot_eq, ":faction_no_2", slot_faction_ai_state, sfai_raiding_village),
		  (faction_get_slot, ":faction_object", ":faction_no_2", slot_faction_ai_object),
		  (is_between, ":faction_object", centers_begin, centers_end),
	      #...and if it actually belongs to the other faction in question.
		  #(store_faction_of_party, ":party_current_faction", ":target_fief"),		#zerilius commented this ":target_fief" = -1?
		  (store_faction_of_party, ":party_current_faction", ":faction_object"),	#zerilius changes
		  (eq, ":party_current_faction", ":faction_no_1"),
		  (assign, ":target_fief", ":faction_object"),
	   (try_end),
.
.
.
.
.
(try_for_range, ":party_no", centers_begin, centers_end),

          (store_faction_of_party, ":party_current_faction", ":party_no"),
   		  (party_get_slot, ":party_original_faction", ":party_no", slot_center_original_faction),
		  (party_get_slot, ":party_ex_faction", ":party_no", slot_center_ex_faction),
           
		  (assign, ":besieger_faction", -1),
          (party_get_slot, ":besieger", ":party_no", slot_center_is_besieged_by),
		  (try_begin),
			  (eq, ":party_no", ":target_fief"),
			  (assign, ":besieger_faction", ":faction_no_2"),
		  (else_try),
		      (ge, ":target_fief", 1),
		      (is_between, ":party_no", villages_begin, villages_end),
			  (party_slot_eq, ":party_no", slot_village_bound_center, ":target_fief"),
		  (else_try),
		     (is_between, ":party_no", villages_begin, villages_end),
			 # (party_get_slot, ":besieger", slot_village_bound_center, ":party_no"),	#zerilius commented this (wrong use of operation)
			 (party_get_slot, ":besieger", ":party_no", slot_village_bound_center),		#zerilius changes
			 (party_get_slot, ":besieger", ":besieger", slot_center_is_besieged_by),
		  (try_end),
.
.
.
.
.


IF YOU EXPERIENCE ANY OTHER BUGS (RED TEXT, DIALOGUE PROBLEMS), POST THEM IN STICKIED BUG REPORTS THREAD OR HERE. I WILL TRY TO FIX THEM.
 
BUG FIX FOR DIALOGUE ERROR AS REPORTED BY ETHIK MANTIS WHEN YOU DISMISS YOUR CONSTABLE OR CHAMBERLAIN
Code:
[anyone,"start",
[
(eq, "$g_player_chamberlain","$g_talk_troop"),
],
"Yes, Sire?", "dplmc_chamberlain_talk",[
]],

##zerilius changes begin
[anyone,"start",
[
(this_or_next|eq, "$g_talk_troop", "trp_dplmc_constable"),
(this_or_next|eq, "$g_talk_troop", "trp_dplmc_chamberlain"),
(eq, "$g_talk_troop", "trp_dplmc_chancellor"),
],
"I will be leaving soon. It was pleasure working for you.", "dplmc_constable_leave",[
]],

[anyone|plyr,"dplmc_constable_leave", [],
"Thanks for your services.", "close_window",[]],
##zerilius changes end


[anyone,"dplmc_chamberlain_pretalk",
[],
"Anything else, Sire?", "dplmc_chamberlain_talk",[
]],
 
Just found two more minor mistakes in module_scripts.py
Code:
("deduct_casualties_from_garrison", #after a battle in a center, deducts any casualties from "$g_encountered_party"
	[
	##(display_message, "str_totalling_casualties_caused_during_mission"),

	(try_for_agents, ":agent"),
		(agent_get_troop_id, ":troop_type", ":agent"),
.
.
.
.
#Use different scoring scheme
			(ge, "$g_dplmc_ai_changes", DPLMC_AI_CHANGES_LOW),
			(try_begin),
			   (party_slot_eq, ":center", slot_party_type, spt_town),
  			   (assign, ":center_value", 3),
			(else_try),
			##zerilius changes begin
			   # (neq|party_slot_eq, ":center", slot_party_type, spt_village),  #wrong operation
			   (neg|party_slot_eq, ":center", slot_party_type, spt_village),
			##zerilius changes end   
			   (this_or_next|party_slot_eq, ":center", slot_party_type, spt_castle),
				(is_between, ":center", walled_centers_begin, walled_centers_end),
			   (assign, ":center_value", 2),
			(try_end),
.
.
.

Code:
("dplmc_player_troops_leave",
   [
    (store_script_param_1, ":percent"),

    (try_begin),#debug
     (eq, "$cheat_mode", 1),
     (assign, reg0, ":percent"),
     (display_message, "@{!}DEBUG : removing player troops: {reg0}%"),
    (try_end),

    (assign, ":deserters", 0),
    (try_for_parties, ":party_no"),
      (assign, ":remove_troops", 0),
      (try_begin),
        (this_or_next|party_slot_eq, ":party_no", slot_party_type, spt_town),
		##zerilius changes begin
        # (party_slot_eq|party_slot_eq, ":party_no", slot_party_type, spt_castle),   #wrong operation
             ##not sure but hope this is intended
		(party_slot_eq, ":party_no", slot_party_type, spt_castle),
		##zerilius changes end
        (party_slot_eq, ":party_no", slot_town_lord, "trp_player"),
        (assign, ":remove_troops", 1),
.
.
.
.
 
Bug fix in module_dialogs when you have to fight to the enemy king even after making peace
Code:
[anyone|plyr,"lord_truce_offer",
[
##zerilius changes begin
# (call_script, "script_diplomacy_start_peace_between_kingdoms", "$g_encountered_party_faction", "$players_kingdom", 1),
# ], "I accept. Let us stop making war upon each other, for the time being anyway", "close_window",
# [
], "I accept. Let us stop making war upon each other, for the time being anyway", "close_window",
[
(call_script, "script_diplomacy_start_peace_between_kingdoms", "$g_encountered_party_faction", "$players_kingdom", 1),		
(eq,"$talk_context",tc_party_encounter),									
(assign, "$g_leave_encounter", 1),
##zerilius changes end	
]],

Code:
"I accept.  I will give you {s0}, and let there be peace.","close_window", [
(assign, ":gold", "$temp_2"),

(troop_remove_gold, "trp_player", ":gold"),
(call_script, "script_dplmc_faction_leader_splits_gold", "$g_talk_troop_faction", ":gold"),

(try_begin),
	(ge, "$g_concession_demanded", 1),
	(call_script, "script_give_center_to_faction", "$g_concession_demanded", "$g_talk_troop_faction"),
(try_end),
	(call_script, "script_diplomacy_start_peace_between_kingdoms", "$g_talk_troop_faction", "$players_kingdom", 1),
	##zerilius changes begin
	(eq,"$talk_context",tc_party_encounter),
	(assign, "$g_leave_encounter", 1),
	##zerilius changes end
]],

[Optional] Add the option to dismiss chancellor missing in diplomacy
Code:
##diplomacy start+
[anyone|plyr, "dplmc_chancellor_talk",
[(eq, 0, 1),],
"I would like to take a look through the items in my secondary storage houses.", "dplmc_chancellor_pretalk",
[(change_screen_loot, "trp_dplmc_chancellor"),]],
##diplomacy end+

##zerilius changes begin
#dismiss chancellor
[anyone|plyr, "dplmc_chancellor_talk",
[],
"I no longer need your services.", "dplmc_chancellor_dismiss_confirm_ask",
[]],

[anyone, "dplmc_chancellor_dismiss_confirm_ask",
[
],
"Are you sure that you don't need me anymore?", "dplmc_chancellor_dismiss_confirm",
[]],

[anyone|plyr, "dplmc_chancellor_dismiss_confirm",
[
],
"Yes I am.", "dplmc_chancellor_dismiss_confirm_yes",
[]],

[anyone, "dplmc_chancellor_dismiss_confirm_yes",
[
],
"As you wish.", "close_window",
[
(assign, "$g_player_chancellor", -1),
]],

[anyone|plyr, "dplmc_chancellor_dismiss_confirm",
[
],
"No I am not.", "dplmc_chancellor_pretalk",
[]],
##zerilius changes end

[anyone|plyr, "dplmc_chancellor_talk",
[],
"Farewell!", "close_window",
[]],
 
zParsifal said:
Zerilius said:
These are bug fixes that I hope if Waihti and Zpar have not noticed will include in next version.

Neat.  I've committed your changes to the Diplomacy SVN repository.

http://subversion.assembla.com/svn/diplomacy/
Thanks zParsifal for noticing.
I have found some more. Also include these


Code:
("game_event_simulate_battle",
.
.
.
(try_begin),
	(eq, ":reduce_campaign_ai", 0),#hard: -2
	(assign, reg0, -2),
(else_try),
	(eq, ":reduce_campaign_ai", 1),#medium: -2 or -1
	(store_random_in_range, reg0, -1, 0),
(else_try),
	##zerilius changes begin
	#(eq, ":reduce_campaign_ai", 1),#easy: -2, -1, or 0
	(eq, ":reduce_campaign_ai", 2),#easy: -2, -1, or 0
	##zerilius changes end
	(store_random_in_range, reg0, -2, 1),
(try_end),
.
.
.
(call_script, "script_give_center_to_faction", ":root_defeated_party", ":winner_faction"),
   (try_begin),
     ##diplomacy start+ Handle player is co-ruler of faction
     (assign, ":is_defeated_faction_coruler", 0),
	 (try_begin),
		##zerilius changes begin
		(eq, ":defeated_faction", "$players_kingdom"),
		# (eq, ":is_defeated_faction_coruler", "$players_kingdom"),
		##zerilius changes end
		(is_between, "$players_kingdom", npc_kingdoms_begin, npc_kingdoms_end),
		(call_script, "script_dplmc_get_troop_standing_in_faction", "trp_player", "$players_kingdom"),
		(ge, reg0, DPLMC_FACTION_STANDING_LEADER_SPOUSE),
		(assign, ":is_defeated_faction_coruler", 1),
	 (try_end),
	 (this_or_next|eq, ":is_defeated_faction_coruler", 1),
     ##diplomacy end+
     (eq, ":defeated_faction", "fac_player_supporters_faction"),
     (call_script, "script_add_notification_menu", "mnu_notification_center_lost", ":root_defeated_party", ":winner_faction"),
   (try_end),
   .
   .
   .

Code:
("game_get_party_speed_multiplier",
  [
    (store_script_param_1, ":party_no"),

    (assign,":speed_multiplier",100),
    (try_begin),
      (eq,":party_no","p_main_party"),
      (eq,"$g_move_fast", 1),
      (val_mul,":speed_multiplier",2),
	  ##zerilius changes begin
	  ##Change the variable to global. Atleast it makes more sense
      #(assign,":moving_fast",1),
	  (assign,"$moving_fast",1),
	  ##zerilius changes end
    (else_try),
	  ##nested diplomacy start+
	  #xxx TODO: What the heck is this supposed to be doing?
	  ##nested diplomacy end+
      (eq,":party_no","p_main_party"),
	  ##zerilius changes begin
      #(eq,":moving_fast",1),
	  (eq,"$moving_fast",1),
	  ##zerilius changes end
      (eq,"$g_move_fast", 0),
      (val_div,":speed_multiplier",2),
    (try_end),
	.
	.
	.

Code:
("let_nearby_parties_join_current_battle",
.
.
.
(try_begin),
  (eq, ":besiege_mode", 0),
  (lt, ":reln_with_player", 0),
  (gt, ":reln_with_enemy", 0),
  ##zerilius changes begin
  ##wrong use of operation (native bug)
  #(party_get_slot, ":party_type", ":party_no"),
  (party_get_slot, ":party_type", ":party_no", slot_party_type),
  ##zerilius changes end

  (assign, ":enemy_is_bandit_party_and_level_is_greater_than_6", 0),
  (try_begin),
    (party_stack_get_troop_id, ":stack_troop", ":party_no", 0),
    (is_between, ":stack_troop", "trp_looter", "trp_black_khergit_horseman"),
    (gt, ":player_level", 6),
    (assign, ":enemy_is_bandit_party_and_level_is_greater_than_6", 1),
  (try_end),
 .
 .
 .
 (try_begin),
    (eq, ":besiege_mode", 1),
    (eq, ":following_player", 0),
    (assign, ":do_join", 0),
    (eq, ":faction_no", "$players_kingdom"),
    (faction_slot_eq, "$players_kingdom", slot_faction_marshall, "trp_player"),
    (assign, ":do_join", 1),
  (try_end),
  (eq, ":do_join", 1),

  ##zerilius changes begin
  ##wrong use of operation (native bug)
  #(party_get_slot, ":party_type", ":party_no"),
  (party_get_slot, ":party_type", ":party_no", slot_party_type),
  ##zerilius changes end
  (eq, ":party_type", spt_kingdom_hero_party),
  (party_stack_get_troop_id, ":leader", ":party_no", 0),
  #(troop_get_slot, ":player_relation", ":leader", slot_troop_player_relation),
  (call_script, "script_troop_get_player_relation", ":leader"),
  (assign, ":player_relation", reg0),
.
.
.

Code:
("decide_faction_ai",
  #This handles political issues and faction issues
.
.
.
(else_try),
	#The leader may overrule a choice he disagrees with, if he dislikes the candidate
	#sufficiently and has someone else in mind.
	(ge, ":faction_leader", 1),
	(neg|troop_slot_eq, ":faction_leader", slot_troop_stance_on_faction_issue, ":popular_favorite"),
	(neg|troop_slot_eq, ":faction_leader", slot_troop_stance_on_faction_issue, -1),
	(call_script, "script_troop_get_relation_with_troop", ":faction_leader", ":popular_favorite"),
	##zerilius changes begin
	##king is always going against the popular favourite when he has his own choice so adding another condition check.
	(le, reg0, 0),
	##zerilius changes end
	(assign, ":winning_candidate", ":liege_choice"),
	(try_begin),
		#Print a message letting people know when this happens.
		(neq, ":popular_favorite", -1),
		(this_or_next|eq, "$players_kingdom", ":faction_no"),
		(ge, "$cheat_mode", 1),
		(str_store_faction_name, s4, ":faction_no"),
		##zerilius changes begin
		##bug fix for displaying wrong message
		# (str_store_troop_name, s5, ":winning_candidate"),
		(str_store_troop_name, s5, ":popular_favorite"),
		##zerilius changes end
		(str_store_troop_name, s0, ":faction_leader"),
		(try_begin),
			(eq, ":issue_on_table", 1),
			(display_message, "@{s5} has the greatest support among the lords of the {s4} to be the next marshall, but {s0} overrules their choice."),
		(else_try),
			(is_between, ":issue_on_table", centers_begin, centers_end),
			(str_store_party_name, s1, ":issue_on_table"),
			(display_message, "@{s5} has the greatest support among the lords of the {s4} to receive {s1}, but {s0} overrules their choice."),
		(try_end),
	(try_end),
.
.
.

Code:
("do_party_center_trade",
.
.
.
#Update the record of trade route arrival times
  (try_begin),
     (ge, ":origin", centers_begin),
	 ##zerilius changes begin
	 # (this_or_next|party_slot_eq, ":origin", villages_begin, villages_end),
	 (this_or_next|party_slot_eq, ":origin", slot_party_type, spt_village),
	 ##zerilius changes end
     (is_between, ":origin", villages_begin, villages_end),
     (store_current_hours, ":cur_hours"),
     (party_set_slot, ":origin", dplmc_slot_village_trade_last_arrived_to_market, ":cur_hours"),
  (try_end),
.
.
.

Code:
("update_companion_candidates_in_taverns",
    [
      (try_begin),
        (eq, "$cheat_mode", 1),
        (display_message, "str_shuffling_companion_locations"),
      (try_end),

      (try_for_range, ":troop_no", companions_begin, companions_end),
	    ##diplomacy start+ Move this *after* the checks!
        #  (troop_set_slot, ":troop_no", slot_troop_cur_center, -1),
		##diplomacy end+
        (troop_slot_eq, ":troop_no", slot_troop_days_on_mission, 0),
        (troop_slot_eq, ":troop_no", slot_troop_occupation, slto_inactive),

        (neg|troop_slot_ge, ":troop_no", slot_troop_prisoner_of_party, 0),
		##diplomacy start+
		(troop_get_slot, ":town_no", ":troop_no", slot_troop_cur_center),
		(try_begin),
			(is_between, ":town_no", towns_begin, towns_end),
			(party_get_slot, ":town_lord", ":town_no", slot_town_lord),
			##zerilius changes begin
			##bug fix for red text
			(ge, ":town_lord", 0),
			##zerilius changes end
			(this_or_next|eq, ":town_lord", "trp_player"),
			(this_or_next|troop_slot_eq, "trp_player", slot_troop_spouse, ":town_lord"),
				(troop_slot_eq, ":town_lord", slot_troop_spouse, "trp_player"),
.
.
.
 
Just found that the ladies and bard tell about the feasts of eliminated kingdoms also. So have to include a new condition in between

Code:
#Ask kingdom ladies about feasts.
    [anyone|plyr, "lady_talk", [(neg|eq, "$g_talk_troop_met", 0),],
   "Do you know of any ongoing feasts?",
   "dplmc_lady_feasts", []],

  [anyone, "dplmc_lady_feasts", [

  (str_clear, s12),
  (assign, ":feast_found", 0),
  (try_for_range, ":kingdom", kingdoms_begin, kingdoms_end),
	##zerilius changes begin
	##Bug Fix since they tell about feasts of eliminated kingdoms also.
	(faction_slot_eq, ":kingdom", slot_faction_state, sfs_active),
	##zerilius changes end
	(faction_slot_eq, ":kingdom", slot_faction_ai_state, sfai_feast),
    (assign, ":feast_found", 1),

Code:
[anyone|plyr, "minstrel_1", [(eq, "$minstrels_introduced", 1)  ],
   "Do you know of any ongoing feasts?",
   "minstrel_courtship_locations", []],

  [anyone, "minstrel_courtship_locations", [

  (str_clear, s12),
  (assign, ":feast_found", 0),
  (try_for_range, ":kingdom", kingdoms_begin, kingdoms_end),
	##zerilius changes begin
	##Bug Fix since they tell about feasts of eliminated kingdoms also.
	(faction_slot_eq, ":kingdom", slot_faction_state, sfs_active),
	##zerilius changes end
	(faction_slot_eq, ":kingdom", slot_faction_ai_state, sfai_feast),
    (assign, ":feast_found", 1),
 
Waihti said:
I guess it's a good idea to celebrate when your faction was eliminated  :razz:

Nice one.

Yeah  :grin:

But isn't that kind of strange since there state should have been something like attacking or defending but strangely they were feasting when they got eliminated around 300 days before.

And since they are eliminated no matter how much I wait there state won't change, right? So I will always get that dialogue
There is a feast of Khergit Khanate going on at Distar Castle for a couple of days and it may soon end.
 
Back
Top Bottom