toconnell / kdm-manager

An interactive campaign manager for the game "Monster", by Kingdom Death. Development blog and release notes at https://blog.kdm-manager.com This project has no affiliation with Kingdom Death and is a totally independent, fan-maintained project.
http://kdm-manager.com
Other
26 stars 11 forks source link

Settlement Sheet: innovation consequence issue (Shadow Dancing) #503

Closed toconnell closed 5 years ago

toconnell commented 6 years ago

From email:

We are doing the People of the Sun campaign. We have the hovel consequence. Shadow Dancing is not appearing in the innovate box. I've never seen an error, so I thought maybe I was doing something wrong... but I can't see what that is.

Production user OID: 5a2089fa8740d9711083bc29

toconnell commented 6 years ago

Can't reproduce from scratch. Pulling user settlement down to dev...

toconnell commented 6 years ago

Ok, so settlements are identical in test and prod right now: wallingford_prod_api wallingford_test_api

...and yet:

https://api.thewatcher.io/settlement/get_innovation_deck/5b0087898740d94f2a051148

[
"Albedo",
"Bed",
"Drums",
"Face Painting",
"Family",
"Hands of the Sun",
"Partnership",
"Pictograph",
"Sculpture",
"Symposium"
]

https://192.168.0.110:8013/settlement/get_innovation_deck/5b0087898740d94f2a051148

[
"Albedo",
"Bed",
"Bloodline",
"Drums",
"Face Painting",
"Family",
"Hands of the Sun",
"Lantern Oven",
"Partnership",
"Pictograph",
"Sculpture",
"Shadow Dancing",
"Symposium"
]
toconnell commented 6 years ago

Now this is really getting exciting: I can reproduce it in production, but I cannot reproduce it in test...groan

toconnell commented 6 years ago

OK, I pushed a little patch out (d87c14535edbc278c7c4928d1b44f9533d70b88e) and did a quick API restart. According to the user, it resolves the issue. It also resolves it for my test settlement, so we're going to call this a win for today.

toconnell commented 6 years ago

I just got another email on this:

[5a10fb748740d9413d8e0480] has submitted an error report!

The report goes as follows: The war room innovation did not get added to the innovation deck after storytelling was learned.

toconnell commented 6 years ago

Alright, so I can reproduce this in production. Here's how the debug code looks in prod:

