primem0ver
Emperor
Want a better invisible system for your mod? Do you want spies who can see lesser spies or units that can see invisible units of a lesseer invisible "technology?" without the lower units seeing the better units? Tired of your units being only able to see one invisible type? I did, and I was... so I created this new little MODDABLE mod based on a new XML file.
Introducing the...
What Is it?
I was slightly disappointed at the original invisibility system that was in Civ4 when I started modding (CTP2’s was a bit better with its spy types). I lived with it like everyone else for a while but then my needs as a mod developer ran up against this proverbial wall; hence the rudimentary beginnings of this mod. Even before it was asked for, this system was already in the works by way of some hard coded SDK and Python (Our mod developers were still debating on whether we would include my new “camouflaged” units in the mod). Then several visitors in the Genetic Era Mod forum suggested that with our emphasis on the sea, that we create some “upgraded” sea/underwater units based on “upgraded invisibility or stealth.” I finally decided to make a fully moddable and versatile invisibility system. So here we are: The Graded Invisibility Mod is an enhanced invisibility type that replaces the old (vanilla) invisibility type for Warlords 2.0.8.
IMPORTANT NOTE: In the original game and warlords expansion, a unit’s invisibility is dependent on two tags in CIV4UnitInfos.xml: namely <bInvisible> and <Invisible> where the <Invisible> tag contains a value that refers to an InvisibleType defined in the CIV4BasicInfos.xml file. This invisible type corresponds to a (or is represented by) CvBasicInfo in the SDK. This mod replaces (reassigns) the InvisibleType in both XML and the SDK. Invisible types defined in the CIV4BasicInfos.xml file are now obsolete (with this mod) and are not loaded by the game. They are replaced by a new xml file located in the GameInfos directory: CIV4InvisibleInfos.xml.
Using the above file, mod developers can create their own individualized invisible types (and type systems/series) using the new file as long as they follow the format properly. Information, directions, and help on how to do this are all in the help files.
Additional Note: Currently this mod is in beta (although the system seems to work well enough). I am sure that if people are interested in this sort of mod, they will probably have suggestions which I am open to. Please keep in mind though that I do have a job and a significantly larger mod to take care of ).
New Invisibility Features:
Requirements:
Future Plans:
I have plans for two improvements at the moment:
"Terms" of Use:
As with any mod, the charge is free. I figured there would be some modders out there who could use this so I am donating it for free use. You may use this to your hearts content. All I ask if you do use this mod, is the following:
The Files:
Click here to download the Modified DLL for the sample mod (to be linked to shortly... must find a place to host because file is over 1 MB)
The first download below contains just the modded files. It includes the modified CIV4GameInfoSchema.xml and the NEW CIV4InvisibleInfos.xml XML files. It also includes all changed SDK files. The SDK files are only those that have been modified from their original form (From the Warlords 2.0.8 update). It also contains the XML files for the sample mod.
The second download below contains all the help files and documentation on the new class and the new XML file. It contains step by step instructions (for those who need them) on what to change in the SDK. You may also use the SDK files included in the first download and simply merge them with a text comparing tool. This file ALSO CONTAINS the art files necessary for the sample mod
Introducing the...
Graded Invisibility Mod (Component)
Version 0.5
Version 0.5
What Is it?
I was slightly disappointed at the original invisibility system that was in Civ4 when I started modding (CTP2’s was a bit better with its spy types). I lived with it like everyone else for a while but then my needs as a mod developer ran up against this proverbial wall; hence the rudimentary beginnings of this mod. Even before it was asked for, this system was already in the works by way of some hard coded SDK and Python (Our mod developers were still debating on whether we would include my new “camouflaged” units in the mod). Then several visitors in the Genetic Era Mod forum suggested that with our emphasis on the sea, that we create some “upgraded” sea/underwater units based on “upgraded invisibility or stealth.” I finally decided to make a fully moddable and versatile invisibility system. So here we are: The Graded Invisibility Mod is an enhanced invisibility type that replaces the old (vanilla) invisibility type for Warlords 2.0.8.
IMPORTANT NOTE: In the original game and warlords expansion, a unit’s invisibility is dependent on two tags in CIV4UnitInfos.xml: namely <bInvisible> and <Invisible> where the <Invisible> tag contains a value that refers to an InvisibleType defined in the CIV4BasicInfos.xml file. This invisible type corresponds to a (or is represented by) CvBasicInfo in the SDK. This mod replaces (reassigns) the InvisibleType in both XML and the SDK. Invisible types defined in the CIV4BasicInfos.xml file are now obsolete (with this mod) and are not loaded by the game. They are replaced by a new xml file located in the GameInfos directory: CIV4InvisibleInfos.xml.
Using the above file, mod developers can create their own individualized invisible types (and type systems/series) using the new file as long as they follow the format properly. Information, directions, and help on how to do this are all in the help files.
Additional Note: Currently this mod is in beta (although the system seems to work well enough). I am sure that if people are interested in this sort of mod, they will probably have suggestions which I am open to. Please keep in mind though that I do have a job and a significantly larger mod to take care of ).
New Invisibility Features:
• Allows units to see multiple invisibility types (of lower grade/ability levels) by creating a “graded” series.
• Allows invisibilities of a “higher grade” type to still be invisible to lower grade types while higher grade types can still see lower grade types
• Allows spy units to have a graded visibility so that better spies can see all lower spies but lower spies can only see each other (basically the same as the last bullet).
• Allows specialized invisibility (camouflage) where units are only invisible on certain types of terrain or with certain features.
• Uses a new XML file so that modders can easily define their own invisibility types and type systems (though you must keep track of your own system because as of now there is not an “invisibility class” per se.). This file is located in the GameInfo folder… but don’t forget to read the documentation!
• Adds new Info class to the SDK. This information is mostly useful for SDK modders: InvisibleTypes are now cast as class CvInvisibleInfo instead of the original CvBasicInfo class
• You can customize on what terrain(s) and with what feature(s) the units of a particular type are invisible or you can be more general (hills or trees for example)
• You can define any number of type (grading or scale) systems. For example, you can create one or more for each domain and they will operate separately (i.e. a graded system for land, sea, air, etc… so that land units will not necessarily see units of the same grade or “level” on a different domain (or different type of unit with a different “system” for invisibility). One limit: you may only have 100 invisibility types in any one chain (which in my opinion is WAY too many…but hey… one never knows!).
• You can develop grading systems that you want to be based on a specific type of leveled technology and still keep them separate (by keeping their “scaling or grade systems separate). For example you can come up with a system based on underwater “cloaking” technology versus “silence” technology and one will not be able to see the same grade (or lower) of the other technology (as long as you don’t link one into another).
• Allows invisibilities of a “higher grade” type to still be invisible to lower grade types while higher grade types can still see lower grade types
• Allows spy units to have a graded visibility so that better spies can see all lower spies but lower spies can only see each other (basically the same as the last bullet).
• Allows specialized invisibility (camouflage) where units are only invisible on certain types of terrain or with certain features.
• Uses a new XML file so that modders can easily define their own invisibility types and type systems (though you must keep track of your own system because as of now there is not an “invisibility class” per se.). This file is located in the GameInfo folder… but don’t forget to read the documentation!
• Adds new Info class to the SDK. This information is mostly useful for SDK modders: InvisibleTypes are now cast as class CvInvisibleInfo instead of the original CvBasicInfo class
• You can customize on what terrain(s) and with what feature(s) the units of a particular type are invisible or you can be more general (hills or trees for example)
• You can define any number of type (grading or scale) systems. For example, you can create one or more for each domain and they will operate separately (i.e. a graded system for land, sea, air, etc… so that land units will not necessarily see units of the same grade or “level” on a different domain (or different type of unit with a different “system” for invisibility). One limit: you may only have 100 invisibility types in any one chain (which in my opinion is WAY too many…but hey… one never knows!).
• You can develop grading systems that you want to be based on a specific type of leveled technology and still keep them separate (by keeping their “scaling or grade systems separate). For example you can come up with a system based on underwater “cloaking” technology versus “silence” technology and one will not be able to see the same grade (or lower) of the other technology (as long as you don’t link one into another).
Requirements:
• Necessary files: modified CvGameCoreDLL.dll, new XML file: CIV4InvisibilityTypes.xml, and modified schema file CIV4GameInfoSchema.xml
• Warlords Expansion with 2.0.8 patch. (NOTE: this mod may work on earlier versions but it has not been tested so there are no guarantees. You will also need to add the necessary code changes yourself in order to get it to work.)
• It is not recommended that you use the supplied files as they are UNLESS you have not made any sdk changes. To merge with your own mod you may use a file compare tool or follow the instructions in the SDK readme/help files.
• Warlords Expansion with 2.0.8 patch. (NOTE: this mod may work on earlier versions but it has not been tested so there are no guarantees. You will also need to add the necessary code changes yourself in order to get it to work.)
• It is not recommended that you use the supplied files as they are UNLESS you have not made any sdk changes. To merge with your own mod you may use a file compare tool or follow the instructions in the SDK readme/help files.
Future Plans:
I have plans for two improvements at the moment:
1. The first is that I would like to build in a slightly better feedback system for XML errors for the new XML file (Currently there is no checking for bad “links” to missing Invisible types for example.)
2. One slight limitation I can think of off the bat or “cuff” is that the AI is not programmed to maximize “cover” for camouflaged units when finding the best route from one place to another. I would like to eventually add this capability but I currently have other priorities. I also of course plan to correct any bugs that exist. Let me know of any mistakes/problems/suggestions for the documentation.
The rest of my plans are pretty well limited to just seeing what people think. If people have big interest and big suggestions I may release a future version (after this one goes beyond beta). Otherwise, I don’t have to many immediate thoughts since I have my head in other projects for the moment.2. One slight limitation I can think of off the bat or “cuff” is that the AI is not programmed to maximize “cover” for camouflaged units when finding the best route from one place to another. I would like to eventually add this capability but I currently have other priorities. I also of course plan to correct any bugs that exist. Let me know of any mistakes/problems/suggestions for the documentation.
"Terms" of Use:
As with any mod, the charge is free. I figured there would be some modders out there who could use this so I am donating it for free use. You may use this to your hearts content. All I ask if you do use this mod, is the following:
• Give credit where credit is due (to the author).
• Let me know personally of any major enhancements you may give to this mod (I promise to follow my own creed if I use it/them in future versions!)
• I may ask that you post to a “signup” forum so that I know who and what mods are making use of this new feature. (USE pm right now)
• Let me know personally of any major enhancements you may give to this mod (I promise to follow my own creed if I use it/them in future versions!)
• I may ask that you post to a “signup” forum so that I know who and what mods are making use of this new feature. (USE pm right now)
The Files:
Click here to download the Modified DLL for the sample mod (to be linked to shortly... must find a place to host because file is over 1 MB)
The first download below contains just the modded files. It includes the modified CIV4GameInfoSchema.xml and the NEW CIV4InvisibleInfos.xml XML files. It also includes all changed SDK files. The SDK files are only those that have been modified from their original form (From the Warlords 2.0.8 update). It also contains the XML files for the sample mod.
The second download below contains all the help files and documentation on the new class and the new XML file. It contains step by step instructions (for those who need them) on what to change in the SDK. You may also use the SDK files included in the first download and simply merge them with a text comparing tool. This file ALSO CONTAINS the art files necessary for the sample mod