• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

jonjowett

Field Marshal
83 Badges
Aug 31, 2012
4.153
2.660
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: Monks and Mystics
  • BATTLETECH
  • Cities: Skylines - Natural Disasters
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Tyranny: Archon Edition
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Distant Stars
  • Europa Universalis IV: Golden Century
  • Surviving Mars
  • Shadowrun Returns
  • Cities: Skylines - Parklife
  • Tyranny - Bastards Wound
  • Cities: Skylines - Green Cities
  • Stellaris: Megacorp
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Crusader Kings II: Charlemagne
  • Europa Universalis IV
  • Europa Universalis IV: Dharma
  • Imperator: Rome Sign Up
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Rule Britannia
  • BATTLETECH - Digital Deluxe Edition
  • Shadowrun: Dragonfall
  • Victoria 2
  • 500k Club
  • Stellaris: Ancient Relics
  • Europa Universalis IV: El Dorado
  • Europa Universalis 4: Emperor
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Imperator: Rome Deluxe Edition
One line summary of your issue
[3.2] [KLLL] Warrior lodge dog/eagle bloodline events are never triggered

Game Version
[3.2] [KLLL]

What expansions do you have installed?
All of the above

Do you have mods enabled?
No

Please explain your issue is in as much detail as possible.
The warrior lodge dog/eagle bloodlines have been known to be broken for quite a while now (in that characters with these bloodlines don't receive any extra dogs/eagles), but I couldn't find a proper bug report on this forum.

So, I looked into these bloodlines, to try to work out what's wrong and how it might be fixed.

Bloodlines

The bloodlines themselves (common\bloodlines\03_legendary_warrior_lodge_bloodlines.txt) seem fairly normal and have no obvious errors:
Code:
#############################################################################
####################  Warrior Lodge specific Bloodlines #####################
#############################################################################

## MODIFIER:                                     ## FLAG:                        # DOES:
# bloodline_effect_joining_warrior_lodge        bloodline_legendary_warrior        Will have an easier time joining Warrior Lodges
# bloodline_effect_battle_survivor                battle_survivor_bloodline        More resistant to battle injury
# bloodline_effect_reaver                        bloodline_reaver                 Greater chance of capturing loot (sieging)
# bloodline_effect_fearsome                        bloodline_fearsome                 Increased chance of capturing enemy commanders
# bloodline_effect_inspire_commanders            bloodline_inspire_commanders     The Promote Commander decision tends to give better commanders
# bloodline_effect_loyal_councilors                bloodline_loyalist                Your council tends to lean towards loyalist
# bloodline_effect_artisan_craftsmen            bloodline_artisan_craftsmen     Smiths are less prone to be jerks
# bloodline_effect_battle_bards                    bloodline_battle_bards          Unlocks extra things in battle
# bloodline_effect_pet_dog                      bloodline_pet_dog                  If you lose your dog, you will be given a new one...
# bloodline_effect_pet_eagle                     bloodline_pet_eagle             If you lose your eagle, you will find a new one...


legendary_eagle_hunter_male = { #Hunting Birds
    falconer_opinion = 5
    combat_rating = 15
    bloodline_effect_pet_eagle = 1
    inheritance = patrilineal
    allow_bastards = yes
    flags = { legendary_warrior_lodge_bloodline created_bloodline bloodline_pet_eagle }
    picture = GFX_bloodlines_symbol_tengri_eagle
}
legendary_eagle_hunter_female = { #Hunting Birds
    falconer_opinion = 5
    combat_rating = 15
    bloodline_effect_pet_eagle = 1
    inheritance = matrilineal
    allow_bastards = yes
    flags = { legendary_warrior_lodge_bloodline created_bloodline bloodline_pet_eagle }
    picture = GFX_bloodlines_symbol_tengri_eagle
}

legendary_dog_hunter_male = { #War Hounds (WoL exclusive)
    hunter_opinion = 5
    combat_rating = 15
    bloodline_effect_pet_dog = 1
    inheritance = patrilineal
    allow_bastards = yes
    flags = { legendary_warrior_lodge_bloodline created_bloodline bloodline_pet_dog }
    picture = GFX_bloodlines_symbol_norse_wolf
}
legendary_dog_hunter_female = { #War Hounds (WoL exclusive)
    hunter_opinion = 5
    combat_rating = 15
    bloodline_effect_pet_dog = 1
    inheritance = matrilineal
    allow_bastards = yes
    flags = { legendary_warrior_lodge_bloodline created_bloodline bloodline_pet_dog }
    picture = GFX_bloodlines_symbol_norse_wolf
}

It seems likely that the custom dog/eagle functionality is implemented via events that check for the bloodline_pet_eagle and/or bloodline_pet_dog flags, so I searched for those flags in the events folder.

Dog/Eagle events

As expected, the bloodline flags are used in events HF.12400 and HF.12401 (in events\hf_warrior_lodge_legends_events.txt).

These events are designed to give you a new eagle/dog if you have the relevant warrior lodge bloodline:
Code:
########################################################
####### Legendary Bloodline effects/flavor events ######
########################################################

# EAGLE: Dream about hunting with your bird and tadaaa: an eagle has snuck into your chambers!
character_event = {
    id = HF.12400
    desc = EVTDESC_HF_12400
    picture = GFX_evt_hunt
    border = GFX_event_normal_frame_war
    is_triggered_only = yes
    trigger = {
        NOT = { has_character_modifier = pet_hunting_eagle }
        any_owned_bloodline = { has_bloodline_flag = bloodline_pet_eagle }
        is_inaccessible_trigger = no
        war = no
    }

    fail_trigger_effect = { #Basically, if something temporary is affecting this, check back later...
        if = {
            limit = {
                NOT = { has_character_modifier = pet_hunting_eagle }
                any_owned_bloodline = { has_bloodline_flag = bloodline_pet_eagle }
                OR = {
                    is_inaccessible_trigger = yes
                    war = yes
                }
            }
            character_event = { id = HF.12400 days = 365 random = 60 } #Check back if you have yet not received a new bird...
        }
    }

    immediate = {
        random_owned_bloodline = {
            limit = {
                has_bloodline_flag = bloodline_pet_eagle
                founder = { NOT = { character = ROOT } }
            }
            founder = {
                save_event_target_as = bloodline_founder
            }
        }
    }

    # A.1
    option = { # A new friend?
        name = EVTOPTA_HF_12400
        custom_tooltip = { text = EVTOPTA_HF_12400_TT }
        add_character_modifier = {
            name = pet_hunting_eagle
            duration = -1
        }
        hidden_effect = {
            character_event = { id = HF.25631 days = 7300 random = 1500 } #Death.
            #character_event = { id = HF.25631 days = 5 random = 1 } #Death. #Test values
        }
        trigger = {
            NOT = { event_target:bloodline_founder = { always = yes  } } #(Means you are the founder)
        }
    }
    # A.2
    option = { # My ancestor would be approve
        name = EVTOPTB_HF_12400
        custom_tooltip = { text = EVTOPTB_HF_12400_TT }
        add_character_modifier = {
            name = pet_hunting_eagle
            duration = -1
        }
        hidden_effect = {
            character_event = { id = HF.25631 days = 7300 random = 1500 } #Death.
            #character_event = { id = HF.25631 days = 5 random = 1 } #Death. #Test values
        }
        trigger = {
            event_target:bloodline_founder = { always = yes } #(Means you are NOT the founder)
        }
    }

    #B. Dismiss
    option = { # I'm going back to sleep
        name = EVTOPTC_HF_12400
        custom_tooltip = { text = EVTOPTC_HF_12400_TT }
    }
}


# DOG: Sparring, hear barking dog and tadaaa: it's for you!
character_event = {
    id = HF.12401
    desc = EVTDESC_HF_12401
    picture = GFX_evt_hunting_scene
    border = GFX_event_normal_frame_war
    is_triggered_only = yes
  
    trigger = {
        NOT = { has_character_modifier = pet_hunting_dog }
        any_owned_bloodline = { has_bloodline_flag = bloodline_pet_dog }
        is_inaccessible_trigger = no
        war = no
    }

    fail_trigger_effect = { #Basically, if something temporary is affecting this, check back later...
        if = {
            limit = {
                NOT = { has_character_modifier = pet_hunting_dog }
                any_owned_bloodline = { has_bloodline_flag = bloodline_pet_dog }
                OR = {
                    is_inaccessible_trigger = yes
                    war = yes
                }
            }
            character_event = { id = HF.12400 days = 365 random = 60 } #Check back if you have yet not received a new bird...
        }
    }

    immediate = {
        random_owned_bloodline = {
            limit = {
                has_bloodline_flag = bloodline_pet_dog
                founder = { NOT = { character = ROOT } }
            }
            founder = {
                save_event_target_as = bloodline_founder
            }
        }
    }

    # A.1
    option = { # A new friend?
        name = EVTOPTA_HF_12401
        custom_tooltip = { text = EVTOPTA_HF_12401_TT }
        add_character_modifier = {
            name = pet_hunting_dog
            duration = -1
        }
        hidden_effect = {
            character_event = { id = HF.12402 days = 7300 random = 1500 } #Dog dies...
        }
        trigger = {
            NOT = { event_target:bloodline_founder = { always = yes } } #(Means you are the founder)
        }
    }
    # A.2
    option = { # My ancestor would be approve
        name = EVTOPTB_HF_12401
        custom_tooltip = { text = EVTOPTB_HF_12401_TT }
        add_character_modifier = {
            name = pet_hunting_dog
            duration = -1
        }
        hidden_effect = {
            character_event = { id = HF.12402 days = 7300 random = 1500 } #Dog dies...
        }
        trigger = {
            event_target:bloodline_founder = { always = yes }  #(Means you are NOT the founder)
        }
    }
    #B. Dismiss
    option = { # I'm going back to sleep
        name = EVTOPTC_HF_12401
        custom_tooltip = { text = EVTOPTC_HF_12401_TT }
    }
}

Again, these events seem fine. There's one minor error in HF.12401 but, otherwise, there's nothing obvious that would prevent these events from working as intended.

Importantly, both of these events have "is_triggered_only = yes", which means they will only occur if they are explicitly called from somewhere else (this is usually either another event or an on_action).

The source of the problem

I searched the events and on_actions folders for HF.12400 and HF.12401. The code above is the only place that these two strings are located - which means that even though the events exist, they can never be triggered.

Proposed solution

The way these events are written suggest that they are expected to trigger on a regular pulse - ie. that these two events should be added somewhere in the on_actions.

The two most likely locations are in common\on_actions\00_on_actions.txt.

(1) Random event on yearly pulse (comment explicitly states that it's for HF bloodlines):
Code:
#character
on_yearly_pulse = {
    events = {
####### snip
    }
  
    random_events = {

####### snip a LOT of random events!

        # Holy Fury Bloodline Events
        350 = HF.110 # Gain Sympathy for Founder religion
        200 = HF.120 # Chance of gaining a personality trait of Founder
        300 = HF.43000 # Chance for zealots to help aid your cause
        200 = HF.43200 # Chance for Great Theologian to join your Court
        150 = HF.43300 # Frenzied zealots at your capital
        150 = HF.43400 # Monk Society helping out

(2) 5-year pulse (warriors, bards, knights, ladies, etc are all caused by bloodlines):
Code:
#character
on_five_year_pulse = {
    events = {
        GR.1
        MNM.10030 # Have AI characters join societies
        JD.1000 # Muslim Adventurers targeting India
        HF.20375 # Catholic/Fraticelli Kings/Emperors who have not been crowned will receive random negative events.
        HFP.20604 # Hidden check for physique_variable.
        HF.99 # Legendary warrior arrives      
        HF.10050 # Warrior Lodges: Maintenance: AIs joins available warrior lodges
        LoR.45 #Augustus trait cleanup.
        HF.21997 #AI picks Antagonizing target.
        HF.21998 #AI picks Swaying target.
        HF.24129 # Knights and Bards arrive.
        HF.24132 # Lady seeks protection.
        HF.24236 # Artists arrive.
        HF.15100 # Rain/Drought status changes in most of Africa
    }

Steps to reproduce the issue.


Upload Attachment
 
Last edited:
Upvote 0
While I hate to criticize such a well-written and well-referenced bug report, @jonjowett, I'm afraid that it appears that you have just missed where the events are called. :( They are called from send_new_eagle_event_effect and send_new_dog_event_effect in common\scripted_effects\06_scripted_effects_legendary_bloodlines.txt (lines 805-813 and 815-822).

Those functions are called when the animals die of old age (WoL.5290 for dogs and HF.25631 for eagles) or in battle (HFP.11025 for both). It appears that dogs can also get eaten by a snake (HL.5011) which also calls send_new_dog_event_effect

In short, this does not appear to be an issue.
 
While I hate to criticize such a well-written and well-referenced bug report, @jonjowett, I'm afraid that it appears that you have just missed where the events are called. :( They are called from send_new_eagle_event_effect and send_new_dog_event_effect in common\scripted_effects\06_scripted_effects_legendary_bloodlines.txt (lines 805-813 and 815-822).

Those functions are called when the animals die of old age (WoL.5290 for dogs and HF.25631 for eagles) or in battle (HFP.11025 for both). It appears that dogs can also get eaten by a snake (HL.5011) which also calls send_new_dog_event_effect

In short, this does not appear to be an issue.

I've just reviewed the chain in light of your info and, yes, I agree. Thanks for looking into this and correcting me!
 
I've just reviewed the chain in light of your info and, yes, I agree. Thanks for looking into this and correcting me!

No problem. :)