[2018-05-30 12:52:16] DEBUG:    settlements object 'The White Lantern' [5b0309f98740d94f28b670fb] get_innovation_deck() debug enabled!
[2018-05-30 12:52:16] DEBUG:    settlements object 'The White Lantern' [5b0309f98740d94f28b670fb] available innovations: ['mastery_whip', 'mastery_katar', 'family', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'ultimate_weapon', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'sauna_shrine', 'nigredo', 'mastery_fist_and_tooth', 'clan_of_death', 'memento_mori', 'umbilical_bank', 'scarification', 'bed', 'mastery_katana', 'sculpture', 'filleting_table', 'partnership', 'inner_lantern', 'rubedo', 'mastery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'lantern_oven', 'settlement_watch', 'symposium', 'mastery_club', 'mastery_spear', 'mastery_bow', 'pictograph', 'sacrifice', 'drums', 'mastery_shield', 'forbidden_dance', 'mastery_axe', 'citrinitas', 'shadow_dancing', 'aquarobics', 'pottery', 'mastery_grand_weapon', 'records', 'petal_spiral', 'heart_flute', 'round_stone_training', 'subterranean_agriculture', 'scrap_smelting']
[2018-05-30 12:52:16] DEBUG:    settlements object 'The White Lantern' [5b0309f98740d94f28b670fb] ALL consequences: ['ammonia', 'bed', 'bloodletting', 'drums', 'hands_of_the_sun', 'hovel', 'paint', 'partnership', 'records', 'symposium']
[2018-05-30 12:52:16] DEBUG:    settlements object 'The White Lantern' [5b0309f98740d94f28b670fb] AVAILABLE consequences: ['bed', 'drums', 'hands_of_the_sun', 'paint', 'partnership', 'records', 'symposium']
[2018-05-30 12:52:16] DEBUG:    settlements object 'The White Lantern' [5b0309f98740d94f28b670fb] AVAILABLE consequences NOT already added: ['paint', 'partnership', 'bed', 'records', 'drums', 'symposium', 'hands_of_the_sun']
toconnell commented 6 years ago

Alright, I just majorly expanded the print debugging you get when you POST the 'debug' param to this route. Once the next release goes out, we'll try it out on this guy and see what happens.

toconnell commented 6 years ago

Looks good in prod in release 2.81.1540, but I'm going to leave this open anyway, just to keep an eye on it.

toconnell commented 6 years ago

Haven't heard about this in a while. Still keeping it open.

BitForesters commented 6 years ago

It's happening with a new people of the stars campaign. We have hovel but none of the expansion content hovel consequences are showing up in the innovation deck. kdmm inno capture

toconnell commented 6 years ago

@BitForesters dang it!

I'm going to pull your settlement down to my dev environment and take a look. More soon!

toconnell commented 6 years ago

Debug run from production:

18-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] get_innovation_deck() debug enabled!
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations: ['mastery_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagg
er', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'ammonia', 'dragon_speech', 'graves', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'cannibalize', 'sauna_shrine', 'nigredo'
, 'partnership', 'shadow_dancing', 'records', 'protect_the_young', 'memento_mori', 'hovel', 'umbilical_bank', 'romantic', 'bloodline', 'scarification', 'pottery', 'bed', 'barbaric', 'white_
mask', 'mastery_katana', 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mast
ery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'collective_toil', 'mastery_club', 'radiati
ng_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena',
 'mastery_grand_weapon', 'accept_darkness', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'survival_of_the
_fittest', 'scrap_smelting']
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'dragon_speech' innovation!
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'graves' principle from available innovations...
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'cannibalize' principle from available innovations...
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'protect_the_young' principle from available innovations...
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'hovel' innovation!
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'romantic' principle from available innovations...
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'barbaric' principle from available innovations...
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'collective_toil' principle from available innovations...
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'accept_darkness' principle from available innovations...
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'survival_of_the_fittest' principle from available innovations...
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations AFTER removing principles and assets in the settlement's list: ['maste
ry_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'ammonia', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'saun
a_shrine', 'nigredo', 'partnership', 'shadow_dancing', 'records', 'memento_mori', 'umbilical_bank', 'bloodline', 'scarification', 'pottery', 'bed', 'white_mask', 'mastery_katana', 'sculptur
e', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_sword', 'albedo', 'face_painti
ng', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'm
astery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'petal_spiral', 'heart_flute
', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'scrap_smelting']
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'dragon_speech' consequences: ['hovel', 'inner_lantern', 'drums', 'paint', 'symposium
', 'ammonia']
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'hovel' consequences: ['partnership', 'bed']
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] ALL consequences: ['ammonia', 'bed', 'drums', 'hovel', 'inner_lantern', 'paint', 'partnershi
p', 'symposium']
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] AVAILABLE consequences: ['ammonia', 'bed', 'drums', 'inner_lantern', 'paint', 'partnership',
 'symposium']
[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] AVAILABLE consequences NOT already added: ['partnership', 'bed', 'inner_lantern', 'paint', '
drums', 'symposium', 'ammonia']
toconnell commented 6 years ago

@BitForesters So your total possible list of Hovel consequences, with all expansions enabled, is:

 ["partnership","family","bed","shadow_dancing","bloodline","settlement_watch"]

Family is blocked by PotStars campaign rules. Settlement Watch only shows up in the deck if you've got a defeated Manhunter in Defeated Monsters (which you don't).

You've got Partnership and Bed getting added.

Just so we agree on the problem, you're missing Shadow Dancing and Bloodline...right? Those are the only two you'd expect to be in the deck that aren't showing up in the deck, correct?

BitForesters commented 6 years ago

Correct. Though I had not noticed that Settlement Watch is only added after defeating a manhunter.

toconnell commented 6 years ago

Debug from dev environment:

[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] get_innovation_deck() debug enabled!
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations: ['mastery_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'ammonia', 'dragon_speech', 'graves', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'cannibalize', 'sauna_shrine', 'nigredo', 'partnership', 'shadow_dancing', 'records', 'protect_the_young', 'memento_mori', 'hovel', 'umbilical_bank', 'romantic', 'bloodline', 'scarification', 'pottery', 'bed', 'barbaric', 'white_mask', 'mastery_katana', 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'collective_toil', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'accept_darkness', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'survival_of_the_fittest', 'scrap_smelting']
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'dragon_speech' innovation!
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'graves' principle from available innovations...
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'cannibalize' principle from available innovations...
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'protect_the_young' principle from available innovations...
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'hovel' innovation!
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'romantic' principle from available innovations...
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'barbaric' principle from available innovations...
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'collective_toil' principle from available innovations...
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'accept_darkness' principle from available innovations...
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'survival_of_the_fittest' principle from available innovations...
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations AFTER removing principles and assets in the settlement's list: ['mastery_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'ammonia', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'sauna_shrine', 'nigredo', 'partnership', 'shadow_dancing', 'records', 'memento_mori', 'umbilical_bank', 'bloodline', 'scarification', 'pottery', 'bed', 'white_mask', 'mastery_katana', 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'scrap_smelting']
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'dragon_speech' consequences: ['hovel', 'inner_lantern', 'drums', 'paint', 'symposium', 'ammonia']
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'hovel' consequences: ['partnership', 'family', 'bed', 'shadow_dancing', 'bloodline', 'settlement_watch']
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] ALL consequences: ['ammonia', 'bed', 'bloodline', 'drums', 'family', 'hovel', 'inner_lantern', 'paint', 'partnership', 'settlement_watch', 'shadow_dancing', 'symposium']
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] AVAILABLE consequences: ['ammonia', 'bed', 'bloodline', 'drums', 'hovel', 'inner_lantern', 'paint', 'partnership', 'settlement_watch', 'shadow_dancing', 'symposium']
[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] AVAILABLE consequences NOT already added: ['bloodline', 'partnership', 'bed', 'settlement_watch', 'inner_lantern', 'paint', 'drums', 'symposium', 'shadow_dancing', 'ammonia']

