Comments (12)
Isis can handle global maintenance pulses to update global game state in one fell swoop on relatively accurate, periodic intervals without the duplication, missed events, and other weird issues of on_actions.
from emf.
Yes, definitely expiring modifiers and sticking to outliers would be key. Also, these events might be perfect for the style notification = yes
that I've been so wanting to use, as we don't want to add yet more pop-ups for the user to click-through when they're trying to do something.
I'm assuming they have largely economic outcomes? I could see them impacting things like effective fort readiness on coastal provinces, trade value, tax modifiers, possibly movement speed (do we have this in 2.1 already or is it one of the extensions?), and, of course, levy_sizes.
from emf.
That's a good idea about using the notification options. And yes, I'm thinking mostly economic outcomes, though I suppose particularly harsh events could result in revolt risk as well.
from emf.
If the modifiers self-expire, then Isis will be a lot happier. She'll only have to dole out weather events on her maintenance pulses and never do global sweeps (at least, not for this mechanic-- they're not out of the question nor should by any means be considered a performance drag). They can be as short-lasting or as long as they like.
from emf.
I started up the weather module in a separate branch in my fork.
from emf.
How are you going to go about initial modifier assignment?
Are you going to sweep all provinces on the map every quarter? Or what about doing like 30 random selections of regions, where a region is a province and all provinces that border it and evaluating them for weather events?
I recommend that you don't use any actual province_events. You can't use notification = yes
on those, nor can you even hide_window = yes
them (popup always gets delivered to province owner).
from emf.
I haven't yet decided how exactly I want to do it. The regions approach is tempting, but I do worry about excessive clustering of weather modifiers; though I suppose that problem could be addressed by preventing the initial province choice (the one which would define the region) from being within 3-4 provinces of a province which already has a weather modifier.
from emf.
Since checking for "shortest distance by number of hops" is already a nontrivial problem in computer science (but easily solved in these cases with real tools), do remember that you're dealing with Paradox. The only not stupidly overcomplicated way you can check adjacency-distance efficiently really beyond just immediate adjacency is through use of nested any_neighbor_province
, which means considering every neighbor province of every neighbor province's neighbor provinces (with tons of "doubling back" on your steps).
However, you can note whether independent realms (or just duke-and-above realms) have a weather modifier in them fairly cheaply.
Province sweeping with a recursive event for every province is probably your most straightforward way to go. Not the cheapest thing to do in the world every 90 days, esp. on large maps like SWMH+ will be (though vanilla is pretty fucking big too, when you line-up the numbers at this point), but I say: it's better to code it the straightforward way with full coverage and find out it makes no performance difference than to have to scale back your approach a bit later if it proves to actually make a difference. So sweep away.
from emf.
And by "recursive event for every province," I mean hidden recursive character_event for each of all rulers' count-tier demesne titles.
from emf.
Actually, what I was thinking about doing was a pairing a major = yes
narrative event which excludes players (since I don't care if AI gets a popup they have to "click") with an invisible event which only hits players.
from emf.
If all you want is ruler-level granularity (i.e., not accounting for multiple counties in a demesne equally with the rest), that will work well.
from emf.
And Anax delivered this long ago, stunningly. Closing.
from emf.
Related Issues (20)
- Princely Elective dynamic elector title (re)assignment needs narrative events HOT 1
- Increase prestige cost of tribal buildings & reduce their output
- [LTM] Update terrain map for South India addition
- [LTM] Reverse redefinition of farmland terrain as plains
- [LTM & SWMH] Remove 2 modern day reservoirs from the map
- [LTM] Give "salt lake" visual treatment to Nalsarovar lake in Gujarat HOT 1
- [SWMH] Solve syntactic issues with `misc_old_gods_events.txt` HOT 2
- Sweep through LT_936 events & decisions HOT 2
- Ensure SWMH 936 title setup is conducive to HRE restoration. HOT 2
- Sweep for any code which runs conditionally on the 867 start.
- Sweep for any TMP-SAVE-COMPAT comments and/or things that should be adjusted due to breaking save-compatibility in EMF v11.
- Ensure all changes relating to the Hungarian cultural split don't impede the Magyar Migration historical chain. HOT 1
- Update EMF+SWMH bookmarks & finalize them. HOT 3
- Retool Otto's story event chains HOT 1
- Regenerate "antinomad" before Frosty1 release (and no sooner)
- people can declare war on weak claim in new beta version! HOT 3
- [SWMH] Count becomes a Duke gets auto removed from the council HOT 1
- Isis visible even when "supernatural events" turned off HOT 2
- Flanders is a Comté; its vassal counties are also Comtés
- On inheriting a title, player character is stripped of other titles HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emf.