matshou / eu4-eve Goto Github PK
View Code? Open in Web Editor NEWExtended Vanilla Experience is a EUIV general overhaul mod.
Extended Vanilla Experience is a EUIV general overhaul mod.
So far we have implemented quasi-argument-methods by delegating argument values to country scope variables and then reading them from methods. I've recently discovered a better way to do this.
There also might be a possibility of exporting variable values from one scope to another using this system. Experimenting with this should be a priority.
See more information here:
https://eu4.paradoxwikis.com/Commands#Scripted_Effects
Low naval maintenance should have secondary and maybe even tercial effects such as sailor growth. Think about possible effects for land maintenance as well.
Here is a great suggestion on how to determine base free_leader_pool
value:
The limit should be based on your forcelimit - how will you manage your army AND navy while having massive chunks of land and only 2 generals? I think the most balanced system would be giving 1 slot per 20 land units or 25 ships.
Province modifier State Administrative Center
is not removed when the courthouse building is removed from the province. A simple code implementation in states
would be enough handle this.
The following positive modifiers should be inverted:
local_build_cost = -0.3
local_ship_cost = - 0.3
ship_recruit_speed = -0.3
Commit 96e90f3 replaced courthouse building trigger
condition with scripted trigger condition in hopes that new game patches have solved this problem, but this still remains an issue.
...vanilla code does not recognize references to building entries that are made AFTER the calling building. In this situation the town hall building would not be recognized because it's declared after courthouse.
[trigger.cpp:2154]: Error "failed trigger validation for "none"" when compiling instance of "has_admin_building" resulting in source:
OR = { has_building = courthouse has_building = town_hall }
[trigger.cpp:2154]: Error "failed trigger validation for "none"" when compiling instance of "can_build_adm_center" resulting in source:
is_state = yes NOT = { is_capital = yes any_province_in_state = { NOT = { province_id = PREV } has_admin_building = yes } }
Merchants in the game have static hardcoded names and never die. This breaks realism and seems like a relique of EUIII where merchants had dynamic names (as far as I remember).
One possible solution would be to mess around in the interface folder (outliner.gui) to try to replace it with a custom gui class if that's somehow possible.
Raising vassal taxes should have an administrative power cost and a cooldown so it can't be spammed.
Initial thoughts on this: 100 ADM power cost, 2-5 year cooldown.
The province scope variable previous_owner gets set with the tag of the country that owned that province before changing ownership. However this value becomes null after loading the campaign. This is very similar to issue #2 - certain things just don't work after loading the campaign.
[effect.cpp:854]: Unknown effect-type governance.calc_ruler_m in line : 1
[persistent.cpp:52]: Error: "Unexpected token: governance.calc_ruler_m, near line: 1
" in file: "" near line: 1
[persistent.cpp:52]: Error: "Malformed token: {, near line: 1
" in file: "" near line: 1
[effect.cpp:854]: Unknown effect-type id in line : 1
[persistent.cpp:52]: Error: "Unexpected token: id, near line: 1
" in file: "" near line: 1
[effect.cpp:854]: Unknown effect-type = in line : 1
[persistent.cpp:52]: Error: "Unexpected token: =, near line: 1
" in file: "" near line: 1
[persistent.cpp:52]: Error: "Malformed token: {, near line: 1
" in file: "" near line: 1
[effect.cpp:854]: Unknown effect-type id in line : 1
[persistent.cpp:52]: Error: "Unexpected token: id, near line: 1
" in file: "" near line: 1
[effect.cpp:854]: Unknown effect-type = in line : 1
[persistent.cpp:52]: Error: "Unexpected token: =, near line: 1
" in file: "" near line: 1.
[effect.cpp:854]: Unknown effect-type governance.reinit_values in common/on_actions/00_on_actions.txt line : 29
[persistent.cpp:52]: Error: "Unexpected token: governance.reinit_values, near line: 29
" in file: "common/on_actions/00_on_actions.txt" near line: 29
It's time to start keeping a changelog for this project.
Take a look at how they keep track of changes on Paradox wiki.
Crash happens on the first update pulse somewhere in "update_gov_policy" method for some overseas countries. Cause unknown for now.
Find a way to add custom syntax highlighting for Paradox script language to repo wiki.
This might be a good place to start researching: Using syntax highlighting on github.
Related to Paradox Script Language issue.
Create advisor corruption events which frequency scale with current corruption.
Advisors can become corrupt and have negative impact on the country and which advisor on the court is responsible is not clear to the player.
When saving a game every variable that has a value of "0" will not get saved. It will not be removed from current memory, but will not get allocated the next time we load that save game.
This is actually good news, as we don't have to worry so much about declaring temporary local variables knowing they will essentially be erased and cease to exist on next load. However it also means that legitimate static variables that hold null values need to be manually allocated on every load.
Functions can be declared in an xml file somewhere in npp folder. This acts as a parser of some sort that displays these functions in a dockable window. Read more about it here.
Explore the possibility of having advisors from other countries or cultures (make them more costly).
Paradox scripting language is written for Clausewitz game engine built for games other then EU4. It's possible that EU4 wiki does not include a complete list of scripting features.
Here's a CKII scripting wiki page that might contain some syntax not included on EU4 wiki.
After either auto-loading from the launcher or loading from the main menu, the "on_activation" method of province triggered modifiers stops firing daily (does not fire at all actually). This however does not happen if we start a new campaign and then load our save.
I speculate this is a bug on Paradox's side due to spaghetti code problems.
Mercantilism:
+local goods produced
-improve relations (diplo rep)
-trade steering
+national spy defense
25% of steering gets collected
merchant compete mechanics based on random events/modifiers (monthly)
When embargoing apply malus to relations with other countries based on victims diplo reputation
Since Dharma update (1.26) the game would crash when printing a log containing customizable localization
tags from scripted effects
and scripted triggers
. I don't believe this is intended and most probably a bug on Pradox's side.
Have to find a workaround until they release a patch that addresses this issue.
Spy networks should have more some more benefits like added monthly corruption which could replace the related covert action. Read more about the forums about this topic and add suggestions here.
Improve republican election system based on some of these propositions:
https://www.reddit.com/r/eu4/comments/8ecotg/suggestion_allow_republics_to_see_the_age_of/
The current value is 1
and it should be 12
.
Weak Advisors:
Medium Advisors
New Advisors
Have advisors of the same 'class' but with different stats.
They would have less frequency of spawning and some would require buildings to spawn at all.
Punish the player for firing the advisor too soon or reward him for keeping him around somehow,
to avoid players abusing hiring advisors for one day and firing them the next to cash in on the bonuses
like artist with stab mod. This can also be avoided by redoing advisor modifiers in a way where players
have no incentive to do the insta hire-fire tactic (artist needs to go).
Advisor personalities and influence over the ruler that increases with time and with some events.
This can be displayed in a custom tooltip when hovering over the ruler.
This would make drilled regiments a lot stronger then un-drilled ones making them elite.
Have all countries synchronize to fire their pulse on the beginning of each month. This should lower the apparent random slowdowns the players will exhibit as countries are randomly updating. Having a uniformed date of pulse will also make things more predictable for development in the future.
To do this I would recommend using "is_year" condition on eve initialization to determine which year is it, make a calendar system and track each day as it fires.
Fix a small GUI text error that happens when rating is moving to neutral.
Text string_policy_gov_increase_time_1 should have an additional condition to NOT display adjective (only quantifier) when we're moving to neutral. Edit policy_gov_mod_pref_2_txt for that.
Add an army modifier for all units when a monarch (king or queen) has been converted to a general.
The modifier should scale with legitimacy for more realism.
Decentralized governance should encourage the growth of local provincial governments that if given enough autonomy and time could potentially rise up in arms and declare an independence war in the name of separatism, religion, previously conquered nation etc.
Here are some potential names for province modifier progression levels:
Introduce some kind of error system that grabs strings from localization when printing.
Try adding syntax highlight functionality for Paradox script language to Notepad++
This would be enormously useful when writing code. Found an article about it here.
Find a way to generate a diff of localization files that are stored in replace folder. Since they are not in the same folder we will not be able to obtain this information by calling a standard git diff command.
Write workflow instructions and contribution practices for gh-pages and binary branch.
Start using and document a standardized commit convention.
Due to SourceCookifier being incompatible with higher versions of Notepad++ and the overall underdeveloped nature of the UDL system it would be a good idea to start implementing EveScript in Atom.
Here is some documentation to getting started:
Recently watched a documentary on witch trials and thought it would be a good idea to expand on the papal event called "Witch Trials". Read more about the history of these trials and implement an interesting mechanic with modifiers and events (maybe even disasters) revolving around this topic.
Read more about the history of witch trials here.
Create a central batch script that gives a welcome message listing all the options from which we can call other scripts to perform various operations.
Paradox has released a new DLC called Dharma a few weeks ago.
Read in detail about all the changes and update the mod.
Some countries and provinces appear to be missing their id's, this could be related to code refactoring. Need to implement error codes and investigate further.
Run through vanilla localization files, find spelling mistakes and replace strings.
Explain by which principal should future domestic policies be structured. Things like good description, included secondary modifiers, associated country decisions and events etc. This sounds like a good first dev note, probably should place it in readme.
Any topic would be great, just do it.
On first update after initializing mod, the game will sometimes crash to desktop. This most probably happens when exporting variable triggers, One possible solution to this would be to create a dedicated method that handles all trigger exports avoiding direct trigger_value:variable usage.
Province modifier province_developing_0
does not have localization because it is not visible in the province UI panel to the player. However, it still displays in the event log with unlocalized string.
Create user defined syntax highlighting for error and game logging.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.