Interestingly, there's a difference in the hovel consequences between dev and prod, which are running on the same version presently.

Production thus:

[2018-06-11 20:47:15] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'hovel' consequences: ['partnership', 'bed']

Development thus:

[2018-06-12 08:29:49] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'hovel' consequences: ['partnership', 'family', 'bed', 'shadow_dancing', 'bloodline', 'settlement_watch']

Development, obviously, is correct and production is wrong for some reason...

toconnell commented 6 years ago

Monkey-patched some augmented print debugging code to production.

New production output:

[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] get_innovation_deck() debug enabled!
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations: ['mastery_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'ammonia', 'dragon_speech', 'graves', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'cannibalize', 'sauna_shrine', 'nigredo', 'partnership', 'shadow_dancing', 'records', 'protect_the_young', 'memento_mori', 'hovel', 'umbilical_bank', 'romantic', 'bloodline', 'scarification', 'pottery', 'bed', 'barbaric', 'white_mask', 'mastery_katana', 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'collective_toil', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'accept_darkness', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'survival_of_the_fittest', 'scrap_smelting']
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'dragon_speech' innovation!
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'graves' principle from available innovations...
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'cannibalize' principle from available innovations...
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'protect_the_young' principle from available innovations...
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'hovel' innovation!
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'romantic' principle from available innovations...
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'barbaric' principle from available innovations...
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'collective_toil' principle from available innovations...
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'accept_darkness' principle from available innovations...
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'survival_of_the_fittest' principle from available innovations...
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations AFTER removing principles and assets in the settlement's list: ['mastery_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'ammonia', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'sauna_shrine', 'nigredo', 'partnership', 'shadow_dancing', 'records', 'memento_mori', 'umbilical_bank', 'bloodline', 'scarification', 'pottery', 'bed', 'white_mask', 'mastery_katana', 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'scrap_smelting']
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'dragon_speech' consequences: ['hovel', 'inner_lantern', 'drums', 'paint', 'symposium', 'ammonia']
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'hovel' consequences: ['partnership', 'family', 'bed', 'shadow_dancing', 'bloodline', 'settlement_watch']
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] ALL consequences: ['ammonia', 'bed', 'bloodline', 'drums', 'family', 'hovel', 'inner_lantern', 'paint', 'partnership', 'settlement_watch', 'shadow_dancing', 'symposium']
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'family'
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] AVAILABLE consequences: ['ammonia', 'bed', 'bloodline', 'drums', 'hovel', 'inner_lantern', 'paint', 'partnership', 'settlement_watch', 'shadow_dancing', 'symposium']
[2018-06-12 13:53:57] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] AVAILABLE consequences NOT already added: ['bloodline', 'partnership', 'bed', 'settlement_watch', 'inner_lantern', 'paint', 'drums', 'symposium', 'shadow_dancing', 'ammonia']
toconnell commented 6 years ago

