nightinggale / medieval_tech Goto Github PK
View Code? Open in Web Editor NEWMOD for Civilization 4: Colonization
MOD for Civilization 4: Colonization
What we are wanting to do is set it up so that Improvements have XML options to Slow Enemy Movement. That means when a unit moves next to the Improvement their turn ends, and they can only move one space away from the Improvement next turn.
This can be setup to require a Defender in the Improvement or not as well.
Remove FREE_PEASANT_CIVIC from globalDefineALT
Replace with existing, but unused civic option NewDefaultUnitClass
Find a similar solution for luxury food growth unit
Write new XML with civilization templates. A civilization can then use a template to set default values for certain settings. The civilization can then overwrite these just like it overwrites default settings now.
An example of template usage would be a native template setting up native units and disabling non-native units. All native civilizations can then use this template instead of setting up the very same settings for all civs. This should make future updates a lot easier.
Maybe the same concept can be used for units.
This allows workers to build even after moving. Currently, if a Worker moves one space they must wait till the next turn to actually build. This mod will allow Workers to build even after having spent their movement points. There will need to be checks to prevent the player from exploiting Building over and over the same turn.
Buildings will receive this bonus if they are under the correct Civic
XML and DLL modification to allow a Building to add a percent to the treasury. The Player should be able to mouse hover over their gold stash icon on the main screen to see their Extra gold per turn.
When FF points are awarded the player games extra if they have this civic
Normally when you create a Mission the unit is consumed. This Effect would allow units to not to be consumed. When the Mission creates its first Convert the Missionary reappears but the Mission in the City remains.
This can be done using the UnitTravelStates. UNIT_TRAVEL_STATE_HIDE_UNIT is not currently being used and this enum could be set up to "Hide" units for this and other effects as well.
Make it more likely to be able to load a savegame correctly even if XML changed in between. The result should be that unlike now, the game should load fine if say a unit is added.
The idea is to save the type order of selected files and then loading just-in-time arrays should reorder as needed.
New types should be stored with default values.
Removed types should be skipped, which will work in some, but not all cases.
Example: UNIT_AA is added with index 2.
When loading UnitArray, the one which was saved as index 2 should be stored in the array on index 3.
Performance concerns:
Saving is only lightly affected as it should only save the type strings once. This is likely completely unnoticeable.
Loading might slow down a bit, but not enough to cause a concern.
Savegame size shouldn't really be affected because strings are only saved once.
Idea came from C2C and somewhat explained here: http://forums.civfanatics.com/showthread.php?t=454061
The implementation will be totally different though.
Code is in place for the new connected to Trading Post/Missionaries is in place but needs to be tested and optimized
This is like a Holy War or Jehad civic.
File: CvInfos.cpp
Line: 15607
Expression: i < GC.getUnitInfo((UnitTypes) j).getGroupDefinitions((ProfessionTypes) m)
Message: Index out of bounds
Willy Trader graphics appears to be missing.
This will make game change in that Units will be consumed when establishing a Trading Post and then this Civic effect will prevent this from happening.
CvPlayer::updateInventionEffectCache() contains a whole lot of nearly identical loops. Try to write one generic loop and call it multiple times.
Alternatively try to do more in a single loop, though that might get messy too.
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.