Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
As compensation of little off topic, I left my little knowledge of modding below:
First, you shall install Visual Studio Code as your IDE (It just like a notepad with contains much functions and works similar to Google extensions).
Second, download a mod and adjust the mod by yourself (I suppose you know how to install a mod so I will jump about this part), go to codes and you may find some structure like:
(this is changed from "Heavenly Traits" mod, I changed the Invincibility trait to Unmovable trait cause I only need the knockback_reduction property.)
ActorTrait Unmovable= new ActorTrait();
Unmovable.id = "Unmovable";
Unmovable.path_icon = "ui/Icons/IconUnmove";
Unmovable.type = TraitType.Positive;
Unmovable.group_id = TraitGroup.HeavenlyTraits;
Unmovable.can_be_cured = false;
Unmovable.needs_to_be_explored = false;
Unmovable.can_be_given = true;
Unmovable.can_be_removed = true;
Unmovable.only_active_on_era_flag = false;
Unmovable.base_stats[S.knockback_reduction] = 10.0f;
AssetManager.traits.add(Unmovable);
addTraitToLocalizedLibrary(Unmovable.id, "Nothing can move him");
PlayerConfig.unlockTrait("Unmovable");
ActorTrait build a new class object to a customize trait (probably, I'm not familiar to C#)
An customize trait usually contain:
1. id (suggest to use the same name as variable)
2. path_icon (you need to draw one, for this purpose I copy one of the icon in Heavenly Traits mod and redraw it with paint 3D)
3. type
4. group_id
5. birth (this is not exist in example above, basically control the heredity, set from 0 to 100)
6. needs_to_be_explored (set to false)
7. can_be_cured (I guess this is related to the doctor curing behavior as plague and zombie)
8. can_be_given (set to true)
9. can_be_removed (set to true)
10. only_active_on_era_flag (guess this works like elf's moon era trait?)
And the most important part: base_stats
use base_stats and key class "S" to adjust the power of this trait,
the format is Customize_Trait_name.base_states[S.Adjust_Parameter_name]
Below are all the possible parameter I know work in this adjustment:
1. S.damage
2. S.mod_damage (mod_ means adjust as percentage, be careful not every parameter have mod_ version)
3. S.speed
4. S.mod_speed
5. S.critical_chance
6. S.health
7. S.knockback_reduction
8. S.warfare
9. S.diplomacy
10. S.stewardship
11. S.opinion
12. S.loyalty_traits
13. S.scale (The actual size, but 2.0f means 2000% for scale, don't know why LOL)
ActorTrait Readme= new ActorTrait();
string words = " ";
Type typeS = typeof(S);
FieldInfo[] fields = typeS.GetFields();
foreach (FieldInfo field in fields)
{
words += $"{field.Name}:";
}
Readme.id = "Readme";
Readme.path_icon = "ui/Icons/Readme";
Readme.type = TraitType.Positive;
Readme.group_id = TraitGroup.HeavenlyTraits;
AssetManager.traits.add(Readme);
addTraitToLocalizedLibrary(Readme.id, words);
PlayerConfig.unlockTrait("Readme");