@BitForesters I just monkey-patched some debug code to production and restarted the API (there had been no active users in something like seven minutes and you miss 100% of the shots you don't take haha).

At any rate, the list is coming back correctly now, so I'm going to keep an eye on it.

Get back at me if you notice it getting weird again: there's something about these expansion consequences that's not working correctly, and I still haven't figured it out yet...

BitForesters commented 6 years ago

Cool. I'll continue to look skeptically at the innovations deck. Keep up the good work!

BitForesters commented 6 years ago

Settlement Watch is now showing up without a defeated manhunter. FYI.

BitForesters commented 6 years ago

Though after looking at the rules again, I don't believe you need to defeat one for it to be included in the deck. It just gets put on top of the deck if you don't already have it innovated so that it will be drawn the next time you innovate.

BitForesters commented 6 years ago

And now that we have innovated bloodline, family is showing up when it should not be.

toconnell commented 6 years ago

@BitForesters Yeah, the Settlement Watch thing is correct: I tweaked the way that it worked so that it follows the rules (which it hadn't been, not exactly anyway).

If Family is showing up in your PotStars deck, that's a whole different issue. I'm going to go check it out right now, but if the logic that inflicts campaign rules on the deck isn't working, that's a different thing that expansion innovations not showing up...

toconnell commented 6 years ago

Production debug output:

[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] get_innovation_deck() debug enabled!
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations: ['mastery_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger
', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'ammonia', 'dragon_speech', 'graves', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'cannibalize', 'sauna_shrine', 'nigredo', 'p
artnership', 'shadow_dancing', 'records', 'protect_the_young', 'memento_mori', 'hovel', 'umbilical_bank', 'romantic', 'bloodline', 'scarification', 'pottery', 'bed', 'barbaric', 'white_mask',
 'mastery_katana', 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_swor
d', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'collective_toil', 'mastery_club', 'radiating_orb', '
mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_gr
and_weapon', 'accept_darkness', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'survival_of_the_fittest', 'sc
rap_smelting']
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'ammonia' innovation!
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'dragon_speech' innovation!
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'graves' principle from available innovations...
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'cannibalize' principle from available innovations...
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'protect_the_young' principle from available innovations...
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'hovel' innovation!
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'romantic' principle from available innovations...
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'bloodline' innovation!
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'barbaric' principle from available innovations...
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'inner_lantern' innovation!
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'empire' innovation!
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'collective_toil' principle from available innovations...
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'accept_darkness' principle from available innovations...
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'survival_of_the_fittest' principle from available innovations...
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations AFTER removing principles and assets in the settlement's list: ['mastery
_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'sauna_shrine', 'nig
redo', 'partnership', 'shadow_dancing', 'records', 'memento_mori', 'umbilical_bank', 'scarification', 'pottery', 'bed', 'white_mask', 'mastery_katana', 'sculpture', 'filleting_table', 'storyt
elling', 'mastery_scythe', 'dark_water_research', 'rubedo', 'mastery_spear', 'bloodletting', 'mastery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_
the_sun', 'shrine', 'settlement_watch', 'symposium', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_know
ledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic
_statue', 'subterranean_agriculture', 'scrap_smelting']
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'dragon_speech' consequences: ['hovel', 'inner_lantern', 'drums', 'paint', 'symposium',
 'ammonia']
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'hovel' consequences: ['partnership', 'family', 'bed', 'shadow_dancing', 'bloodline', '
settlement_watch']
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'bloodline' consequences: ['empire']
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'ammonia' consequences: ['bloodletting', 'lantern_oven']
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'empire' consequences: []
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'inner_lantern' consequences: ['shrine', 'scarification']
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] ALL consequences: ['ammonia', 'bed', 'bloodletting', 'bloodline', 'drums', 'empire', 'family', 'hovel', 'inner_lantern', 'lantern_oven', 'paint', 'partnership', 'scarification', 'settlement_watch', 'shadow_dancing', 'shrine', 'symposium']
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'ammonia'
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'bloodline'
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'empire'
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'hovel'
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'lantern_oven'
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] AVAILABLE consequences: ['bed', 'bloodletting', 'drums', 'family', 'inner_lantern', 'paint', 'partnership', 'scarification', 'settlement_watch', 'shadow_dancing', 'shrine', 'symposium']
[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] AVAILABLE consequences NOT already added: ['family', 'partnership', 'bed', 'shadow_dancing', '
paint', 'shrine', 'drums', 'symposium', 'bloodletting', 'scarification', 'settlement_watch']
toconnell commented 6 years ago

Alright, so this is officially insane.

'family' is now in available consequences, as the log above confirms. It should be removed from the consequences list during this bit:

2550         for c in consequences:
2551             if c not in available.keys():
2552                 consequences.remove(c)
2553                 if debug:
2554                     self.logger.debug("%s removing UNAVAILABLE consequence: '%s'" % (self, c))

In fact, you can see it removing 'lantern_oven', which is also not available:

[2018-06-13 13:02:09] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'lantern_oven'
toconnell commented 6 years ago

Alright, I punched up the print debugging and here's what we get now:

[2018-06-13 13:43:51] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] get_innovation_deck() debug enabled!
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations: ['mastery_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger
', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'ammonia', 'dragon_speech', 'graves', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'cannibalize', 'sauna_shrine', 'nigredo', 'p
artnership', 'shadow_dancing', 'records', 'protect_the_young', 'memento_mori', 'hovel', 'umbilical_bank', 'romantic', 'bloodline', 'scarification', 'pottery', 'bed', 'barbaric', 'white_mask',
 'mastery_katana', 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_swor
d', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'collective_toil', 'mastery_club', 'radiating_orb', '
mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_gr
and_weapon', 'accept_darkness', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'survival_of_the_fittest', 'sc
rap_smelting']
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'ammonia' innovation!
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'dragon_speech' innovation!
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'graves' principle from available innovations...
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'cannibalize' principle from available innovations...
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'protect_the_young' principle from available innovations...
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'hovel' innovation!
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'romantic' principle from available innovations...
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'bloodline' innovation!
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'barbaric' principle from available innovations...
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'inner_lantern' innovation!
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'empire' innovation!
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'collective_toil' principle from available innovations...
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'accept_darkness' principle from available innovations...
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'survival_of_the_fittest' principle from available innovations...
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations AFTER removing principles and assets in the settlement's list: ['mastery
_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'sauna_shrine', 'nig
redo', 'partnership', 'shadow_dancing', 'records', 'memento_mori', 'umbilical_bank', 'scarification', 'pottery', 'bed', 'white_mask', 'mastery_katana', 'sculpture', 'filleting_table', 'storyt
elling', 'mastery_scythe', 'dark_water_research', 'rubedo', 'mastery_spear', 'bloodletting', 'mastery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'scrap_smelting']
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'dragon_speech' consequences: ['hovel', 'inner_lantern', 'drums', 'paint', 'symposium', 'ammonia']
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'hovel' consequences: ['partnership', 'family', 'bed', 'shadow_dancing', 'bloodline', 'settlement_watch']
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'bloodline' consequences: ['empire']
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'ammonia' consequences: ['bloodletting', 'lantern_oven']
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'empire' consequences: []
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'inner_lantern' consequences: ['shrine', 'scarification']
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] ALL consequences: ['ammonia', 'bed', 'bloodletting', 'bloodline', 'drums', 'empire', 'family', 'hovel', 'inner_lantern', 'lantern_oven', 'paint', 'partnership', 'scarification', 'settlement_watch', 'shadow_dancing', 'shrine', 'symposium']
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'ammonia'
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'bloodline'
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'empire'
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'hovel'
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'lantern_oven'
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] consequences after removing all UNAVAILABLE consequences: ['bed', 'bloodletting', 'drums', 'family', 'inner_lantern', 'paint', 'partnership', 'scarification', 'settlement_watch', 'shadow_dancing', 'shrine', 'symposium']
[2018-06-13 13:43:52] ERROR:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] consequences list includes UNAVAILABLE consequence 'family'
[2018-06-13 13:43:52] ERROR:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] consequences list includes UNAVAILABLE consequence 'inner_lantern'
[2018-06-13 13:43:52] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] deck dict initialized based on AVAILABLE consequences: ['family', 'partnership', 'bed', 'shadow_dancing', 'paint', 'shrine', 'drums', 'symposium', 'bloodletting', 'scarification', 'settlement_watch']
[2018-06-13 13:43:52] ERROR:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] Unavailable consequence 'family' present in innovation deck!
toconnell commented 6 years ago

