Code Monkey home page Code Monkey logo

medieval_tech's People

Contributors

kailric avatar libspit avatar nightinggale avatar orlanth avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

trade--winds

medieval_tech's Issues

Civic Effect: Improvements can slow enemy movement

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.

Civilization templates

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.

Civic Effect: Workers can still build after moving

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.

Civic Effect: Missionaries are not consumed

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.

Savegame resistant to XML changes

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.

Assert 15607 CvInfos.cpp

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.

Clean up CvPlayer::updateInventionEffectCache()

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.