Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ list(APPEND ALICE_INCREMENTAL_SOURCES_LIST
"src/gui/topbar_subwindows/gui_population_window.cpp"
"src/gui/topbar_subwindows/gui_production_window.cpp"
"src/gui/topbar_subwindows/gui_technology_window.cpp"
"src/gui/topbar_subwindows/production_subwindows/gui_build_factory_window.cpp"
"src/gui/immediate_mode.cpp"
"src/gui/economy_viewer.cpp"
"src/gui/unit_tooltip.cpp"
Expand Down
32 changes: 23 additions & 9 deletions assets/localisation/en-US/alice.csv
Original file line number Diff line number Diff line change
Expand Up @@ -1328,15 +1328,15 @@ alice_factory_total_bonus;This sums to about ?Y$x$?W
alice_slider_controls;?YLeft-Click?W to increment by ?Y$value$?W\n?YSHIFT-Left-Click?W to increment by ?Y$x$?W\n?YSHIFT-Right-Click?W to increment to maximum
alice_slider_controls_2;?YLeft-Click?W to decrement by ?Y$value$?W\n?YSHIFT-Left-Click?W to decrement by ?Y$x$?W\n?YSHIFT-Right-Click?W to decrement to minimum
explain_colonial_points;Secondary and Great Powers accumulate colonial points.
province_has_workers;Province has any workforce.
province_has_available_workers;Province has unemployed workforce.
nation_is_factory_type_active;Necessary technology has been researched.
nation_is_factory_type_colonies;Target factory type can be built in colonies.
payback_time;Payback time: ?Y$x$?!
construction_cost;Construction cost: ?Y$x$?!
output_value;Output value: ?Y$x$?!
input_value;Input value: ?Y$x$?!
profitability;Profitability: ?Y$x$?!
province_has_workers;Province has any workforce
province_has_available_workers;Province has unemployed workforce
nation_is_factory_type_active;Necessary technology has been researched
nation_is_factory_type_colonies;This is a colonial province and target factory type can be built in colonies.
payback_time;Payback time: ?Y$value$?!
construction_cost;Construction cost: ?Y$value$?!
output_value;Output value: ?Y$value$?!
input_value;Input value: ?Y$value$?!
profitability;Profitability: ?Y$value$?!
alice_lobby_back;Back to lobby
alice_lobby_back_tt_1;You're already in the fucking lobby
alice_lobby_back_tt_2;Only the host may go back to lobby
Expand Down Expand Up @@ -1951,3 +1951,17 @@ private_message_button_tooltip;Click to toggle whether this player will receive
player_loaded_status;Ready
player_loading_status;Loading
player_oos_status;OOS
output_is_not_in_demand;Output is not in high demand: $value$
output_is_in_demand;Output is in high demand: $value$
alice_factory_type_score;AI factory type score
factory_exploits_local_potentials;Factory exploits local potentials: $value$
factory_doesnt_exploit_local_potentials;Factory doesn't exploit local potentials: $value$
factory_output_consumed_by_other_factory;Output consumed by other local factory: $value$
factory_consumes_other_factory_output;Consumes other local factory's output: $value$
factory_consumes_local_potential_resource;Consumes resource present in local potentials: $value$
factory_consumes_local_rgo_resource;Consumes local RGO resource: $value$
total_score;Total score: $value$
this_is_not_a_pop_project;This is not a pop project: $value$
private_investors_avoid_high_taxes;Private investors avoid taxation: $value$
this_is_not_a_state_project;This is not a state project: $value$
state_seeks_to_maximize_taxes;The State prioritizes high taxation areas: $value$
171 changes: 171 additions & 0 deletions docs/features/UserStoriesGenerated.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
# User Stories
*Automatically generated file on 2026-02-10*

## US1. Regiment construction

| AC4 | All goods costs must be built |
| AC5 | But no faster than construction_time |

## US2. Ships construction

| AC5 | But no faster than construction_time |

## US3. Trade

| AC9 | Wartime embargoes |
| AC10 | diplomatic embargos |
| AC11 | sphere joins embargo |
| AC15 | Equal |
| AC17 | if market capital controller is at war with market coastal controller is different |
| AC2 | register trade demand on transportation labor |
| AC3 | register demand on local transportation |
| AC7 | US3AC8 Ban international sea routes or international land routes based on the corresponding modifiers |
| AC8 | Ban international sea routes or international land routes based on the corresponding modifiers |
| AC12 | subject joins embargo |
| AC21 | effect of scale |
| AC5 | Trade Route Attraction from naval bases |
| AC22 | Trade Route attraction modifier |

## US4. War and peace


## US5. Warscore

| AC4 | What |
| AC5 | count 50 |
| AC1 | Army arrives to province |
| AC2 | Army siege |

## US6. Ticking warscore

| AC3 | Reset selected army orders |
| AC20 | Reduce accumulated ticking warscore when the side adds a new wargoal |
| AC2 | US6AC3 |
| AC12 | US6AC13 US6AC17 US6AC18 US6AC19 Ticking warscore may go into negative only after grace period ends |
| AC5 | US6AC6 Ticking warscope for make_puppet war |
| AC7 | We hold some non |
| AC8 | Battle score |
| AC10 | US6AC17 US6AC18 US6AC19 |

## US7. Move and Siege army order

| AC2 | Enable |
| AC1 | Handle |

## US8. Strategic Redeployment army order

| AC3 | Toggle strategic redeployment order on B. |
| AC2 | Button to order Strategic Redeployment |
| AC1 | Movement finished |

## US9. Pursue and engage army order

| AC1 | Command army to pursue the target |
| AC3 | Button to order pursue_to_engage |
| AC4 | Toggle pursue order on N. |

## US11. Army supplies


## US12. Regiment supplies


## US13. Regiments organization regain

| AC3 | US13AC4 US13AC5 Morale |
| AC7 | Unfulfilled supply doesn't lower max org as it makes half the game unplayable |
| AC8 | Unfilfilled supply doesn't prevent org regain as it makes half the game unplayable |
| AC6 | Max organization of the regiment is 100 |

## US14. Calculates reinforcement for a particular regiment


## US15. Host settings


## US16. Player accounts


## US17. Ships organization regain


## US18. Ships repairs


## US20. De facto annexations


## US27. Scriptable buttons

| AC5 | National level interactions first |
| AC1 | US27AC2 US27AC3 US27AC4 |

## US28. Toggleable windows

| AC5 | US28AC6 UI variable toggle buttons can have nation |
| AC2 | When clicking button with toggle_ui_key the associated UI variable is toggled True |
| AC4 | Window is shown only when UI variable in `visible_ui_key` is set to True |

## US29. Scriptable images with dynamic frames through datamodels

| AC2 | US29AC3 When an icon has `datamodel |
| AC3 | US29AC3 When an icon has `datamodel |
| AC4 | US29AC5 Extracted into a separate function because both icon classes |
| AC6 | US29AC7 |

## US31. Map

| AC3 | If a valid province has been selected, reset selection of armies as well |

## US40. Winter

| AC1 | Winter textures |
| AC2 | Winter siege attrition |

## US49. StackedCalculationWithExplanations allows uniting number calculations for backend with explanation tooltips for the UI

| AC1 | StackedCalculationWithExplanations is constructed with initial float value |
| AC2 | User can add a value with a string_view explanation of the reason |
| AC3 | User can subtract a value with a string_view explanation of the reason |
| AC4 | User can divide current value by provided value with a string_view explanation of the reason |
| AC5 | User can get resulting value from the stack |
| AC6 | User can get all steps used for calculation for tooltipsand UI |
| AC7 | User can reuse existing stack by clearing it |
| AC8 | User can reuse existing stack by reseting it to a different initial value |

## US50. The State constructs factories

| AC1 | Each factory type is evaluated by its profitability, payback time, and a number of synergies |
| AC2 | The State takes top 5 factory options for construction |
| AC4 | The State doesn't initiate more constructions if it doesn't have free funds |
| AC3 | The State takes one random option for construction |
| AC5 | The State doesn't evaluate the cost of the factory it constructs beyond inital analysis |

## US51. Private investment fund builds factories

| AC6 | Private Investment takes top 5 factory options for contrustion |
| AC1 | Investment fund doesn't build if it's over courage with current investments |
| AC2 | Colonial pops are eligible for construction of certain factories |
| AC3 | Provinces are sorted by population descending |
| AC4 | If the province an existing construction, no new construction will be run |
| AC5 | If the state has over state.defines.factories_per_state factories, no new construction will be done |
| AC7 | Private Investment takes random option out of top 5 |
| AC8 | Private Investment doesn't get afraid of expensive constructions. It initiates one and stop the following ones |

## US52. Nation builds some random factories if it can build by itself

| AC2 | Exclude already present factories |
| AC3 | Construction stops when state budget runs out of construction budget appetite |

## US53. Build Factory Window

| AC10 | Tooltip for a factory type displays if the factory type has been activated with a technology |
| AC11 | Tooltip for a factory type displays if the target state is a colony and target factory type can be built in colonies |
| AC12 | Tooltip for a factory type displays if the factory type requires potentials and target state doesn't have required potentials |
| AC13 | Tooltip for a factory type displays key economic metrics of the potential construction |
| AC14 | Tooltip for a factory type displays the score AI places to the factory type |

## US1010. When a factory is created, do market adjustments

| AC1 | When a factory is created, add 10 units of its output to local market to stimulate consumption and demand registration |
| AC2 | when a factory is created, increase price of its inputs to stimulate producing those |
Loading
Loading