In the above, Inner Lantern gets ignored in the deck because it's present in the settlement.innovations list.

Family hangs out, however, for reasons that make no sense. I think the solution is going to be to have a second check against what's available.

toconnell commented 6 years ago

Alright, I think I got it:

[2018-06-13 13:50:24] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] get_innovation_deck() debug enabled!
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations: ['mastery_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'ammonia', 'dragon_speech', 'graves', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'cannibalize', 'sauna_shrine', 'nigredo', 'partnership', 'shadow_dancing', 'records', 'protect_the_young', 'memento_mori', 'hovel', 'umbilical_bank', 'romantic', 'bloodline', 'scarification', 'pottery', 'bed', 'barbaric', 'white_mask', 'mastery_katana', 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'collective_toil', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'accept_darkness', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'survival_of_the_fittest', 'scrap_smelting']
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'ammonia' innovation!
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'dragon_speech' innovation!
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'graves' principle from available innovations...
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'cannibalize' principle from available innovations...
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'protect_the_young' principle from available innovations...
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'hovel' innovation!
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'romantic' principle from available innovations...
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'bloodline' innovation!
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'barbaric' principle from available innovations...
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'inner_lantern' innovation!
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] already has 'empire' innovation!
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'collective_toil' principle from available innovations...
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'accept_darkness' principle from available innovations...
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing 'survival_of_the_fittest' principle from available innovations...
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] available innovations AFTER removing principles and assets in the settlement's list: ['mastery_whip', 'drums', 'saga', 'nightmare_training', 'mastery_dagger', 'song_of_the_brave', 'mastery_axe', 'ultimate_weapon', 'crimson_candy', 'guidepost', 'war_room', 'paint', 'sauna_shrine', 'nigredo', 'partnership', 'shadow_dancing', 'records', 'memento_mori', 'umbilical_bank', 'scarification', 'pottery', 'bed', 'white_mask', 'mastery_katana', 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'rubedo', 'mastery_spear', 'bloodletting', 'mastery_sword', 'albedo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'settlement_watch', 'symposium', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'the_knowledge_worm', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'petal_spiral', 'heart_flute', 'sun_language', 'round_stone_training', 'black_mask', 'stoic_statue', 'subterranean_agriculture', 'scrap_smelting']
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'dragon_speech' consequences: ['hovel', 'inner_lantern', 'drums', 'paint', 'symposium', 'ammonia']
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'hovel' consequences: ['partnership', 'family', 'bed', 'shadow_dancing', 'bloodline', 'settlement_watch']
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'bloodline' consequences: ['empire']
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'ammonia' consequences: ['bloodletting', 'lantern_oven']
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'empire' consequences: []
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] adding 'inner_lantern' consequences: ['shrine', 'scarification']
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] ALL consequences: ['ammonia', 'bed', 'bloodletting', 'bloodline', 'drums', 'empire', 'family', 'hovel', 'inner_lantern', 'lantern_oven', 'paint', 'partnership', 'scarification', 'settlement_watch', 'shadow_dancing', 'shrine', 'symposium']
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'ammonia'
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'bloodline'
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'empire'
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'hovel'
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] removing UNAVAILABLE consequence: 'lantern_oven'
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] consequences after removing all UNAVAILABLE consequences: ['bed', 'bloodletting', 'drums', 'family', 'inner_lantern', 'paint', 'partnership', 'scarification', 'settlement_watch', 'shadow_dancing', 'shrine', 'symposium']
[2018-06-13 13:50:25] ERROR:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] consequences list includes UNAVAILABLE consequence 'family'
[2018-06-13 13:50:25] ERROR:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] consequences list includes UNAVAILABLE consequence 'inner_lantern'
[2018-06-13 13:50:25] DEBUG:    settlements object 'The Gold Lantern' [5b1d4e8d8740d97707fa141b] deck dict initialized based on AVAILABLE consequences: ['partnership', 'bed', 'shadow_dancing', 'paint', 'shrine', 'drums', 'symposium', 'bloodletting', 'scarification', 'settlement_watch']
toconnell commented 6 years ago

