static internal void init() { var animal_calss = ResourcesLibrary.TryGetBlueprint <BlueprintCharacterClass>("4cd1757a0eea7694ba5c933729a53920"); var slayer = ResourcesLibrary.TryGetBlueprint <BlueprintCharacterClass>("c75e0971973957d4dbad24bc7957e4fb"); var kineticist = ResourcesLibrary.TryGetBlueprint <BlueprintCharacterClass>("42a455d9ec1ad924d889272429eb8391"); slayer.AddComponent(Helpers.Create <PrerequisiteNoClassLevel>(p => p.CharacterClass = animal_calss)); kineticist.AddComponent(Helpers.Create <PrerequisiteNoClassLevel>(p => p.CharacterClass = animal_calss)); Helpers.RegisterClass(animal_calss); animal_calss.HideIfRestricted = false; foreach (var c in BlueprintRoot.Instance.Progression.CharacterClasses) { if (c != Eidolon.eidolon_class) { c.AddComponent(Helpers.Create <PrerequisiteNoClassLevel>(p => p.CharacterClass = Eidolon.eidolon_class)); } } //fix feats var eidolon_restricted_feats = new BlueprintFeature[] { ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("6d3728d4e9c9898458fe5e9532951132"), //light armor proficiency ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("46f4fb320f35704488ba3d513397789d"), //medium armor proficiency ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("1b0f68188dcc435429fb87a022239681"), //heavy armor proficiency }; var animal_restricted_feats = eidolon_restricted_feats.AddToArray(new BlueprintFeature[] { ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("e70ecf1ed95ca2f40b754f1adb22bbdd"), //simple weapon proficiency ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("203992ef5b35c864390b4e4a1e200629"), //medium armor proficiency ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("9a01b6815d6c3684cb25f30b8bf20932"), //heavy armor proficiency ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("7812ad3672a4b9a4fb894ea402095167"), //improved unarmed strike ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("cb8686e7357a68c42bdd9d4e65334633"), //shields proficiency ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("6105f450bb2acbd458d277e71e19d835"), //tower shield proficiency ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("ac8aaf29054f5b74eb18f2af950e752d"), //two weapon fighting }); foreach (var f in eidolon_restricted_feats) { f.AddComponent(Helpers.Create <PrerequisiteNoClassLevel>(p => p.CharacterClass = Eidolon.eidolon_class)); } foreach (var f in animal_restricted_feats) { f.AddComponent(Helpers.Create <PrerequisiteNoClassLevel>(p => p.CharacterClass = animal_calss)); f.AddComponent(Common.prerequisiteNoArchetype(Eidolon.eidolon_class, Eidolon.quadruped_archetype)); f.AddComponent(Common.prerequisiteNoArchetype(Eidolon.eidolon_class, Eidolon.serpentine_archetype)); } var improved_unarmed_strike = ResourcesLibrary.TryGetBlueprint <BlueprintFeature>("7812ad3672a4b9a4fb894ea402095167"); var weapon_override = improved_unarmed_strike.GetComponent <EmptyHandWeaponOverride>(); improved_unarmed_strike.ReplaceComponent(weapon_override, Helpers.Create <NewMechanics.EmptyHandWeaponOverrideIfNoWeapon>(e => e.Weapon = weapon_override.Weapon)); }