Hey @BitForesters, I think I solved the issue where "Family" was mistakenly showing up (looks like it was an order of operations thing). Here's how your list looks now in production:

[
    "Bed",
    "Bloodletting",
    "Drums",
    "Paint",
    "Partnership",
    "Scarification",
    "Settlement Watch",
    "Shadow Dancing",
    "Shrine",
    "Symposium"
]

Let me know if that looks correct!

BitForesters commented 6 years ago

Looks good now. I'll keep on keeping an eye on it. Thanks!

toconnell commented 6 years ago

Just got an email report of another PotSun settlement missing Shadow Dancing.

He's got these in his deck:

[
    "Bloodletting",
    "Citrinitas",
    "Clan of Death",
    "Forbidden Dance",
    "Hands of the Sun",
    "Nightmare Training",
    "Partnership",
    "Pictograph",
    "Pottery",
    "Storytelling"
]

He says he's missing Shadow Dancing and Lantern Oven.

Here's his debug output:

[2018-06-19 12:58:22] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] get_innovation_deck() debug enabled!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] available innovations: ['mastery_whip', 'drums', 'family', 'saga', 'nightmare_training', 'mastery_
dagger', 'song_of_the_brave', 'ultimate_weapon', 'ammonia', 'dragon_speech', 'graves', 'guidepost', 'paint', 'cannibalize', 'sauna_shrine', 'nigredo', 'partnership', 'shadow_dancing'
, 'records', 'protect_the_young', 'clan_of_death', 'memento_mori', 'hovel', 'umbilical_bank', 'romantic', 'bloodline', 'scarification', 'pottery', 'bed', 'barbaric', 'mastery_katana'
, 'sculpture', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_sword', 'alb
edo', 'face_painting', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'lantern_oven', 'symposium', 'collective_toil', 'mastery_club', 'radiating_orb', 'mas
tery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'mastery_axe', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_gra
nd_weapon', 'accept_darkness', 'heart_flute', 'sun_language', 'round_stone_training', 'subterranean_agriculture', 'survival_of_the_fittest', 'scrap_smelting']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'drums' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'family' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'saga' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'song_of_the_brave' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'ammonia' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing 'graves' principle from available innovations...
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'paint' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing 'cannibalize' principle from available innovations...
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'nigredo' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing 'protect_the_young' principle from available innovations...
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'hovel' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing 'romantic' principle from available innovations...
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'bed' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing 'barbaric' principle from available innovations...
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'sculpture' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'albedo' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'face_painting' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'symposium' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing 'collective_toil' principle from available innovations...
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing 'accept_darkness' principle from available innovations...
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'sun_language' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] already has 'round_stone_training' innovation!
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing 'survival_of_the_fittest' principle from available innovations...
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] available innovations AFTER removing principles and assets in the settlement's list: ['mastery_whip', 'nightmare_training', 'mastery_dagger', 'ultimate_weapon', 'dragon_speech', 'guidepost', 'sauna_shrine', 'partnership', 'shadow_dancing', 'records', 'clan_of_death', 'memento_mori', 'umbilical_bank', 'bloodline', 'scarification', 'pottery', 'mastery_katana', 'filleting_table', 'storytelling', 'mastery_scythe', 'dark_water_research', 'inner_lantern', 'rubedo', 'mastery_spear', 'empire', 'bloodletting', 'mastery_sword', 'destiny', 'cooking', 'final_fighting_art', 'hands_of_the_sun', 'shrine', 'lantern_oven', 'mastery_club', 'radiating_orb', 'mastery_bow', 'pictograph', 'sacrifice', 'mastery_katar', 'mastery_shield', 'forbidden_dance', 'mastery_axe', 'citrinitas', 'mastery_fist_and_tooth', 'aquarobics', 'arena', 'mastery_grand_weapon', 'heart_flute', 'subterranean_agriculture', 'scrap_smelting']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'sun_language' consequences: ['ammonia', 'drums', 'hovel', 'paint', 'symposium', 'hands_of_the_sun']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'hovel' consequences: ['partnership', 'bed']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'symposium' consequences: ['nightmare_training', 'storytelling']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'paint' consequences: ['pictograph', 'sculpture', 'face_painting']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'nigredo' consequences: ['albedo']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'face_painting' consequences: []
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'sculpture' consequences: ['pottery']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'drums' consequences: ['song_of_the_brave', 'forbidden_dance']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'albedo' consequences: ['citrinitas']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'bed' consequences: []
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'song_of_the_brave' consequences: ['saga']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'round_stone_training' consequences: []
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'family' consequences: ['clan_of_death']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'ammonia' consequences: ['bloodletting']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] adding 'saga' consequences: []
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] ALL consequences: ['albedo', 'ammonia', 'bed', 'bloodletting', 'citrinitas', 'clan_of_death', 'drums', 'face_painting', 'forbidden_dance', 'hands_of_the_sun', 'hovel', 'nightmare_training', 'paint', 'partnership', 'pictograph', 'pottery', 'saga', 'sculpture', 'song_of_the_brave', 'storytelling', 'symposium']
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing UNAVAILABLE consequence: 'albedo'
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing UNAVAILABLE consequence: 'bed'
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing UNAVAILABLE consequence: 'drums'
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing UNAVAILABLE consequence: 'hovel'
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing UNAVAILABLE consequence: 'paint'
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing UNAVAILABLE consequence: 'saga'
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing UNAVAILABLE consequence: 'song_of_the_brave'
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] removing UNAVAILABLE consequence: 'symposium'
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] consequences after removing all UNAVAILABLE consequences: ['ammonia', 'bloodletting', 'citrinitas', 'clan_of_death', 'face_painting', 'forbidden_dance', 'hands_of_the_sun', 'nightmare_training', 'partnership', 'pictograph', 'pottery', 'sculpture', 'storytelling']
[2018-06-19 12:58:23] ERROR:    settlements object 'Sun' [5b1bf3ed8740d90623901167] consequences list includes UNAVAILABLE consequence 'ammonia'
[2018-06-19 12:58:23] ERROR:    settlements object 'Sun' [5b1bf3ed8740d90623901167] consequences list includes UNAVAILABLE consequence 'face_painting'
[2018-06-19 12:58:23] ERROR:    settlements object 'Sun' [5b1bf3ed8740d90623901167] consequences list includes UNAVAILABLE consequence 'sculpture'
[2018-06-19 12:58:23] DEBUG:    settlements object 'Sun' [5b1bf3ed8740d90623901167] deck dict initialized based on AVAILABLE consequences: ['pottery', 'pictograph', 'storytelling', '
nightmare_training', 'partnership', 'clan_of_death', 'forbidden_dance', 'hands_of_the_sun', 'citrinitas', 'bloodletting']
toconnell commented 6 years ago

So there's a problem (again) with the Hovel asset definition, which looks like this:

 72     "hovel": {
 73         "name": "Hovel",
 74         "innovation_type": "home",
 75         "consequences": ["partnership","family","bed","shadow_dancing","bloodline","settlement_watch"],
 76         "departure_buff": "Departing survivors gain +1 survival.",
 77         "departing_survival_bonus": {"general": 1},
 78         "survival_limit": 1,
 79         'desc': 'The settlement accepts this nightmarish landscape as their home.<br/><b>Departing survivors</b>     gain +1 survival.',
 80     },

Also, Ammonia only has bloodletting as a consequence, and should have that and Lantern Oven.

Once again, it looks like the asset dictionaries are somehow being modified in memory...

toconnell commented 6 years ago

Alright, I just changed the copy() call in the get_innovation_deck() method to a deepcopy(). Maybe that fixes it?

toconnell commented 5 years ago

This one is more than a year old at this point and I haven't heard or seen anything about it. Closing this out.