From 8d9656bc7965fc24ba53a970e89005828639e8b9 Mon Sep 17 00:00:00 2001 From: spacehamster Date: Mon, 3 Dec 2018 11:54:29 +1100 Subject: [PATCH] BlueprintDump --- .gitignore | 338 ------------------ CustomRaces.sln | 28 -- CustomRaces/AssetBundles/customrace | Bin 214893 -> 0 bytes CustomRaces/AssetBundles/dhampir | Bin 5634 -> 0 bytes CustomRaces/AssetBundles/drow | Bin 7020 -> 0 bytes CustomRaces/AssetsDump.cs | 108 ------ CustomRaces/CustomRaces.csproj | 144 -------- CustomRaces/Dhampir.cs | 115 ------ CustomRaces/Drow.cs | 119 ------ CustomRaces/EquimentEntity.cs | 9 - CustomRaces/JSON/BlueprintAssetIdConverter.cs | 65 ---- .../JSON/BlueprintComponentConverter.cs | 55 --- CustomRaces/JSON/BlueprintContractResolver.cs | 159 -------- .../JSON/GameObjectAssetIdConverter.cs | 46 --- CustomRaces/JSON/JsonBlueprints.cs | 130 ------- CustomRaces/JSON/LocalizedStringConverter.cs | 49 --- CustomRaces/JSON/UnityJsonConverter.cs | 183 ---------- CustomRaces/JSON/WeakResourceLinkConverter.cs | 56 --- CustomRaces/Main.cs | 127 ------- CustomRaces/MeshTestRace.cs | 157 -------- CustomRaces/Ninja.cs | 72 ---- CustomRaces/Properties/AssemblyInfo.cs | 36 -- CustomRaces/RaceManager.cs | 138 ------- CustomRaces/RaceUtil.cs | 192 ---------- CustomRaces/Repository.json | 6 - CustomRaces/Settings.cs | 12 - CustomRaces/Slayer.cs | 273 -------------- CustomRaces/info.json | 10 - LICENSE | 21 -- README.md | 5 - data/RangerClass.json | 79 ---- 31 files changed, 2732 deletions(-) delete mode 100644 .gitignore delete mode 100644 CustomRaces.sln delete mode 100644 CustomRaces/AssetBundles/customrace delete mode 100644 CustomRaces/AssetBundles/dhampir delete mode 100644 CustomRaces/AssetBundles/drow delete mode 100644 CustomRaces/AssetsDump.cs delete mode 100644 CustomRaces/CustomRaces.csproj delete mode 100644 CustomRaces/Dhampir.cs delete mode 100644 CustomRaces/Drow.cs delete mode 100644 CustomRaces/EquimentEntity.cs delete mode 100644 CustomRaces/JSON/BlueprintAssetIdConverter.cs delete mode 100644 CustomRaces/JSON/BlueprintComponentConverter.cs delete mode 100644 CustomRaces/JSON/BlueprintContractResolver.cs delete mode 100644 CustomRaces/JSON/GameObjectAssetIdConverter.cs delete mode 100644 CustomRaces/JSON/JsonBlueprints.cs delete mode 100644 CustomRaces/JSON/LocalizedStringConverter.cs delete mode 100644 CustomRaces/JSON/UnityJsonConverter.cs delete mode 100644 CustomRaces/JSON/WeakResourceLinkConverter.cs delete mode 100644 CustomRaces/Main.cs delete mode 100644 CustomRaces/MeshTestRace.cs delete mode 100644 CustomRaces/Ninja.cs delete mode 100644 CustomRaces/Properties/AssemblyInfo.cs delete mode 100644 CustomRaces/RaceManager.cs delete mode 100644 CustomRaces/RaceUtil.cs delete mode 100644 CustomRaces/Repository.json delete mode 100644 CustomRaces/Settings.cs delete mode 100644 CustomRaces/Slayer.cs delete mode 100644 CustomRaces/info.json delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 data/RangerClass.json diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9103f78..0000000 --- a/.gitignore +++ /dev/null @@ -1,338 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*_wpftmp.csproj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# Local History for Visual Studio -.localhistory/ - - -# Library Dependencies -[Ll]ibs/ \ No newline at end of file diff --git a/CustomRaces.sln b/CustomRaces.sln deleted file mode 100644 index c3b3c3e..0000000 --- a/CustomRaces.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28010.2046 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomRaces", "CustomRaces\CustomRaces.csproj", "{3724AF9A-1765-4FBD-B4BF-1C7A89CF2510}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug Install|Any CPU = Debug Install|Any CPU - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3724AF9A-1765-4FBD-B4BF-1C7A89CF2510}.Debug Install|Any CPU.ActiveCfg = Debug Install|Any CPU - {3724AF9A-1765-4FBD-B4BF-1C7A89CF2510}.Debug Install|Any CPU.Build.0 = Debug Install|Any CPU - {3724AF9A-1765-4FBD-B4BF-1C7A89CF2510}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3724AF9A-1765-4FBD-B4BF-1C7A89CF2510}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3724AF9A-1765-4FBD-B4BF-1C7A89CF2510}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3724AF9A-1765-4FBD-B4BF-1C7A89CF2510}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {8E161308-F419-4FC8-94B9-F7212B9B2676} - EndGlobalSection -EndGlobal diff --git a/CustomRaces/AssetBundles/customrace b/CustomRaces/AssetBundles/customrace deleted file mode 100644 index f4cd151f0a0e0b64c52f13ad085e70177f7bca3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214893 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 diff --git a/CustomRaces/AssetBundles/drow b/CustomRaces/AssetBundles/drow deleted file mode 100644 index 7e6be174768a23ebe4548359d2fcb82e0c579a7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7020 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≀ZYTnVB{Kteh8k7tpAH{=G*?~< zjbhY&2$4u}tL3^_yz`%$N=1Fz2DNDUk`!5pp`RyK0RSce^@bD(z%S7`Ze~!%dxy7b z8dklWCDAdfJG-Ac*y?uxN$7$oa@Zh~rY0B6R~R#PAvxG(ZeOb^@*c#HqXlUGR)$hN zln`aY-fGnKKQ<%6W=P-!{yQ&V;#KnWB4mG#*(v1JYYrK5R z*@m`moKwxp(aXRSI&}eJs3hk5c6XYj%H2yOjmwh}7`2$za2Qv;U?5CBKy@l1X zPPF%Wdb~IQkTzx_5zeg8CDn0WerBR_AI(;?brRPxs_iN30!+x)?@y0^LJO5HT5EvZ z!i2Zl*)K|{g(BWOe2P&1DE4J%EcaM5RY*e#Z|tomWA|M|G(#r{_N&nk+CgGTa2<1 zsBVF5!tbd;_Ltn(-<3&dhk-wR`b-Bmc>llIL^I3cCPRGXqgH8h|j6G+iQ?4umW}uKB01_`= z0{jsnhq}9uP*bONU$xxiLN0hAnErd%^C>y)AnNWaZgV z7w9wJhEy>t`%#*CaRh!TD(m(7qrQ87BUqm{Ki&~h0oBBRPR`fHWc>>9)#?2=E(6>R zl4IR%m@YMvG{NM(_#6m~Yw>bwei)U_$W}M`6sL3;4jdd*W)DZJsuEp$goK$OU$n~V zm&r9y7M$s0S}$gZ75Lg*55zX3I)`2r^WSjqvw`X8$g(TK-hOQabJ^;y;fy=v)5Qo_ zEoyHgfLQnKBK7?3xWVT4YQmGBh}~NNZ3#F(^0TH8pY@8)e+i}0`Zd`4s*-NS2>m%3 zr93qLGt)(&#e=QGjMiDG8Xk9~K$U`1y%jQDCKYB{ zy0VWB_v}>99z}EZIk7fz46mq!^(L2JmU&T01HHI>30Q)Is22Z5+^ar-8%>dya>LQo zgAxSH1PrDnaCl>>4<|YHe6gRpg<%vr4e72Efno3oD8`QoD3)Pn_SK|AUaU9l#OE&e z5Pi`&-w{2-P)W~2Txae*$$IzHFoo)S26jU0vuq#CiQW9C`M~|Km2vyuO(QC!Ma+K2 zN}PTOw|@Uug#z4lbYk|cpuq#Uj?SmSnZ?A2t7uu3L)ty{?XSv4s4f&ara0IUHj4@r zhc_wrhE=^OA$5#EoTA8F1qwkm@n+3(WSGhH8r=dDyQAAMddXxK^P%30Qk56;pArSJ z4JMnQrp?#lVuv+z1LK+Y;Km?t(PNF=Fj4m)aVf|yrjPp#{a8$LvBf9`fBA}ci*}=s z%IF?|kj?vh@EX9Wwgc;GsbgiM)d3T5;Se?Oma{Wmd}p>6HTXm;cyGd>=<+eocqR(k zerKWQ@z*&;rq(^or<@=VfUO6D3glVZnE~qvmoN|Jxb2kgWySxT*d6lLYv@te=P!EK zyDC>jyK96&!734|2xcj<<~xD#Zz1Hf^(aw7Oi2SuDF`1@?;M6qiOsI7i z!C-Hv_4f@-Akgns+b^dIOJ%F4JLdJWL`7}Bww(0g#81X;fhR#RqVUpBtgU#^bkTYqR0zNMYEF2=-(=R1sCo#eN%gP1oF?GNJ4!% z<&s1BMjSGHGT>&6Iwu7-l>mWw?SAnY;rC37BK3J=2};6ncMOpEHu4T^c*R+WCa}_i z)JG;{#U4m9Y(l*Mvs&h~1Tef7+d37|v#pjUZ44MyKo1=7OA*+!s}Hl_=pe}SkeBq> z2|^{w&*FFwZT=0Qk=<29F4J)G!I0qjrdEtK{&?du@?-bD7&|$WpP*# zLUB|9rm;IDfv!67$2jRhEEP+8`TyG1$chE_q=McMEn_bADebrF^L@(); - foreach (var blueprint in blueprints) - { - if (types.Contains(blueprint.GetType())) - { - JsonBlueprints.Dump(blueprint); - } - } - } - public static void DumpQuick() - { - var types = new Type[] - { - typeof(BlueprintCharacterClass), - typeof(BlueprintRaceVisualPreset), - typeof(BlueprintRace), - typeof(BlueprintArchetype), - typeof(BlueprintProgression), - typeof(BlueprintStatProgression), - typeof(BlueprintFeature), - typeof(BlueprintSpellbook), - typeof(BlueprintSpellList), - typeof(BlueprintSpellsTable), - typeof(BlueprintItemWeapon), - }; - foreach (var type in types) - { - string assetId; - RaceUtil.FallbackTable.TryGetValue(type, out assetId); - if (assetId == null) - { - Main.DebugLog($"No Default {type}"); - continue; - } - JsonBlueprints.Dump(ResourcesLibrary.TryGetBlueprint(assetId)); - } - } - public static void DumpAllBlueprints() - { - var blueprints = ResourcesLibrary.GetBlueprints(); - foreach (var blueprint in blueprints) - { - JsonBlueprints.Dump(blueprint); - } - } - public static void DumpEquipmentEntities() - { - foreach (var kv in ResourcesLibrary.LibraryObject.ResourcePathsByAssetId) - { - var resource = ResourcesLibrary.TryGetResource(kv.Key); - if (resource == null) continue; - JsonBlueprints.Dump(resource, kv.Key); - } - } - public static void DumpList() - { - Directory.CreateDirectory($"Blueprints/"); - var blueprints = ResourcesLibrary.GetBlueprints(); - using (var file = new StreamWriter("Blueprints/Blueprints.txt")) - { - foreach (var blueprint in blueprints) - { - file.WriteLine($"{blueprint.name}\t{blueprint.AssetGuid}\t{blueprint.GetType()}\t"); - } - } - using (var file = new StreamWriter("Blueprints/Resources.txt")) - { - foreach (var kv in ResourcesLibrary.LibraryObject.ResourcePathsByAssetId) - { - var resource = ResourcesLibrary.TryGetResource(kv.Key); - file.WriteLine($"{resource?.name ?? "NULL"}\t{kv.Key}\t{resource?.GetType()?.Name ?? "NULL"}\t{kv.Value}"); - } - } - } - } -} diff --git a/CustomRaces/CustomRaces.csproj b/CustomRaces/CustomRaces.csproj deleted file mode 100644 index 22c7647..0000000 --- a/CustomRaces/CustomRaces.csproj +++ /dev/null @@ -1,144 +0,0 @@ - - - - - Debug - AnyCPU - {3724AF9A-1765-4FBD-B4BF-1C7A89CF2510} - Library - Properties - CustomRaces - CustomRaces - v4.6 - 512 - true - - - - true - portable - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - none - true - bin\Release\CustomRace\ - TRACE - prompt - 4 - false - - - true - C:\Program Files %28x86%29\Steam\steamapps\common\Pathfinder Kingmaker\Mods\CustomRaces\ - DEBUG;TRACE - portable - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - - libs\0Harmony12.dll - False - - - libs\Assembly-CSharp.dll - False - - - libs\Assembly-CSharp-firstpass.dll - False - - - False - libs\Newtonsoft.Json.dll - False - - - - - - - - - libs\UnityEngine.dll - False - - - libs\UnityEngine.AnimationModule.dll - False - - - libs\UnityEngine.AssetBundleModule.dll - False - - - libs\UnityEngine.CoreModule.dll - False - - - libs\UnityEngine.IMGUIModule.dll - False - - - libs\UnityEngine.JSONSerializeModule.dll - False - - - libs\UnityEngine.Networking.dll - False - - - libs\UnityEngine.UNETModule.dll - False - - - - - - - - - - - - - - - - - - - - - - - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - - - - - - xcopy /E /Y "$(SolutionDir)data" "C:\Program Files (x86)\Steam\steamapps\common\Pathfinder Kingmaker\Mods\CustomRaces\data\" - - \ No newline at end of file diff --git a/CustomRaces/Dhampir.cs b/CustomRaces/Dhampir.cs deleted file mode 100644 index f970d24..0000000 --- a/CustomRaces/Dhampir.cs +++ /dev/null @@ -1,115 +0,0 @@ -using Harmony12; -using Kingmaker.Blueprints; -using Kingmaker.Blueprints.Classes; -using Kingmaker.UnitLogic.FactLogic; -using System.Collections.Generic; -using UnityEngine; - -namespace CustomRaces -{ - public static class Dhampir - { - static AssetBundle bundle; - public static BlueprintRace CreateRace() - { - if (bundle == null) bundle = AssetBundle.LoadFromFile("Mods/CustomRaces/AssetBundles/dhampir"); - var blueprints = ResourcesLibrary.LibraryObject.BlueprintsByAssetId; - var human = (BlueprintRace)blueprints["0a5d473ead98b0646b94495af250fdc4"]; - var newRace = RaceUtil.CopyRace(human, "7ef12cdd1464418d9f9547033bd9f77d"); - newRace.name = "DhampirRace"; - var addDex = ScriptableObject.CreateInstance(); - addDex.name = "CustomRaceStat"; - addDex.Descriptor = Kingmaker.Enums.ModifierDescriptor.Racial; - addDex.Stat = Kingmaker.EntitySystem.Stats.StatType.Dexterity; - addDex.Value = 2; - var addCha = ScriptableObject.CreateInstance(); - addCha.name = "CustomRaceStat"; - addCha.Descriptor = Kingmaker.Enums.ModifierDescriptor.Racial; - addCha.Stat = Kingmaker.EntitySystem.Stats.StatType.Charisma; - addCha.Value = 2; - var addCon = ScriptableObject.CreateInstance(); - addCon.name = "CustomRaceStat"; - addCon.Descriptor = Kingmaker.Enums.ModifierDescriptor.Racial; - addCon.Stat = Kingmaker.EntitySystem.Stats.StatType.Dexterity; - addCon.Value = -2; - newRace.ComponentsArray = new BlueprintComponent[] - { - addDex, - addCon, - addCha - }; - newRace.SelectableRaceStat = false; - SetRamps(newRace); - newRace.Features = new BlueprintFeatureBase[] - { - (BlueprintFeatureBase)blueprints["8a75eb16bfff86949a4ddcb3dd2f83ae"], //UndeadImmunities - Manipulative() - }; - Traverse.Create(newRace).Field("m_DisplayName").SetValue(RaceUtil.MakeLocalized("Dhampir")); - Traverse.Create(newRace).Field("m_Description").SetValue(RaceUtil.MakeLocalized("The half-living children of vampires birthed by human females, dhampirs are progenies of both horror and tragedy. The circumstances of a dhampir’s conception are often called into question but scarcely understood, as few mortal mothers survive the childbirth. Those who do often abandon their monstrous children and refuse to speak of the matter. While some speculate that dhampirs result when mortal women couple with vampires, others claim that they form when a pregnant woman suffers a vampire bite. Some particularly zealous scholars even contest dhampirs’ status as a unique race, instead viewing them as humans suffering from an unholy affliction. Indeed, this hypothesis is strengthened by dhampirs’ seeming inability to reproduce, their offspring inevitably humans (usually sorcerers with the undead bloodline).")); - return newRace; - } - static void SetRamps(BlueprintRace newRace) - { - var ramps = new List - { - bundle.LoadAsset("Assets/Texture2D/CR_Skin_GrayDead_U_EL.png"), - bundle.LoadAsset("Assets/Texture2D/CR_Skin_Pale_U_HM.png"), - bundle.LoadAsset("Assets/Texture2D/CR_Skin_BlueLight_U_EL.png"), - bundle.LoadAsset("Assets/Texture2D/CR_Skin_Pale_U_EL.png"), - }; - foreach (var head in newRace.MaleOptions.Heads) - { - head.Load().ColorsProfile.PrimaryRamps.Clear(); - head.Load().ColorsProfile.PrimaryRamps.AddRange(ramps); - } - foreach (var head in newRace.FemaleOptions.Heads) - { - head.Load().ColorsProfile.PrimaryRamps.Clear(); - head.Load().ColorsProfile.PrimaryRamps.AddRange(ramps); - } - - for(int i = 0; i < newRace.Presets.Length; i++) - { - var maleSkin = newRace.Presets[i].Skin.GetLinks(Gender.Male, newRace.RaceId); - var femaleSkin = newRace.Presets[i].Skin.GetLinks(Gender.Female, newRace.RaceId); - foreach (var skin in maleSkin) - { - skin.Load().ColorsProfile.PrimaryRamps.Clear(); - skin.Load().ColorsProfile.PrimaryRamps.AddRange(ramps); - } - foreach (var skin in femaleSkin) - { - skin.Load().ColorsProfile.PrimaryRamps.Clear(); - skin.Load().ColorsProfile.PrimaryRamps.AddRange(ramps); - } - } - } - static BlueprintFeature Manipulative() - { - var manipulative = ScriptableObject.CreateInstance(); - var addBluffStat = ScriptableObject.CreateInstance(); - addBluffStat.name = "CustomRaceStat"; - addBluffStat.Descriptor = Kingmaker.Enums.ModifierDescriptor.Racial; - addBluffStat.Stat = Kingmaker.EntitySystem.Stats.StatType.CheckBluff; - addBluffStat.Value = 2; - var addPerceptionStat = ScriptableObject.CreateInstance(); - addPerceptionStat.name = "CustomRaceStat"; - addPerceptionStat.Descriptor = Kingmaker.Enums.ModifierDescriptor.Racial; - addPerceptionStat.Stat = Kingmaker.EntitySystem.Stats.StatType.CheckBluff; - addPerceptionStat.Value = 2; - manipulative.ComponentsArray = new BlueprintComponent[] - { - - addBluffStat, - addPerceptionStat, - }; - manipulative.name = "Manipulative"; - Traverse.Create(manipulative).Field("m_DisplayName").SetValue(RaceUtil.MakeLocalized("Manipulative")); - Traverse.Create(manipulative).Field("m_Description").SetValue(RaceUtil.MakeLocalized("Dhampir gain a +2 racial bonus on Bluff and Perception checks.")); - RaceUtil.AddBlueprint(manipulative, "6480bda61617490ca18e3ecb068e74bf"); - return manipulative; - } - - } -} diff --git a/CustomRaces/Drow.cs b/CustomRaces/Drow.cs deleted file mode 100644 index fbc41e8..0000000 --- a/CustomRaces/Drow.cs +++ /dev/null @@ -1,119 +0,0 @@ -using Harmony12; -using Kingmaker.Blueprints; -using Kingmaker.Blueprints.Classes; -using Kingmaker.UnitLogic.FactLogic; -using System.Collections.Generic; -using UnityEngine; - -namespace CustomRaces -{ - public static class Drow - { - static AssetBundle bundle; - public static BlueprintRace CreateRace() - { - if (bundle == null) bundle = AssetBundle.LoadFromFile("Mods/CustomRaces/AssetBundles/drow"); - - var blueprints = ResourcesLibrary.LibraryObject.BlueprintsByAssetId; - var elf = (BlueprintRace)blueprints["25a5878d125338244896ebd3238226c8"]; - var newRace = RaceUtil.CopyRace(elf, "42a7466432fd4db4870363ffa1a9eaba"); - newRace.name = "DrowRace"; - var addDex = ScriptableObject.CreateInstance(); - addDex.name = "CustomRaceStat"; - addDex.Descriptor = Kingmaker.Enums.ModifierDescriptor.Racial; - addDex.Stat = Kingmaker.EntitySystem.Stats.StatType.Dexterity; - addDex.Value = 2; - var addCha = ScriptableObject.CreateInstance(); - addCha.name = "CustomRaceStat"; - addCha.Descriptor = Kingmaker.Enums.ModifierDescriptor.Racial; - addCha.Stat = Kingmaker.EntitySystem.Stats.StatType.Charisma; - addCha.Value = 2; - var addCon = ScriptableObject.CreateInstance(); - addCon.name = "CustomRaceStat"; - addCon.Descriptor = Kingmaker.Enums.ModifierDescriptor.Racial; - addCon.Stat = Kingmaker.EntitySystem.Stats.StatType.Dexterity; - addCon.Value = -2; - newRace.ComponentsArray = new BlueprintComponent[] - { - addDex, - addCon, - addCha - }; - SetRamps(newRace); - newRace.Features = new BlueprintFeatureBase[] - { - (BlueprintFeatureBase)blueprints["9c747d24f6321f744aa1bb4bd343880d"], //Keen Senses - (BlueprintFeatureBase)blueprints["55edf82380a1c8540af6c6037d34f322"], //ElvenMagic - (BlueprintFeatureBase)blueprints["2483a523984f44944a7cf157b21bf79c"], //ElvenImmunity - (BlueprintFeatureBase)blueprints["03fd1e043fc678a4baf73fe67c3780ce"], //ElvenWeaponFamiliarity - SpellResistance() - }; - Traverse.Create(newRace).Field("m_DisplayName").SetValue(RaceUtil.MakeLocalized("Drow")); - Traverse.Create(newRace).Field("m_Description").SetValue(RaceUtil.MakeLocalized("Cruel and cunning, drow are a dark reflection of the elven race. Also called dark elves, they dwell deep underground in elaborate cities shaped from the rock of cyclopean caverns. Drow seldom make themselves known to surface folk, preferring to remain legends while advancing their sinister agendas through proxies and agents. Drow have no love for anyone but themselves, and are adept at manipulating other creatures. While they are not born evil, malignancy is deep-rooted in their culture and society, and nonconformists rarely survive for long. Some stories tell that given the right circumstances, a particularly hateful elf might turn into a drow, though such a transformation would require a truly heinous individual.")); - return newRace; - } - static void SetRamps(BlueprintRace newRace) - { - var ramps = new List - { - bundle.LoadAsset("Assets/Texture2D/CR_Hair_VioletDark_U_HM.png"), - bundle.LoadAsset("Assets/Texture2D/CR_Skin_PinkSallow_U_HO.png"), - bundle.LoadAsset("Assets/Texture2D/CR_Skin_Black_U_HM.png"), - bundle.LoadAsset("Assets/Texture2D/CR_Skin_Black_U_GN.png"), - bundle.LoadAsset("Assets/Texture2D/CR_Skin_BrownDark_U_HO.png"), - bundle.LoadAsset("Assets/Texture2D/CR_Hair_Gray_U_EL.png"), - bundle.LoadAsset("Assets/Texture2D/CR_Hair_BrownDarkFaded_U_EL.png") - }; - foreach (var head in newRace.MaleOptions.Heads) - { - head.Load().ColorsProfile.PrimaryRamps.Clear(); - head.Load().ColorsProfile.PrimaryRamps.AddRange(ramps); - } - foreach (var head in newRace.FemaleOptions.Heads) - { - head.Load().ColorsProfile.PrimaryRamps.Clear(); - head.Load().ColorsProfile.PrimaryRamps.AddRange(ramps); - } - - for(int i = 0; i < newRace.Presets.Length; i++) - { - var maleSkin = newRace.Presets[i].Skin.GetLinks(Gender.Male, newRace.RaceId); - var femaleSkin = newRace.Presets[i].Skin.GetLinks(Gender.Female, newRace.RaceId); - foreach (var skin in maleSkin) - { - skin.Load().ColorsProfile.PrimaryRamps.Clear(); - skin.Load().ColorsProfile.PrimaryRamps.AddRange(ramps); - } - foreach (var skin in femaleSkin) - { - skin.Load().ColorsProfile.PrimaryRamps.Clear(); - skin.Load().ColorsProfile.PrimaryRamps.AddRange(ramps); - } - } - } - //TODO make spellResistance6plusCR - static BlueprintFeatureBase SpellResistance() - { - var blueprints = ResourcesLibrary.LibraryObject.BlueprintsByAssetId; - var spellResistance5plusCR = (BlueprintFeature)blueprints["2378680aaca855840ba325c509f5d654"]; - var spellResistance6plusCR = ScriptableObject.CreateInstance(); - var addSpellResistance = ScriptableObject.CreateInstance(); - addSpellResistance.AddCR = true; - addSpellResistance.Value = new Kingmaker.UnitLogic.Mechanics.ContextValue() - { - Value = 6 - }; - spellResistance6plusCR.ComponentsArray = new BlueprintComponent[] - { - addSpellResistance - }; - spellResistance6plusCR.name = "SpellResistance6plusCR"; - Traverse.Create(spellResistance6plusCR).Field("m_DisplayName").SetValue(RaceUtil.MakeLocalized("Spell Resistance")); - Traverse.Create(spellResistance6plusCR).Field("m_Description").SetValue(RaceUtil.MakeLocalized("Drow possess spell resistance (SR) equal to 6 plus their total number of class levels.")); - RaceUtil.AddBlueprint(spellResistance6plusCR, "94cb101bb5e944bea2e1777e6627dc5c"); - return spellResistance6plusCR; - } - } - - -} diff --git a/CustomRaces/EquimentEntity.cs b/CustomRaces/EquimentEntity.cs deleted file mode 100644 index 29f0742..0000000 --- a/CustomRaces/EquimentEntity.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace CustomRaces -{ - internal class EquimentEntity - { - public EquimentEntity() - { - } - } -} \ No newline at end of file diff --git a/CustomRaces/JSON/BlueprintAssetIdConverter.cs b/CustomRaces/JSON/BlueprintAssetIdConverter.cs deleted file mode 100644 index a169a56..0000000 --- a/CustomRaces/JSON/BlueprintAssetIdConverter.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System; -using System.Linq; -using JetBrains.Annotations; -using Kingmaker.Blueprints; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; - -namespace CustomRaces -{ - public class BlueprintAssetIdConverter : JsonConverter - { - [UsedImplicitly] - public bool Enabled { get; set; } - - private BlueprintAssetIdConverter() { } - - public BlueprintAssetIdConverter(bool enabled) - { - Enabled = enabled; - } - - public override void WriteJson(JsonWriter w, object o, JsonSerializer szr) - { - var bp = (BlueprintScriptableObject)o; - w.WriteValue(string.Format($"Blueprint:{bp.AssetGuid}:{bp.name}")); - } - - public override object ReadJson( - JsonReader reader, - Type objectType, - object existingValue, - JsonSerializer serializer - ) - { - string text = (string)reader.Value; - Main.DebugLog($"Reading blueprint: {text}"); - if (text == null || text == "null") - { - return null; - } - if (text.StartsWith("Blueprint")) - { - var parts = text.Split(':'); - BlueprintScriptableObject blueprintScriptableObject = ResourcesLibrary.TryGetBlueprint(parts[1]); - if (blueprintScriptableObject == null) - { - throw new JsonSerializationException(string.Format("Failed to load blueprint by guid {0}", text)); - } - return blueprintScriptableObject; - } - if (text.StartsWith("File")) - { - var parts = text.Split(':'); - return JsonBlueprints.Load($"customraces/mods/data/{parts[1]}"); - } - throw new JsonSerializationException(string.Format("Invalid blueprint format {0}", text)); - } - - // ReSharper disable once IdentifierTypo - private static readonly Type _tBlueprintScriptableObject = typeof(BlueprintScriptableObject); - - public override bool CanConvert(Type type) => Enabled - && _tBlueprintScriptableObject.IsAssignableFrom(type); - } -} \ No newline at end of file diff --git a/CustomRaces/JSON/BlueprintComponentConverter.cs b/CustomRaces/JSON/BlueprintComponentConverter.cs deleted file mode 100644 index d9c9ecb..0000000 --- a/CustomRaces/JSON/BlueprintComponentConverter.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using Harmony12; -using JetBrains.Annotations; -using Kingmaker.Blueprints; -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; -using Newtonsoft.Json.Linq; -using Newtonsoft.Json.Serialization; -using UnityEngine; - -namespace CustomRaces -{ - public class BlueprintComponentConverter : JsonConverter - { - [UsedImplicitly] - public bool Enabled { get; set; } - - private BlueprintComponentConverter() { } - - public BlueprintComponentConverter(bool enabled) - { - Enabled = enabled; - } - - public override void WriteJson(JsonWriter w, object o, JsonSerializer szr) - { - var newSerializer = JsonSerializer.Create(JsonBlueprints.CreateSettings(null)); - var j = new JObject(); - j.AddFirst(new JProperty("$type", o.GetType().Name)); - foreach (var field in GetSerializableMembers(o.GetType())) - { - var value = Traverse.Create(o).Field(field.Name).GetValue(); - j.Add(field.Name, value != null ? JToken.FromObject(value, newSerializer) : null); - } - j.WriteTo(w); - } - - public override object ReadJson(JsonReader reader, Type type, object existing, JsonSerializer serializer) - { - throw new NotImplementedException(); - } - List GetSerializableMembers(Type objectType) - { - return JsonBlueprints.GetUnitySerializableMembers(objectType); - } - // ReSharper disable once IdentifierTypo - private static readonly Type _tBlueprintComponent = typeof(BlueprintComponent); - - public override bool CanConvert(Type type) => Enabled - && _tBlueprintComponent.IsAssignableFrom(type); - } -} \ No newline at end of file diff --git a/CustomRaces/JSON/BlueprintContractResolver.cs b/CustomRaces/JSON/BlueprintContractResolver.cs deleted file mode 100644 index 4d7ab1a..0000000 --- a/CustomRaces/JSON/BlueprintContractResolver.cs +++ /dev/null @@ -1,159 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using JetBrains.Annotations; -using Kingmaker.Blueprints; -using Newtonsoft.Json; -using Newtonsoft.Json.Converters; -using Newtonsoft.Json.Serialization; -using UnityEngine; - -namespace CustomRaces -{ - public sealed class BlueprintContractResolver : DefaultContractResolver - { - private static readonly Type BlueprintScriptableObjectType = typeof(BlueprintScriptableObject); - [CanBeNull] - public Type RootBlueprintType - { - [UsedImplicitly] - get => _rootBlueprintType; - set - { - _rootBlueprintType = value; - } - } - - public BlueprintContractResolver() - { - RootBlueprintType = null; - } - - public BlueprintContractResolver(Type rootType) - { - RootBlueprintType = rootType; - } - - private static readonly HashSet ConverterBlacklist = new HashSet(new[] { - typeof(Kingmaker.Game).Assembly - .GetType("Kingmaker.EntitySystem.Persistence.JsonUtility.BlueprintConverter", false) - }); - - [CanBeNull] - private Type _rootBlueprintType; - - /* - * PrototypeLink is only used to check if blueprint is a companion - * will need to fix if custom companions are wanted - */ - private static readonly HashSet FieldBlacklist = new HashSet(new[] { - typeof(PrototypeableObjectBase).GetField("PrototypeLink") - }); - - private static readonly BlueprintAssetIdConverter BlueprintAssetIdConverter - = new BlueprintAssetIdConverter(true); - - private static readonly JsonConverter[] PreferredConverters = { - new StringEnumConverter(true), - new IsoDateTimeConverter(), - new XmlNodeConverter(), - new VersionConverter(), - new RegexConverter(), - new LocalizedStringConverter(true), - new WeakResourceLinkConverter(true), - new UnityJsonConverter(true), - new GameObjectAssetIdConverter(true) - }; - - protected override JsonConverter ResolveContractConverter(Type objectType) - { - if (objectType == null) - return null; - - if (BlueprintScriptableObjectType.IsAssignableFrom(objectType)) - if (objectType != RootBlueprintType) - { - return BlueprintAssetIdConverter; - } - var prefCnv = PreferredConverters.FirstOrDefault(cnv => cnv.CanConvert(objectType)); - if (prefCnv != null) - return prefCnv; - - var converter = base.ResolveContractConverter(objectType); - if (converter == null) - return null; - while (ConverterBlacklist.Contains(converter.GetType())) - { - objectType = objectType.BaseType; - if (objectType == null) - { - converter = null; - break; - } - converter = base.ResolveContractConverter(objectType); - if (converter == null) break; - } - return null; - } - - protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization) - { - var jsonProp = base.CreateProperty(member, memberSerialization); - - void Skip() - { - jsonProp.ShouldSerialize = o => false; - jsonProp.ShouldDeserialize = o => false; - } - - void Allow() - { - jsonProp.ShouldSerialize = o => true; - jsonProp.ShouldDeserialize = o => true; - } - if (member is FieldInfo field) - { - jsonProp.Readable = true; - jsonProp.Writable = true; - //Readonly field - if (field.IsInitOnly) - { - Skip(); - return null; - } - if (FieldBlacklist.Contains(field)) - { - Skip(); - return null; - } - if (field.FieldType.IsSubclassOf(BlueprintScriptableObjectType)) - { - //MemberConverter required to deserialize see - //https://stackoverflow.com/questions/24946362/custom-jsonconverter-is-ignored-for-deserialization-when-using-custom-contract-r - jsonProp.MemberConverter = BlueprintAssetIdConverter; - jsonProp.Converter = BlueprintAssetIdConverter; - Allow(); - } - } - else if (member is PropertyInfo property) - { - } - else - { - throw new NotImplementedException($"Member type {member.MemberType} not implemented"); - } - - return jsonProp; - } - - protected override IList CreateProperties(Type type, MemberSerialization memberSerialization) - { - return base.CreateProperties(type, memberSerialization).ToArray(); - } - protected override List GetSerializableMembers(Type objectType) - { - return JsonBlueprints.GetUnitySerializableMembers(objectType); - } - } -} \ No newline at end of file diff --git a/CustomRaces/JSON/GameObjectAssetIdConverter.cs b/CustomRaces/JSON/GameObjectAssetIdConverter.cs deleted file mode 100644 index 022e557..0000000 --- a/CustomRaces/JSON/GameObjectAssetIdConverter.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Linq; -using JetBrains.Annotations; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using UnityEngine; -using UnityObject = UnityEngine.Object; - -namespace CustomRaces -{ - public class GameObjectAssetIdConverter : JsonConverter - { - [UsedImplicitly] - public bool Enabled { get; set; } - - private GameObjectAssetIdConverter() { } - - public GameObjectAssetIdConverter(bool enabled) - { - Enabled = enabled; - } - - public override void WriteJson(JsonWriter w, object o, JsonSerializer szr) - { - - var go = (GameObject)o; - var j = new JObject { - {"$type", go.GetType().Name}, - {"InstanceId", go.GetInstanceID()}, - {"name", go.name }, - }; - j.WriteTo(w); - } - - public override object ReadJson(JsonReader reader, Type type, object existing, JsonSerializer serializer) - { - throw new NotImplementedException(); - } - - // ReSharper disable once IdentifierTypo - private static readonly Type _tGameObject = typeof(GameObject); - - public override bool CanConvert(Type type) => Enabled - && _tGameObject.IsAssignableFrom(type); - } -} \ No newline at end of file diff --git a/CustomRaces/JSON/JsonBlueprints.cs b/CustomRaces/JSON/JsonBlueprints.cs deleted file mode 100644 index 0081b9d..0000000 --- a/CustomRaces/JSON/JsonBlueprints.cs +++ /dev/null @@ -1,130 +0,0 @@ -using Kingmaker.Blueprints; -using Kingmaker.Visual.CharacterSystem; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Runtime.Serialization.Formatters; -using System.Text; -using System.Threading.Tasks; -using UnityEngine; - -namespace CustomRaces -{ - public static class JsonBlueprints - { - /* - * PrototypeLink is only used to check if blueprint is a companion - * will need to fix if custom companions are wanted - */ - public static readonly HashSet FieldBlacklist = new HashSet(new[] { - typeof(PrototypeableObjectBase).GetField("PrototypeLink") - }); - public static List GetUnitySerializableMembers(Type objectType) - { - - if (objectType == null) - return new List(); - MemberInfo[] publicFields = objectType.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly); - MemberInfo[] privateFields = objectType.GetFields(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly); - MemberInfo[] nameProperty = objectType == typeof(UnityEngine.Object) ? - new MemberInfo[] { objectType.GetProperty("name") } : - Array.Empty(); - var result = privateFields - .Where((field) => Attribute.IsDefined(field, typeof(SerializeField))) - .Concat(publicFields) - .Concat(GetUnitySerializableMembers(objectType.BaseType)) - .Concat(nameProperty) - .Where(field => !FieldBlacklist.Contains(field)) - .ToList(); - return result; - } - public static JsonSerializerSettings CreateSettings(Type blueprintType) - { - var RefJsonSerializerSettings = new JsonSerializerSettings - { - CheckAdditionalContent = false, - ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor, - ContractResolver = new BlueprintContractResolver(), - DateFormatHandling = DateFormatHandling.IsoDateFormat, - DateParseHandling = DateParseHandling.DateTime, - DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind, - DefaultValueHandling = DefaultValueHandling.Include, - //Error = SkipJsonErrors, - FloatFormatHandling = FloatFormatHandling.String, - FloatParseHandling = FloatParseHandling.Double, - Formatting = Formatting.Indented, - // MaxDepth = 12, // ignored - MetadataPropertyHandling = MetadataPropertyHandling.ReadAhead, - MissingMemberHandling = MissingMemberHandling.Ignore, - NullValueHandling = NullValueHandling.Include, - ObjectCreationHandling = ObjectCreationHandling.Replace, - PreserveReferencesHandling = PreserveReferencesHandling.Objects, - ReferenceLoopHandling = ReferenceLoopHandling.Serialize, - StringEscapeHandling = StringEscapeHandling.Default, - TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple, - TypeNameHandling = TypeNameHandling.Objects - }; - var bpCr = (BlueprintContractResolver)RefJsonSerializerSettings.ContractResolver; - bpCr.RootBlueprintType = blueprintType; - - return RefJsonSerializerSettings; - } - - public static T Load(string filepath) - { - var type = typeof(BlueprintScriptableObject).IsAssignableFrom(typeof(T)) ? typeof(T) : null; - var settings = CreateSettings(type); - var serializer = JsonSerializer.Create(settings); - - using (StreamReader sr = new StreamReader(filepath)) - using (JsonReader jsonReader = new JsonTextReader(sr)) - { - return serializer.Deserialize(jsonReader); - } - } - public static T Loads(string text) - { - var type = typeof(BlueprintScriptableObject).IsAssignableFrom(typeof(T)) ? typeof(T) : null; - var settings = CreateSettings(type); - var serializer = JsonSerializer.Create(settings); - using (StringReader sr = new StringReader(text)) - using (JsonReader jsonReader = new JsonTextReader(sr)) - { - return serializer.Deserialize(jsonReader); - } - } - public static void Dump(BlueprintScriptableObject blueprint) - { - Directory.CreateDirectory($"Blueprints/{blueprint.GetType()}"); - JsonSerializer serializer = JsonSerializer.Create(CreateSettings(blueprint.GetType())); - using (StreamWriter sw = new StreamWriter($"Blueprints/{blueprint.GetType()}/{blueprint.name}.{blueprint.AssetGuid}.json")) - using (JsonWriter writer = new JsonTextWriter(sw)) - { - serializer.Serialize(writer, blueprint); - } - } - public static void Dump(EquipmentEntity ee, string assetId) - { - Directory.CreateDirectory($"Blueprints/{ee.GetType()}"); - JsonSerializer serializer - = JsonSerializer.Create(CreateSettings(null)); - using (StreamWriter sw = new StreamWriter($"Blueprints/{ee.GetType()}/{ee.name}.json")) - using (JsonWriter writer = new JsonTextWriter(sw)) - { - - serializer.Serialize(writer, ee); - - } - } - private static void SkipJsonErrors(object o, Newtonsoft.Json.Serialization.ErrorEventArgs err) - { - throw new Exception(err.ToString()); - err.ErrorContext.Handled = true; - } - - - } -} diff --git a/CustomRaces/JSON/LocalizedStringConverter.cs b/CustomRaces/JSON/LocalizedStringConverter.cs deleted file mode 100644 index 19b2557..0000000 --- a/CustomRaces/JSON/LocalizedStringConverter.cs +++ /dev/null @@ -1,49 +0,0 @@ -using JetBrains.Annotations; -using Kingmaker.Blueprints; -using Kingmaker.Localization; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace CustomRaces -{ - public class LocalizedStringConverter : JsonConverter - { - [UsedImplicitly] - public bool Enabled { get; set; } - - private LocalizedStringConverter() { } - - public LocalizedStringConverter(bool enabled) - { - Enabled = enabled; - } - - public override void WriteJson(JsonWriter w, object o, JsonSerializer szr) - { - var ls = (LocalizedString)o; - int previewLength = 20; - var text = ls.ToString(); - if (text.Length > previewLength + 1) - { - text = text.Remove(previewLength); - } - if (ls.ToString().Length > previewLength) text += "..."; - w.WriteValue(string.Format($"LocalizedString:{ls.Key}:{text}")); - } - - public override object ReadJson(JsonReader reader, Type type, object existing, JsonSerializer serializer) - { - return RaceUtil.MakeLocalized("Test string"); - } - - // ReSharper disable once IdentifierTypo - private static readonly Type _tBlueprintScriptableObject = typeof(LocalizedString); - - public override bool CanConvert(Type type) => Enabled - && _tBlueprintScriptableObject.IsAssignableFrom(type); - } -} \ No newline at end of file diff --git a/CustomRaces/JSON/UnityJsonConverter.cs b/CustomRaces/JSON/UnityJsonConverter.cs deleted file mode 100644 index d297c50..0000000 --- a/CustomRaces/JSON/UnityJsonConverter.cs +++ /dev/null @@ -1,183 +0,0 @@ -using System; -using System.Collections.Generic; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using UnityEngine; -using JetBrains.Annotations; -using Newtonsoft.Json.Converters; - -namespace CustomRaces -{ - public class UnityJsonConverter : JsonConverter - { - [UsedImplicitly] - public static readonly ISet SupportedTypes = new HashSet( - new Type[] { - typeof(Vector2), - typeof(Vector3), - typeof(Vector4), - typeof(Vector2Int), - typeof(Vector3Int), - typeof(Matrix4x4), - typeof(Rect), - typeof(RectInt), - typeof(Bounds), - typeof(BoundsInt), - typeof(Color), - typeof(Color32), - typeof(Texture2D), - typeof(Sprite), - typeof(Mesh) - } - ); - - [UsedImplicitly] - public bool Enabled { get; set; } - - private UnityJsonConverter() { } - - public UnityJsonConverter(bool enabled) - { - Enabled = enabled; - } - - private static readonly JsonConverter[] NoConverters = Array.Empty(); - - private static readonly JsonConverter[] SafeConverters = { - new StringEnumConverter(true), new UnityJsonConverter() - }; - - private static readonly string AqnTexture2D = typeof(Texture2D).AssemblyQualifiedName; - private static readonly string AqnSprite = typeof(Sprite).AssemblyQualifiedName; - private static readonly string AqnMesh = typeof(Mesh).AssemblyQualifiedName; - - public override void WriteJson(JsonWriter w, object value, JsonSerializer szr) - { - var type = value.GetType().Name; - switch (value) - { - case Vector2 v: - { - new JArray(v.x, v.y) - .WriteTo(w, NoConverters); - return; - } - case Vector3 v: - { - new JArray(v.x, v.y, v.z) - .WriteTo(w, NoConverters); - return; - } - case Vector4 v: - { - new JArray(v.x, v.y, v.z, v.w) - .WriteTo(w, NoConverters); - return; - } - case Vector2Int v: - { - new JArray(v.x, v.y) - .WriteTo(w, NoConverters); - return; - } - case Vector3Int v: - { - new JArray(v.x, v.y, v.z) - .WriteTo(w, NoConverters); - return; - } - case Matrix4x4 m: - { - new JArray( - new JArray(m.m00, m.m01, m.m02, m.m03), - new JArray(m.m10, m.m11, m.m12, m.m13), - new JArray(m.m20, m.m21, m.m22, m.m23), - new JArray(m.m30, m.m31, m.m32, m.m33) - ) - .WriteTo(w, NoConverters); - return; - } - case Rect r: - { - // ReSharper disable once SimilarAnonymousTypeNearby // float - JObject.FromObject(new { r.x, r.y, r.width, r.height }) - .WriteTo(w, NoConverters); - return; - } - case RectInt r: - { - // ReSharper disable once SimilarAnonymousTypeNearby // int - JObject.FromObject(new { r.x, r.y, r.width, r.height }) - .WriteTo(w, NoConverters); - return; - } - case Bounds b: - { - // ReSharper disable once SimilarAnonymousTypeNearby // float - JObject.FromObject(new { b.min, b.max }) - .WriteTo(w, NoConverters); - return; - } - case BoundsInt b: - { - // ReSharper disable once SimilarAnonymousTypeNearby // int - JObject.FromObject(new { b.min, b.max }) - .WriteTo(w, NoConverters); - return; - } - case Color c: - { - var lc = c.linear; - // ReSharper disable once SimilarAnonymousTypeNearby // float - JObject.FromObject(new { lc.r, lc.g, lc.b, lc.a }) - .WriteTo(w, NoConverters); - return; - } - case Color32 c: - { - // ReSharper disable once SimilarAnonymousTypeNearby // byte - JObject.FromObject(new { c.r, c.g, c.b, c.a }) - .WriteTo(w, NoConverters); - return; - } - case Texture2D t: - { - // Object.FindObjectFromInstanceID - var o = new JObject(); - o.Add("$type", type); - o.Add("name", t.name); - o.Add("InstanceId", t.GetInstanceID()); - o.WriteTo(w); - return; - } - case Sprite s: - { - var o = new JObject(); - o.Add("$type", type); - o.Add("name", s.name); - o.Add("InstanceId", s.GetInstanceID()); - o.WriteTo(w); - return; - } - case Mesh m: - { - var o = new JObject(); - o.Add("$type", type); - o.Add("name", m.name); - o.Add("InstanceId", m.GetInstanceID()); - o.WriteTo(w); - return; - } - } - } - - public override object ReadJson(JsonReader reader, Type type, object existing, JsonSerializer serializer) - { - JToken token = JToken.Load(reader); - return null; - //throw new NotImplementedException($"Not implemented for type {type}"); - } - - public override bool CanConvert(Type objectType) => Enabled && SupportedTypes.Contains(objectType); - } -} \ No newline at end of file diff --git a/CustomRaces/JSON/WeakResourceLinkConverter.cs b/CustomRaces/JSON/WeakResourceLinkConverter.cs deleted file mode 100644 index 0b4e991..0000000 --- a/CustomRaces/JSON/WeakResourceLinkConverter.cs +++ /dev/null @@ -1,56 +0,0 @@ -using JetBrains.Annotations; -using Kingmaker.Blueprints; -using Kingmaker.ResourceLinks; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace CustomRaces -{ - public class WeakResourceLinkConverter : JsonConverter - { - [UsedImplicitly] - public bool Enabled { get; set; } - - private WeakResourceLinkConverter() { } - - public WeakResourceLinkConverter(bool enabled) - { - Enabled = enabled; - } - - public override void WriteJson(JsonWriter w, object o, JsonSerializer szr) - { - var resource = (WeakResourceLink)o; - string path = null; - ResourcesLibrary.LibraryObject.ResourcePathsByAssetId.TryGetValue(resource.AssetId, out path); - w.WriteValue(string.Format($"Resource:{resource.AssetId}:{path ?? "NULL"}")); - } - - public override object ReadJson(JsonReader reader, Type type, object existing, JsonSerializer serializer) - { - string text = (string)reader.Value; - if (text == null || text == "null") - { - return null; - } - if (text.StartsWith("Resource")) - { - var parts = text.Split(':'); - var link = (WeakResourceLink)Activator.CreateInstance(type); - link.AssetId = parts[1]; - return link; - } - throw new NotImplementedException($"Not implemented for type {type} with value {text}"); - } - - // ReSharper disable once IdentifierTypo - private static readonly Type _tWeakResourceLink = typeof(WeakResourceLink); - - public override bool CanConvert(Type type) => Enabled - && _tWeakResourceLink.IsAssignableFrom(type); - } -} \ No newline at end of file diff --git a/CustomRaces/Main.cs b/CustomRaces/Main.cs deleted file mode 100644 index e643b10..0000000 --- a/CustomRaces/Main.cs +++ /dev/null @@ -1,127 +0,0 @@ -using UnityEngine; -using Harmony12; -using UnityModManagerNet; -using System.Reflection; -using System; -using Kingmaker; -using UnityEngine.SceneManagement; -using Kingmaker.Blueprints; -using Kingmaker.Blueprints.Classes; -using Kingmaker.Visual.CharacterSystem; -using Newtonsoft.Json; - -namespace CustomRaces -{ - - public class Main - { - public static UnityModManager.ModEntry.ModLogger logger; - [System.Diagnostics.Conditional("DEBUG")] - public static void DebugLog(string msg) - { - if(logger != null) logger.Log(msg); - } - public static bool enabled; - public static Settings settings; - static int torso = -1; - public static RaceManager raceManager; - static bool Load(UnityModManager.ModEntry modEntry) - { - try - { - settings = UnityModManager.ModSettings.Load(modEntry); - var harmony = HarmonyInstance.Create(modEntry.Info.Id); - harmony.PatchAll(Assembly.GetExecutingAssembly()); - modEntry.OnToggle = OnToggle; - modEntry.OnGUI = OnGUI; - modEntry.OnSaveGUI = OnSaveGUI; - modEntry.Logger.Log("Loaded CustomRaces"); - logger = modEntry.Logger; - SceneManager.sceneLoaded += RaceManager.OnSceneManagerOnSceneLoaded; - } - catch (Exception e){ - modEntry.Logger.Log(e.ToString() +"\n" + e.StackTrace); - } - return true; - } - static void OnSaveGUI(UnityModManager.ModEntry modEntry) - { - settings.Save(modEntry); - } - // Called when the mod is turned to on/off. - static bool OnToggle(UnityModManager.ModEntry modEntry, bool value /* active or inactive */) - { - enabled = value; - return true; // Permit or not. - } - static UnityEngine.Object FindObject(int instanceId) - { - //works for gameobjects at least - foreach (UnityEngine.Object go in Resources.FindObjectsOfTypeAll(typeof(T))) - { - if (go.GetInstanceID() == instanceId) return go; - } - return null; - } - static UnityEngine.Object FindObject2(int instanceId) - { - return null; //can't find FindObjectFromInstanceID - - } - static void OnGUI(UnityModManager.ModEntry modEntry) - { - try - { - if (!enabled) return; -#if (DEBUG) - if (GUILayout.Button("DumpBlueprintsQuick")) - { - AssetsDump.DumpQuick(); - } - if (GUILayout.Button("DumpBlueprints")){ - AssetsDump.DumpBlueprints(); - } - if (GUILayout.Button("DumpAllBlueprints")) - { - AssetsDump.DumpAllBlueprints(); - } - if (GUILayout.Button("DumpEquipmentEntities")) - { - AssetsDump.DumpEquipmentEntities(); - } - if (GUILayout.Button("DumpList")) - { - AssetsDump.DumpList(); - } - if (GUILayout.Button("TestLoad")) - { - var bp = JsonBlueprints.Load("mods/customraces/data/rangerclass.json"); - DebugLog("Loaded " + (bp?.name ?? "NULL")); - } - if (GUILayout.Button("FindObject")) - { - var go = FindObject(270194); - DebugLog(go == null ? "NULL" : go.name); //OH_LongswordThieves - var sprite = FindObject(45820); - DebugLog(sprite == null ? "NULL" : sprite.name); //OH_LongswordThieves - } - if (GUILayout.Button("Reload")) - { - RaceManager.Reload(); - } - int newTorso = (int)GUILayout.HorizontalSlider(torso, -1, MeshTestRace.testAssets.Length - 1, GUILayout.Width(300)); - GUILayout.Label("Torso: " + newTorso); - if(torso != newTorso) - { - torso = newTorso; - MeshTestRace.ChooseTorso(torso); - } -#endif - } catch(Exception e) - { - DebugLog(e.ToString() + " " + e.StackTrace); - } - } - - } -} diff --git a/CustomRaces/MeshTestRace.cs b/CustomRaces/MeshTestRace.cs deleted file mode 100644 index 2e92cf2..0000000 --- a/CustomRaces/MeshTestRace.cs +++ /dev/null @@ -1,157 +0,0 @@ -using Harmony12; -using Kingmaker; -using Kingmaker.Blueprints; -using Kingmaker.Blueprints.CharGen; -using Kingmaker.Blueprints.Classes; -using Kingmaker.ResourceLinks; -using Kingmaker.Visual.CharacterSystem; -using System; -using System.Linq; -using UnityEngine; - -namespace CustomRaces -{ - static public class MeshTestRace - { - public static AssetBundle bundle; - public static BlueprintRace race; - public static string[] testAssets = new string[] - { - "TS_0.prefab", //Bad - "TS_1.prefab", //Bad - }; - public static BlueprintRace CreateRace() - { - if (bundle == null) bundle = AssetBundle.LoadFromFile("Mods/CustomRaces/AssetBundles/customrace"); - var blueprints = ResourcesLibrary.LibraryObject.BlueprintsByAssetId; - var human = (BlueprintRace)blueprints["0a5d473ead98b0646b94495af250fdc4"]; - var newRace = RaceUtil.CopyRace(human, "96f0c206fb134674a0c0bbbfcb39803c"); - newRace.Features = new BlueprintFeatureBase[] - { - (BlueprintFeatureBase)blueprints["03fd1e043fc678a4baf73fe67c3780ce"] //ElvenWeaponFamiliarity - }; - newRace.SelectableRaceStat = false; - newRace.name = "MeshTestRace"; - foreach (var preset in newRace.Presets) preset.name += "MeshTestRace"; - //SetSMR(newRace); - SetSMR2(newRace); - Traverse.Create(newRace).Field("m_DisplayName").SetValue(RaceUtil.MakeLocalized("MeshTest")); - Traverse.Create(newRace).Field("m_Description").SetValue(RaceUtil.MakeLocalized("Description Goes Here")); - race = newRace; - return newRace; - } - static void SetSMR2(BlueprintRace newRace) - { - var oldSkin = newRace.Presets[0].Skin.Load(Gender.Male, newRace.RaceId).First(); - var skinPrefab = bundle.LoadAsset("Assets/Preview_Blender/Skin_Male2.prefab"); - foreach (var smr in skinPrefab.GetComponentsInChildren()) - { - var smrType = Traverse.Create(typeof(EquipmentEntity)).Method("GetBodyPartType", new object[] { smr.name }).GetValue(); - var bp = oldSkin.BodyParts.Find((_bp) => _bp.Type == smrType); - var oldSMR = bp.RendererPrefab.GetComponentInChildren(); - Main.DebugLog($"Old SMR Name {oldSMR.name}"); - bp.RendererPrefab = smr.gameObject; - Traverse.Create(bp).Field("m_SkinnedRenderer").SetValue(smr); - } - - var oldHead = newRace.MaleOptions.Heads[0].Load(); - var headPrefab = bundle.LoadAsset("Assets/Preview_Blender/Head_Male1.prefab"); - foreach (var smr in headPrefab.GetComponentsInChildren()) - { - var smrType = Traverse.Create(typeof(EquipmentEntity)).Method("GetBodyPartType", new object[] { smr.name }).GetValue(); - var bp = oldHead.BodyParts.Find((_bp) => _bp.Type == smrType); - bp.RendererPrefab = smr.gameObject; - Traverse.Create(bp).Field("m_SkinnedRenderer").SetValue(smr); - } - } - static void SetSMR(BlueprintRace newRace) - { - var humanTorso = newRace.Presets[0].Skin.Load(Gender.Male, newRace.RaceId).First().BodyParts.Find((bp) => bp.Type == BodyPartType.Torso); - var oldSkin = newRace.Presets[0].Skin.Load(Gender.Male, newRace.RaceId).First(); - var bodypart = oldSkin.BodyParts[0]; - bodypart.RendererPrefab = bundle.LoadAsset(testAssets[0]); - Traverse.Create(bodypart).Field("m_SkinnedRenderer").SetValue(bodypart.SkinnedRenderer); - Main.DebugLog("Missing skinned renderer!!!!"); - bodypart.SkinnedRenderer.sharedMesh.bindposes = humanTorso.SkinnedRenderer.sharedMesh.bindposes; - /*var newHead = bundle.LoadAsset("Assets/Race/EE_Head_Face01_M_HM.asset"); - var oldHead = newRace.MaleOptions.Heads[0].Load(); - for(int i = 0; i < newHead.BodyParts.Count && i < oldHead.BodyParts.Count; i++) - { - break; - var oldBP = oldHead.BodyParts[i]; - var newBP = newHead.BodyParts[i]; - oldBP.RendererPrefab = newBP.RendererPrefab; - } - var newSkin = bundle.LoadAsset("Assets/Race/EE_Naked_M_HM.asset"); - var oldSkin = newRace.Presets[0].Skin.Load(Gender.Male, newRace.RaceId).First(); - for (int i = 0; i < oldSkin.BodyParts.Count && i < newSkin.BodyParts.Count; i++) - { - var oldBP = oldSkin.BodyParts[i]; - var newBP = newSkin.BodyParts[i]; - oldBP.RendererPrefab = newBP.RendererPrefab; - break; - }*/ - } - static void AddOptions(CustomizationOptions options, string oldAssetID) - { - var hair = bundle.LoadAsset("Assets/Race/EE_Hair_HairLongBangs_M_AS.asset"); - var head = bundle.LoadAsset("Assets/Race/EE_Head_Face01_M_HM.asset"); - options.Hair = new EquipmentEntityLink[] { RaceUtil.MakeEquipmentEntityLink(hair, new Guid(oldAssetID + "Hair").ToString()) }; - options.Heads = new EquipmentEntityLink[] { RaceUtil.MakeEquipmentEntityLink(head, new Guid(oldAssetID + "Head").ToString()) }; - Main.DebugLog("Added Hair"); - } - public static void ChooseTorso(int index) - { - - Main.DebugLog("Changed Toros"); - GameObject prefab = null; - - if (index == -1) - { - var blueprints = ResourcesLibrary.LibraryObject.BlueprintsByAssetId; - var human = (BlueprintRace)blueprints["0a5d473ead98b0646b94495af250fdc4"]; - foreach (var bodypart in human.Presets[0].Skin.Load(Gender.Female, human.RaceId).First().BodyParts) { - if(bodypart.Type == BodyPartType.Torso) prefab = bodypart.RendererPrefab; - } - } else - { - prefab = bundle.LoadAsset("Assets/Model/" + testAssets[index]); - } - //var maleSkin = race.Presets[0].Skin.Load(Gender.Male, race.RaceId).First(); - //maleSkin.BodyParts[0].RendererPrefab = prefab; - if (Game.Instance.Player.MainCharacter != null) - { - Character character = Game.Instance.Player.MainCharacter.Value.View.CharacterAvatar; - Main.DebugLog("Changing Torso for Character " + character.name); - bool swapped = false; - foreach(var ee in character.EquipmentEntities.ToArray()) - { - if (ee.name != "Skin" && ee.name != "EE_Naked_M_HM") - { - character.RemoveEquipmentEntity(ee); - continue; - } - foreach (var bodypart in ee.BodyParts) - { - if (bodypart.Type != BodyPartType.Torso) continue; - var smr = prefab.GetComponentInChildren(); - bodypart.RendererPrefab = prefab; - Traverse.Create(bodypart).Field("m_SkinnedRenderer").SetValue(smr); - Main.DebugLog("Replacing bodypart with " + index + " " + prefab.name + " " + smr?.name); - Main.DebugLog("RootBone " + prefab.name); - Main.DebugLog("SharedMesh " + smr?.sharedMesh?.name); - Main.DebugLog("Bodypart " + index + " " + bodypart.RendererPrefab.name + " " + bodypart.SkinnedRenderer.name); - swapped = true; - } - } - - character.IsDirty = true; - Traverse.Create(character).Method("Update").GetValue(); - if (!swapped) Main.DebugLog("Couldn't find torso"); - } else - { - Main.DebugLog("Can't find main Character"); - } - } - } -} diff --git a/CustomRaces/Ninja.cs b/CustomRaces/Ninja.cs deleted file mode 100644 index eef818a..0000000 --- a/CustomRaces/Ninja.cs +++ /dev/null @@ -1,72 +0,0 @@ -using Kingmaker.Blueprints; -using Kingmaker.Blueprints.Classes; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using UnityEngine; - -namespace CustomRaces -{ - class Ninja - { - public static BlueprintCharacterClass CreateClass() - { - var newClass = ScriptableObject.CreateInstance(); - var rogue = ResourcesLibrary.TryGetBlueprint("299aa766dee3cbf4790da4efb8c72484"); - newClass.LocalizedName = RaceUtil.MakeLocalized("Ninja"); - newClass.LocalizedDescription = RaceUtil.MakeLocalized("When the wealthy and the powerful need an enemy eliminated quietly and without fail, they call upon the ninja. When a general needs to sabotage the siege engines of his foes before they can reach the castle walls, he calls upon the ninja. And when fools dare to move against a ninja or her companions, they will find the ninja waiting for them while they sleep, ready to strike. These shadowy killers are masters of infiltration, sabotage, and assassination, using a wide variety of weapons, practiced skills, and mystical powers to achieve their goals."); - //Archtypes cannot be duplicated accross classes because breats BlueprintArchetype.GetParentClass() - //newClass.Archetypes = rogue.Archetypes; - newClass.Archetypes = new BlueprintArchetype[0]; - newClass.BaseAttackBonus = rogue.BaseAttackBonus; - newClass.ClassSkills = rogue.ClassSkills; - newClass.ComponentsArray = rogue.ComponentsArray; - newClass.DefaultBuild = rogue.DefaultBuild; - newClass.EquipmentEntities = rogue.EquipmentEntities; - newClass.FemaleEquipmentEntities = rogue.FemaleEquipmentEntities; - newClass.FortitudeSave = rogue.FortitudeSave; - newClass.HideIfRestricted = rogue.HideIfRestricted; - newClass.HitDie = rogue.HitDie; - newClass.IsArcaneCaster = rogue.IsArcaneCaster; - newClass.IsArcaneCaster = rogue.IsDivineCaster; - newClass.MaleEquipmentEntities = rogue.MaleEquipmentEntities; - newClass.m_Icon = rogue.m_Icon; - newClass.name = "NinjaClass"; - newClass.NotRecommendedAttributes = rogue.NotRecommendedAttributes; - newClass.PrestigeClass = rogue.PrestigeClass; - newClass.PrimaryColor = rogue.PrimaryColor; - newClass.Progression = rogue.Progression; - newClass.RecommendedAttributes = rogue.RecommendedAttributes; - newClass.ReflexSave = rogue.ReflexSave; - newClass.SecondaryColor = rogue.SecondaryColor; - newClass.SkillPoints = rogue.SkillPoints; - newClass.Spellbook = rogue.Spellbook; - newClass.StartingGold = rogue.StartingGold; - newClass.StartingItems = rogue.StartingItems; - newClass.WillSave = rogue.WillSave; - RaceUtil.AddBlueprint(newClass, "7b9c8a62205d44cf8d1021ed0f4bf2da"); - //Note set progression parent ot newClass - CopyProgression(newClass, rogue.Progression); - //BlueprintPgoression.ExclusiveProgression = newClass - //Check for Prerequisites that contain classblueprints - return newClass; - } - public static void CopyProgression(BlueprintCharacterClass newClass, BlueprintProgression oldProgression) - { - BlueprintProgression newProgression = ScriptableObject.CreateInstance(); - newProgression.Classes = new BlueprintCharacterClass[] { newClass }; - newProgression.ComponentsArray = oldProgression.ComponentsArray; - newProgression.ExclusiveProgression = newClass; - newProgression.Groups = oldProgression.Groups; - newProgression.LevelEntries = oldProgression.LevelEntries; - newProgression.name = "Custom_" + oldProgression.name; - newProgression.Ranks = oldProgression.Ranks; - newProgression.UIDeterminatorsGroup = newClass.Progression.LevelEntries[0].Features.ToArray(); - newProgression.UIGroups = new UIGroup[0]; - newClass.Progression = newProgression; - RaceUtil.AddBlueprint(newProgression, "376e3fa3a4994cb5a6626d93e63d57e6"); - } - } -} diff --git a/CustomRaces/Properties/AssemblyInfo.cs b/CustomRaces/Properties/AssemblyInfo.cs deleted file mode 100644 index 6bd45b7..0000000 --- a/CustomRaces/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("VisualAdjustments")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("VisualAdjustments")] -[assembly: AssemblyCopyright("Copyright © 2018")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("3724af9a-1765-4fbd-b4bf-1c7a89cf2510")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CustomRaces/RaceManager.cs b/CustomRaces/RaceManager.cs deleted file mode 100644 index a1c6471..0000000 --- a/CustomRaces/RaceManager.cs +++ /dev/null @@ -1,138 +0,0 @@ -using Harmony12; -using Kingmaker; -using Kingmaker.Blueprints; -using Kingmaker.Blueprints.Classes; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine.SceneManagement; - -namespace CustomRaces -{ - public class RaceManager - { - static List races = new List(); - static List characterClasses = new List(); - static bool loaded = false; - public static void Init() - { - var blueprints = ResourcesLibrary.LibraryObject.BlueprintsByAssetId; - var goblinRace = (BlueprintRace)blueprints["9d168ca7100e9314385ce66852385451"]; - - /*races.Add(goblinRace); - races.Add(Drow.CreateRace()); - races.Add(Dhampir.CreateRace()); -#if (DEBUG) - races.Add(MeshTestRace.CreateRace()); -#endif - characterClasses.Add(Slayer.CreateClass()); -#if(DEBUG) - characterClasses.Add(Ninja.CreateClass()); -#endif*/ - } - static public void Reload() - { - var originalRaces = new List(); - foreach(var race in Game.Instance.BlueprintRoot.Progression.CharacterRaces) - { - if (race.AssetGuid.EndsWith(RaceUtil.AssetSuffix)) continue; - originalRaces.Add(race); - } - Game.Instance.BlueprintRoot.Progression.CharacterRaces = originalRaces.ToArray(); - var originalClasses = new List(); - foreach (var characterClass in Game.Instance.BlueprintRoot.Progression.CharacterClasses) - { - if (characterClass.AssetGuid.EndsWith(RaceUtil.AssetSuffix)) continue; - originalClasses.Add(characterClass); - } - Game.Instance.BlueprintRoot.Progression.CharacterClasses = originalClasses.ToArray(); - var blueprintsToRemove = ResourcesLibrary.LibraryObject.BlueprintsByAssetId.Where( - (item) => item.Key.EndsWith("CustomFeature")).ToList(); - foreach(var kv in blueprintsToRemove) - { - ResourcesLibrary.LibraryObject.BlueprintsByAssetId.Remove(kv.Key); - } - Main.DebugLog($"Removed {blueprintsToRemove.Count} Blueprints"); - var loadedResources = ResourcesLibrary.LoadedResources; - if (loadedResources == null) throw new Exception("No loaded resources"); - IDictionary resources = loadedResources as IDictionary; - var resourcesToRemove = new List(); - foreach(DictionaryEntry entry in resources) - { - if (entry.Key.ToString().EndsWith(RaceUtil.AssetSuffix)){ - resourcesToRemove.Add(entry.Key); - } - } - foreach(var key in resourcesToRemove) - { - resources.Remove(key); - } - Main.DebugLog($"Removing {resourcesToRemove.Count} Resources"); - races.Clear(); - characterClasses.Clear(); - Init(); - foreach (var race in races) AddRace(race); - foreach (var characterClass in characterClasses) AddCharcterClass(characterClass); - } - static public void OnSceneManagerOnSceneLoaded(Scene scene, LoadSceneMode mode) - { - if (scene.name == SceneName.LoadingScreenUI || - scene.name == SceneName.MainMenu || - scene.name == SceneName.MainMenuBoard) - { - try - { - if (!loaded) Init(); - loaded = true; - foreach (var race in races) AddRace(race); - foreach (var characterClass in characterClasses) AddCharcterClass(characterClass); - } catch(Exception e) - { - Main.DebugLog(e.ToString() + "\n" + e.StackTrace); - throw e; - } - } - } - static public void AddRace(BlueprintRace race) - { - try - { - ref var charRaces = ref Game.Instance.BlueprintRoot.Progression.CharacterRaces; - if (charRaces.Contains(race)) - { - return; - } - var l = charRaces.Length; - Array.Resize(ref charRaces, l + 1); - charRaces[l] = race; - Main.DebugLog($"{race.name} added to the race list"); - } - catch (Exception ex) - { - Main.DebugLog(ex.ToString()); - throw; - } - } - static public void AddCharcterClass(BlueprintCharacterClass characterClass) - { - try - { - ref var charClasses = ref Game.Instance.BlueprintRoot.Progression.CharacterClasses; - if (charClasses.Contains(characterClass)) - { - return; - } - var l = charClasses.Length; - Array.Resize(ref charClasses, l + 1); - charClasses[l] = characterClass; - Main.DebugLog($"{characterClass.name} added to the class list"); - } - catch (Exception ex) - { - Main.DebugLog(ex.ToString()); - throw; - } - } - } -} diff --git a/CustomRaces/RaceUtil.cs b/CustomRaces/RaceUtil.cs deleted file mode 100644 index 2a8a207..0000000 --- a/CustomRaces/RaceUtil.cs +++ /dev/null @@ -1,192 +0,0 @@ -using Harmony12; -using Kingmaker.Blueprints; -using Kingmaker.Blueprints.CharGen; -using Kingmaker.Blueprints.Classes; -using Kingmaker.Blueprints.Classes.Selection; -using Kingmaker.Blueprints.Classes.Spells; -using Kingmaker.Blueprints.Items.Weapons; -using Kingmaker.Localization; -using Kingmaker.ResourceLinks; -using Kingmaker.Visual.CharacterSystem; -using System; -using System.Collections.Generic; -using System.Security.Cryptography; -using System.Text; -using System.Threading; -using UnityEngine; - -namespace CustomRaces -{ - static public class RaceUtil - { - public static readonly string AssetSuffix = "#CustomFeature"; - public static Dictionary FallbackTable = new Dictionary() - { - { typeof(BlueprintRace), "0a5d473ead98b0646b94495af250fdc4" }, //Human - { typeof(BlueprintRaceVisualPreset), "58181bf151eb0c0408f82546541dcc03" }, //Human_Standard_VisualPreset - { typeof(BlueprintCharacterClass), "299aa766dee3cbf4790da4efb8c72484" }, //Rogue - { typeof(BlueprintProgression), "b57b2a75a5abcaf47a01cf84672b50e9" }, //RogueProgression - { typeof(BlueprintArchetype), "9e94d1847e6f331478e5a714659220ce"}, //KnifeMaster - { typeof(BlueprintFeature), "9b9eac6709e1c084cb18c3a366e0ec87" }, //SneakAttack - { typeof(BlueprintFeatureSelection), "c074a5d615200494b8f2a9c845799d93" }, //RogueTalent - { typeof(BlueprintSpellbook), "5a38c9ac8607890409fcb8f6342da6f4" }, //WizardSpellbook - { typeof(BlueprintSpellList), "ba0401fdeb4062f40a7aa95b6f07fe89" }, //WizardSpelllist - { typeof(BlueprintSpellsTable), "78bb94ed2e75122428232950bb09e97b" }, //WizardSpellLevels - { typeof(BlueprintStatProgression), "4c936de4249b61e419a3fb775b9f2581" }, //BABMedium - { typeof(BlueprintItemWeapon), "20f03323262f8604f8b8e4affe7dc3c8" }, //LongswordFrostPlus2 - { typeof(EquipmentEntity), "d019e95d4a8a8474aa4e03489449d6ee" } //RogueOutfit - - }; - public static string AddResource(T obj, string newAssetId) where T : UnityEngine.Object - { - string fallbackId = null; - FallbackTable.TryGetValue(typeof(T), out fallbackId); - if (fallbackId == null) - { - throw new Exception($"No fallback for typeof {typeof(T)}"); - } - string assetId = string.Format("{0}:{1}{2}", newAssetId, fallbackId, AssetSuffix); - var resourceType = Traverse.CreateWithType("Kingmaker.Blueprints.ResourcesLibrary+LoadedResource").GetValue(); - object resource = Activator.CreateInstance(resourceType); - Traverse.Create(resource).Field("Resource").SetValue(obj); - Traverse.Create(resource).Field("RequestCounter").SetValue(1); - var list = Traverse.Create(typeof(ResourcesLibrary)).Field("s_LoadedResources").GetValue(); - Traverse.Create(list).Method("Add", new object[] { assetId, resource }).GetValue(); - return assetId; - } - public static void AddBlueprint(T blueprint, string newAssetId) where T : BlueprintScriptableObject - { - string fallbackId = null; - FallbackTable.TryGetValue(typeof(T), out fallbackId); - if(fallbackId == null) - { - throw new Exception($"No fallback for typeof {typeof(T)}"); - } - string assetId = string.Format("{0}:{1}{2}", newAssetId, fallbackId, AssetSuffix); - Traverse.Create(blueprint).Field("m_AssetGuid").SetValue(assetId); - ResourcesLibrary.LibraryObject.BlueprintsByAssetId[assetId] = blueprint; - //This is not required, only used for debugging and ResourcesLibrary.GetBlueprints() on gameload - Traverse.Create(ResourcesLibrary.LibraryObject) - .Field("m_AllBlueprints") - .Method("Add", new object[] { blueprint }) - .GetValue(); - } - public static EquipmentEntityLink MakeEquipmentEntityLink(EquipmentEntity ee, string assetId) - { - var newAssetId = AddResource(ee, assetId); - var eel = new EquipmentEntityLink(); - eel.AssetId = newAssetId; - return eel; - } - public static string GetDeterministicAssetID(string input) - { - MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider(); - byte[] inputBytes = Encoding.Default.GetBytes(input); - byte[] hashBytes = provider.ComputeHash(inputBytes); - Guid hashGuid = new Guid(hashBytes); - return hashGuid.ToString("N"); - } - public static EquipmentEntity CopyEquipmentEntity(EquipmentEntity oldEE) - { - var newEE = ScriptableObject.CreateInstance(); - newEE.name = oldEE.name; - if (oldEE.ColorsProfile != null) - { - newEE.ColorsProfile = ScriptableObject.CreateInstance(); - newEE.ColorsProfile.PrimaryRamps = new List(oldEE.ColorsProfile.PrimaryRamps); - newEE.ColorsProfile.SecondaryRamps = new List(oldEE.ColorsProfile.PrimaryRamps); - newEE.ColorsProfile.name = oldEE.ColorsProfile.name; - } - newEE.HideBodyParts = oldEE.HideBodyParts; - newEE.ShowLowerMaterials = oldEE.ShowLowerMaterials; - newEE.Layer = oldEE.Layer; - var primaryRamps = Traverse.Create(oldEE).Field("m_PrimaryRamps").GetValue>(); - //Outfit parts are static meshes - newEE.OutfitParts = new List(oldEE.OutfitParts); - - foreach (var oldBP in oldEE.BodyParts) - { - var newBP = new BodyPart(); - newBP.RendererPrefab = oldBP.RendererPrefab; - newBP.Material = oldBP.Material; - newBP.Textures = oldBP.Textures; - newBP.Type = oldBP.Type; - newEE.BodyParts.Add(newBP); - } - Traverse.Create(newEE).Field("m_BonesByName").SetValue(new Dictionary(oldEE.BonesByName)); - return newEE; - } - static EquipmentEntityLink[] CopyLinks(EquipmentEntityLink[] links, string oldGUID) - { - var eels = new EquipmentEntityLink[links.Length]; - for (int i = 0; i < links.Length; i++) - { - var oldEE = links[i].Load(); - var newEE = CopyEquipmentEntity(oldEE); - var assetID = GetDeterministicAssetID(oldGUID); - eels[i] = RaceUtil.MakeEquipmentEntityLink(newEE, assetID); - oldGUID = assetID; - } - return eels; - } - static BlueprintRaceVisualPreset[] CopyPresets(BlueprintRace original, string prevGUID) - { - var newPresets = new BlueprintRaceVisualPreset[original.Presets.Length]; - for (int i = 0; i < original.Presets.Length; i++) - { - newPresets[i] = ScriptableObject.CreateInstance(); - var presetAssetGUID = GetDeterministicAssetID(prevGUID); - RaceUtil.AddBlueprint(newPresets[i], presetAssetGUID); - //RaceManager.assets[presetAssetGUID] = newPresets[i]; - newPresets[i].RaceId = original.Presets[i].RaceId; - newPresets[i].MaleSkeleton = original.Presets[i].MaleSkeleton; - newPresets[i].FemaleSkeleton = original.Presets[i].FemaleSkeleton; - newPresets[i].Skin = ScriptableObject.CreateInstance(); - var maleSkin = CopyLinks(original.Presets[i].Skin.GetLinks(Gender.Male, original.RaceId), presetAssetGUID + "MaleSalt"); - var femaleSkin = CopyLinks(original.Presets[i].Skin.GetLinks(Gender.Female, original.RaceId), presetAssetGUID + "FemaleSalt"); - Traverse.Create(newPresets[i].Skin).Field("m_RaceDependent").SetValue(false); - Traverse.Create(newPresets[i].Skin).Field("m_MaleArray").SetValue(maleSkin); - Traverse.Create(newPresets[i].Skin).Field("m_FemaleArray").SetValue(femaleSkin); - prevGUID = presetAssetGUID; - } - return newPresets; - } - static CustomizationOptions CopyCustomisationOptions(CustomizationOptions orignal, string prevGUID) - { - var newOptions = new CustomizationOptions(); - newOptions.Beards = CopyLinks(orignal.Beards, prevGUID + "BeardSalt"); - newOptions.Heads = CopyLinks(orignal.Heads, prevGUID + "HeadSalt"); - newOptions.Eyebrows = CopyLinks(orignal.Eyebrows, prevGUID + "EyebrowSalt"); - newOptions.Hair = CopyLinks(orignal.Hair, prevGUID + "HairSalt"); - return newOptions; - } - static public BlueprintRace CopyRace(BlueprintRace original, string newID = null) - { - var newRace = ScriptableObject.CreateInstance(); - if (newID == null) newID = original.AssetGuid; - RaceUtil.AddBlueprint(newRace, newID); - newRace.RaceId = original.RaceId; - newRace.SoundKey = original.SoundKey; - newRace.SelectableRaceStat = original.SelectableRaceStat; - newRace.MaleSpeedSettings = original.MaleSpeedSettings; - newRace.FemaleSpeedSettings = original.FemaleSpeedSettings; - newRace.MaleOptions = CopyCustomisationOptions(original.MaleOptions, newID + "MaleOptions"); - newRace.FemaleOptions = CopyCustomisationOptions(original.FemaleOptions, newID + "FemaleOptions"); - newRace.Presets = CopyPresets(original, newID + "Presets"); - newRace.Features = (BlueprintFeatureBase[]) original.Features.Clone(); - return newRace; - } - /* - * Huge hack. TODO fix - */ - public static LocalizedString MakeLocalized(string text) - { - var key = Guid.NewGuid().ToString(); - LocalizationManager.CurrentPack.Strings[key] = text; - var localized = new LocalizedString(); - Traverse.Create(localized).Field("m_Key").SetValue(key); - return localized; - } - } - -} diff --git a/CustomRaces/Repository.json b/CustomRaces/Repository.json deleted file mode 100644 index 75a36ea..0000000 --- a/CustomRaces/Repository.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "Releases": - [ - {"Id": "CustomRaces", "Version": "1.0.0"} - ] -} \ No newline at end of file diff --git a/CustomRaces/Settings.cs b/CustomRaces/Settings.cs deleted file mode 100644 index 1a6151b..0000000 --- a/CustomRaces/Settings.cs +++ /dev/null @@ -1,12 +0,0 @@ -using UnityModManagerNet; - -namespace CustomRaces -{ - public class Settings : UnityModManager.ModSettings - { - public override void Save(UnityModManager.ModEntry modEntry) - { - Save(this, modEntry); - } - } -} diff --git a/CustomRaces/Slayer.cs b/CustomRaces/Slayer.cs deleted file mode 100644 index aa85b59..0000000 --- a/CustomRaces/Slayer.cs +++ /dev/null @@ -1,273 +0,0 @@ -using Harmony12; -using Kingmaker.Blueprints; -using Kingmaker.Blueprints.Classes; -using Kingmaker.Blueprints.Classes.Prerequisites; -using Kingmaker.Blueprints.Classes.Selection; -using Kingmaker.EntitySystem.Stats; -using Kingmaker.ResourceLinks; -using Kingmaker.Visual.CharacterSystem; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using UnityEngine; - -namespace CustomRaces -{ - class Slayer - { - public static BlueprintCharacterClass CreateClass() - { - var ranger = ResourcesLibrary.TryGetBlueprint("cda0615668a6df14eb36ba19ee881af6"); - var rogue = ResourcesLibrary.TryGetBlueprint("299aa766dee3cbf4790da4efb8c72484"); - var newClass = ScriptableObject.CreateInstance(); - var preRequeNoClass = ScriptableObject.CreateInstance(); //Slayer can't be AnimalClass - preRequeNoClass.CharacterClass = ResourcesLibrary.TryGetBlueprint("4cd1757a0eea7694ba5c933729a53920"); - newClass.ComponentsArray = new BlueprintComponent[] { preRequeNoClass }; - newClass.name = "SlayerClass"; - newClass.LocalizedName = RaceUtil.MakeLocalized("Slayer"); - newClass.LocalizedDescription = RaceUtil.MakeLocalized("Skilled at tracking down targets, slayers are consummate hunters, living for the chase and the deadly stroke that brings it to a close. Slayers spend most of their time honing their weapon skills, studying the habits and anatomy of foes, and practicing combat maneuvers."); - newClass.HitDie = Kingmaker.RuleSystem.DiceType.D10; - newClass.SkillPoints = 4; - newClass.BaseAttackBonus = ranger.BaseAttackBonus; - newClass.FortitudeSave = ranger.FortitudeSave; - newClass.ReflexSave = ranger.ReflexSave; - newClass.WillSave = ranger.WillSave; - newClass.Archetypes = new BlueprintArchetype[0]; //No Archtypes - newClass.ClassSkills = new StatType[] - { - StatType.SkillMobility, - StatType.SkillAthletics, - StatType.SkillPersuasion, - StatType.SkillPerception, - StatType.SkillStealth, - StatType.SkillKnowledgeWorld - }; - SetupClassApperance(newClass, rogue, ranger); - SetupProgression(newClass); - newClass.StartingGold = 411; - newClass.StartingItems = new Kingmaker.Blueprints.Items.BlueprintItem[] { }; - newClass.RecommendedAttributes = new StatType[] { StatType.Dexterity }; - //newClass.DefaultBuild = rogue.DefaultBuild; - RaceUtil.AddBlueprint(newClass, "38e7361d138f4a04bf03659e4204543e"); - RaceUtil.AddBlueprint(newClass.Progression, "d6bdd34d8f8f4295b6433a201c8e0605"); - return newClass; - } - static void SetupClassApperance(BlueprintCharacterClass newClass, BlueprintCharacterClass rogue, BlueprintCharacterClass ranger) - { - newClass.PrimaryColor = 31; - newClass.SecondaryColor = 7; - /* - * Shoulder stuff, Belts and straps, keytools - * "b1c62eff2287d9a4fbbf76c345d58840" EE_RogueAccesories_M - * "345af8eabd450524ab364e7a7c6f1044" EE_RogueAccesories_F - * - * Base Outfit - * "d019e95d4a8a8474aa4e03489449d6ee" EE_Rogue_M_Any_Colorize - * "c6757746d62b78f46a92020110dfe088" EE_Rogue_F_Any_Colorize - * - * Nice Cape - * "bba6c03b44e5a1c4dbfacf7eec6123dd" EE_Rogue_M_Cape - * "b7613075291c79947a0cde8c7aec5926" EE_Rogue_F_Cape - * - * Backpack - * "e249678d823d00f4cb30d4d5c8ca1219" Ranger_M_Accessories - * "e09cf61a567f2a84ea9a3b505f390a32" Ranger_F_Accessories - * - * Belts and Straps - * "0809ab3735b54874b965a09311f0c898" EE_RangerAccesories_M_Any_Colorize - * "b6bca728c4ced324da7e8d0d01ad34bb" EE_RangerAccesories_F_Any_Colorize - * - * Base Outfit - * "ca71ad9178ecf6a4d942ce55d0c7857b" EE_Ranger_M_Any_Colorize - * "bc6fb7e5c91de08418b81a397b20bb18" EE_Ranger_F_Any_Colorize - * - * Ratty Cape - * "fb0037ec1d96c8d418bc08d3e0bbf063" EE_Ranger_M_Cape - * "52a0a0c7183957a4ea02301ce40b3e83" EE_Ranger_F_Cape - */ - - /* - * Ranger contains: Boots, Forearms, Faulds, Hands, Torso, Upperarms, Upperlegs - * Roue Contains: Boots, forearms, Faulds, Torso, Upperarms, Upperlegs - */ - var rogueMaleOutfit = ResourcesLibrary.TryGetResource("d019e95d4a8a8474aa4e03489449d6ee"); - var rangerMaleOutfit = ResourcesLibrary.TryGetResource("ca71ad9178ecf6a4d942ce55d0c7857b"); - var maleOutfit = RaceUtil.CopyEquipmentEntity(rogueMaleOutfit); - maleOutfit.BodyParts.Clear(); - var rangerBodyPartTypes = BodyPartType.Boots | BodyPartType.Hands | BodyPartType.Upperarms | BodyPartType.Forearms; - var rogueBodyPartTypes = BodyPartType.Faulds | BodyPartType.Upperlegs | BodyPartType.Torso; - maleOutfit.BodyParts.AddRange(rogueMaleOutfit.BodyParts.Where( - (bp) => (bp.Type & rogueBodyPartTypes) != 0)); - maleOutfit.BodyParts.AddRange(rangerMaleOutfit.BodyParts.Where( - (bp) => (bp.Type & rangerBodyPartTypes) != 0)); - var maleOutfitLink = RaceUtil.MakeEquipmentEntityLink(maleOutfit, "7b8429914e404455b270835c20486322"); - var rogueFemaleOutfit = ResourcesLibrary.TryGetResource("c6757746d62b78f46a92020110dfe088"); - var rangerFemaleOutfit = ResourcesLibrary.TryGetResource("bc6fb7e5c91de08418b81a397b20bb18"); - var femaleOutfit = RaceUtil.CopyEquipmentEntity(rogueFemaleOutfit); - femaleOutfit.BodyParts.Clear(); - femaleOutfit.BodyParts.AddRange(rogueFemaleOutfit.BodyParts.Where( - (bp) => bp.Type == BodyPartType.Faulds || bp.Type == BodyPartType.Torso || bp.Type == BodyPartType.Upperarms || bp.Type == BodyPartType.Upperlegs)); - femaleOutfit.BodyParts.AddRange(rangerFemaleOutfit.BodyParts.Where( - (bp) => bp.Type == BodyPartType.Boots || bp.Type == BodyPartType.Hands || bp.Type == BodyPartType.Forearms)); - - var femaleOutfitLink = RaceUtil.MakeEquipmentEntityLink(femaleOutfit, "b23db2bf48b340b79e25039deb0c86dd"); - //EquipmentEntities contains race dependent equipment entities, specificly hoods because races have different heads - newClass.EquipmentEntities = rogue.EquipmentEntities; - newClass.MaleEquipmentEntities = new EquipmentEntityLink[] { - new EquipmentEntityLink(){ AssetId = "0809ab3735b54874b965a09311f0c898" }, //EE_RangerAccesories_M_Any_Colorize - maleOutfitLink, //CustomOutfit - new EquipmentEntityLink(){ AssetId = "fb0037ec1d96c8d418bc08d3e0bbf063" }, //EE_Ranger_M_Cape - }; - newClass.FemaleEquipmentEntities = new EquipmentEntityLink[] { - new EquipmentEntityLink(){ AssetId = "b6bca728c4ced324da7e8d0d01ad34bb" }, //EE_RangerAccesories_F_Any_Colorize - femaleOutfitLink, //CustomOutfit - new EquipmentEntityLink(){ AssetId = "52a0a0c7183957a4ea02301ce40b3e83" }, //EE_Ranger_F_Cape - }; - } - static void SetupProgression(BlueprintCharacterClass newClass) - { - var progression = ScriptableObject.CreateInstance(); - progression.name = "SlayerProgression"; - //progression.Archetypes = new BlueprintArchetype[0]; - progression.Classes = new BlueprintCharacterClass[] { newClass }; - progression.ExclusiveProgression = newClass; - progression.LevelEntries = new LevelEntry[20]; - //progression.Description - //Progression.Name - var slayerTalent = SlayerTalent(); - List> features = new List>(); - features.Capacity = 20; - for (int i = 0; i < features.Capacity; i++) features.Add(new List()); - features[0].Add("c5e479367d07d62428f2fe92f39c0341"); //RangerProficiencies TODO: Clone and change name - features[0].Add("16cc2c937ea8d714193017780e7d4fc6"); //FavoriteEnemySelection TODO: Make Studied Target - features[1].Add(slayerTalent.AssetGuid); //SlayerTalent - features[2].Add("9b9eac6709e1c084cb18c3a366e0ec87"); //SneakAttack - features[3].Add(slayerTalent.AssetGuid); //SlayerTalent - features[4].Add("16cc2c937ea8d714193017780e7d4fc6"); //FavoriteEnemySelection TODO: Make Studied Target - features[4].Add("c1be13839472aad46b152cf10cf46179"); //FavoriteEnemyRankUp TODO: Make Studied Target - features[5].Add(slayerTalent.AssetGuid); //SlayerTalent - features[5].Add("9b9eac6709e1c084cb18c3a366e0ec87"); //SneakAttack - features[6].Add("c7e1d5ef809325943af97f093e149c4f"); //Stealthy TODO: Make Stalker talent - features[7].Add(slayerTalent.AssetGuid); //SlayerTalent - features[8].Add("9b9eac6709e1c084cb18c3a366e0ec87"); //SneakAttack - features[9].Add("16cc2c937ea8d714193017780e7d4fc6"); //FavoriteEnemySelection TODO: Make Studied Target - features[9].Add("c1be13839472aad46b152cf10cf46179"); //FavoriteEnemyRankUp TODO: Make Studied Target - features[9].Add(slayerTalent.AssetGuid); //SlayerTalent - features[9].Add("a33b99f95322d6741af83e9381b2391c"); //AdvanceTalents TODO: Make Advanced Slayer Talent - features[10].Add("97a6aa2b64dd21a4fac67658a91067d7"); //FastStealth TODO: Make Swift Tracker - features[11].Add(slayerTalent.AssetGuid); //SlayerTalent - features[11].Add("16cc2c937ea8d714193017780e7d4fc6"); //FavoriteEnemySelection TODO: Make Studied Target - features[11].Add("c1be13839472aad46b152cf10cf46179"); //FavoriteEnemyRankUp TODO: Make Studied Target - features[11].Add("9b9eac6709e1c084cb18c3a366e0ec87"); //SneakAttack - features[12].Add("7df32d4e9bd2cdc48b0f69b03a57754a"); //SwiftFootFeature TODO replace with Slayer’s Advance - features[13].Add("385260ca07d5f1b4e907ba22a02944fc"); //Quarry - features[13].Add(slayerTalent.AssetGuid); //SlayerTalent - features[14].Add("16cc2c937ea8d714193017780e7d4fc6"); //FavoriteEnemySelection TODO: Make Studied Target - features[14].Add("c1be13839472aad46b152cf10cf46179"); //FavoriteEnemyRankUp TODO: Make Studied Target - features[14].Add("9b9eac6709e1c084cb18c3a366e0ec87"); //SneakAttack - features[15].Add(slayerTalent.AssetGuid); //SlayerTalent - features[16].Add("7df32d4e9bd2cdc48b0f69b03a57754a"); //SwiftFootFeature TODO replace with Slayer’s Advance - features[17].Add(slayerTalent.AssetGuid); //SlayerTalent - features[17].Add("9b9eac6709e1c084cb18c3a366e0ec87"); //SneakAttack - features[18].Add("25e009b7e53f86141adee3a1213af5af"); //Improved Quary - features[19].Add("16cc2c937ea8d714193017780e7d4fc6"); //FavoriteEnemySelection TODO: Make Studied Target - features[19].Add("c1be13839472aad46b152cf10cf46179"); //FavoriteEnemyRankUp TODO: Make Studied Target - features[19].Add("9d53ef63441b5d84297587d75f72fc17"); //MasterHunter TODO: Make Master Slayer - features[19].Add("72dcf1fb106d5054a81fd804fdc168d3"); //MasterStrike TODO: Make Master Slayer - features[19].Add(slayerTalent.AssetGuid); //SlayerTalent - for (int i = 0; i < features.Count; i++) - { - progression.LevelEntries[i] = new LevelEntry(); - progression.LevelEntries[i].Level = i + 1; - foreach (var featureId in features[i]) - { - progression.LevelEntries[i].Features.Add(ResourcesLibrary.TryGetBlueprint(featureId)); - } - } - progression.UIDeterminatorsGroup = new BlueprintFeatureBase[]{ - //RangerProficiencies - ResourcesLibrary.TryGetBlueprint("c5e479367d07d62428f2fe92f39c0341") - }; - progression.UIGroups = new UIGroup[] - { - new UIGroup() - { - Features = new BlueprintFeatureBase[] - { - //FavoriteEnemySelection - ResourcesLibrary.TryGetBlueprint("16cc2c937ea8d714193017780e7d4fc6"), - //FavoriteEnemyRankUp - ResourcesLibrary.TryGetBlueprint("c1be13839472aad46b152cf10cf46179") - }.ToList() - }, - new UIGroup() - { - Features = new BlueprintFeatureBase[] - { - //Quarry - ResourcesLibrary.TryGetBlueprint("385260ca07d5f1b4e907ba22a02944fc"), - //ImprovedQuarry - ResourcesLibrary.TryGetBlueprint("25e009b7e53f86141adee3a1213af5af") - }.ToList() - }, - }; - RaceUtil.AddBlueprint(progression, "3efb832cd03c4c94a858ef8539d9ce92"); - newClass.Progression = progression; - - } - static BlueprintFeatureBase SlayerTalent() - { - var slayerTalent = ScriptableObject.CreateInstance(); - slayerTalent.Group = FeatureGroup.RogueTalent; - slayerTalent.name = "SlayerTalent"; - var rogueTalent = ResourcesLibrary.TryGetBlueprint("b78d146cea711a84598f0acef69462ea"); - //var sprite = Traverse.Create(rogueTalent).Field("m_Icon").GetValue(); - //Traverse.Create(slayerTalent).Field("m_Icon").SetValue(sprite); - Traverse.Create(slayerTalent).Field("m_DisplayName").SetValue(RaceUtil.MakeLocalized("Slayer Talent")); - Traverse.Create(slayerTalent).Field("m_Description").SetValue(RaceUtil.MakeLocalized("As a slayer gains experience, he learns a number of talents that aid him and confound his foes. Starting at 2nd level and every 2 levels thereafter, a slayer gains one slayer talent. Unless otherwise noted, a slayer cannot select an individual talent more than once.")); - slayerTalent.AllFeatures = new BlueprintFeature[] - { - //TODO - //Blood Reader - //Deadly Range - //Foil Scrutiny - //Poison Use - //Ranger Combat Style - //Rogue Talent - //Slowing Strike* - //Sticks and Stones (Ex) - //Studied Ally - //Sunlight Strike (Ex) - //Sure Footing (Ex) - //Toxin Training (Ex) - ResourcesLibrary.TryGetBlueprint("c6d0da9124735a44f93ac31df803b9a9"), //RangerStyleSelection2 - ResourcesLibrary.TryGetBlueprint("61f82ba786fe05643beb3cd3910233a8"), //RangerStyleSelection6 - ResourcesLibrary.TryGetBlueprint("78177315fc63b474ea3cbb8df38fafcd"), //RangerStyleSelection10 - ResourcesLibrary.TryGetBlueprint("dbb6b3bffe6db3547b31c3711653838e"), //Trapfinding - ResourcesLibrary.TryGetBlueprint("68a23a419b330de45b4c3789649b5b41"), //CannyObserver - ResourcesLibrary.TryGetBlueprint("c5158a6622d0b694a99efb1d0025d2c1"), //CombatTrick, - ResourcesLibrary.TryGetBlueprint("97a6aa2b64dd21a4fac67658a91067d7"), // FastStealth - ResourcesLibrary.TryGetBlueprint("955ff81c596c1c3489406d03e81e6087"), // FocusingAttackConfused, - ResourcesLibrary.TryGetBlueprint("791f50e199d069d4f8e933996a2ce054"), //FocusingAttackShaken, - ResourcesLibrary.TryGetBlueprint("79475c263e538c94f8e23907bd570a35"), //FocusingAttackSicken - ResourcesLibrary.TryGetBlueprint("6087e0c9801b5eb48bf48d6e75116aad"), //IronGuts - ResourcesLibrary.TryGetBlueprint("7787030571e87704d9177401c595408e"), //SlowRections - ResourcesLibrary.TryGetBlueprint("ca5274d057152fa45b7527cad0927840"), //UncannyDodgeTalent, - ResourcesLibrary.TryGetBlueprint("ce72662a812b1f242849417b2c784b5e"), //ConfoundingBlades, - ResourcesLibrary.TryGetBlueprint("b696bd7cb38da194fa3404032483d1db"), //CripplingStrike - ResourcesLibrary.TryGetBlueprint("1b92146b8a9830d4bb97ab694335fa7c"), //DispellingAttack - ResourcesLibrary.TryGetBlueprint("dd699394df0ef8847abba26038333f02"), //DoubleDelibitation - ResourcesLibrary.TryGetBlueprint("0d35d6c4d5eef8d4790d09bd9a874e57"), //ImprovedEvasion - ResourcesLibrary.TryGetBlueprint("e821c61b2711cea4cb993725b910e7e8"), //ImprovedUncannyDodgeTalent - ResourcesLibrary.TryGetBlueprint("5bb6dc5ce00550441880a6ff8ad4c968"), //Oppotunist - ResourcesLibrary.TryGetBlueprint("d76497bfc48516e45a0831628f767a0f"), //IntimidatingProwess - ResourcesLibrary.TryGetBlueprint("c9629ef9eebb88b479b2fbc5e836656a"), //SkillFocusSelection - ResourcesLibrary.TryGetBlueprint("1e1f627d26ad36f43bbd26cc2bf8ac7e"), //WeaponFocus - }; - RaceUtil.AddBlueprint(slayerTalent, "efc3ce27f70e4487b280272580d601e9"); - return slayerTalent; - } - } -} diff --git a/CustomRaces/info.json b/CustomRaces/info.json deleted file mode 100644 index fbc6508..0000000 --- a/CustomRaces/info.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Id": "CustomRaces", - "DisplayName": "Custom Races", - "Author": "spacehamster", - "Version": "1.0.0", - "ManagerVersion": "0.12.0", - "Requirements": [], - "AssemblyName": "CustomRaces.dll", - "EntryMethod": "CustomRaces.Main.Load" -} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index c7ca2d3..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 spacehamster - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index d7bb803..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Custom Races and Classes -An experimental mod to add custom races and classes to Pathfinder: Kingmaker. It is currently unstable and upgrades may break saves. -## Roadmap -* Determine a method of loading meshs and skeletons the game -* Determine a suitable serialization format for classes and races diff --git a/data/RangerClass.json b/data/RangerClass.json deleted file mode 100644 index 7910406..0000000 --- a/data/RangerClass.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "$id": "1", - "$type": "Kingmaker.Blueprints.Classes.BlueprintCharacterClass, Assembly-CSharp", - "LocalizedName": "LocalizedString:a15f772b-bb2c-467f-af73-2c74a2de90b7:Ranger", - "LocalizedDescription": "LocalizedString:b9379ca5-05d5-4430-aa65-19c44f78cd6c:Rangers are deft ski...", - "m_Icon": null, - "SkillPoints": 4, - "HitDie": "d10", - "HideIfRestricted": false, - "PrestigeClass": false, - "BaseAttackBonus": "Blueprint:b3057560ffff3514299e8b93e7648a9d:BABFull", - "FortitudeSave": "Blueprint:ff4662bde9e75f145853417313842751:SavesHigh", - "ReflexSave": "Blueprint:ff4662bde9e75f145853417313842751:SavesHigh", - "WillSave": "Blueprint:dc0c7c1aba755c54f96c089cdf7d14a3:SavesLow", - "Progression": "Blueprint:97261d609529d834eba4fd4da1bc44dc:RangerProgression", - "Spellbook": "Blueprint:762858a4a28eaaf43aa00f50441d7027:RangerSpellbook", - "ClassSkills": [ - "skillAthletics", - "skillPersuasion", - "skillLoreNature", - "skillKnowledgeWorld", - "skillStealth", - "skillPerception", - "skillKnowledgeArcana" - ], - "IsDivineCaster": true, - "IsArcaneCaster": false, - "Archetypes": [ - "Blueprint:4fd9705f1aebf614f9500bb0e7341179:FreebooterArchetype", - "Blueprint:300917c3479d27d47b4b4b52b1762e8d:FlamewardenArchetype", - "Blueprint:a330c05e484d98748a462acd43654a3a:StormwalkerArchetype" - ], - "StartingGold": 411, - "StartingItems": [ - "Blueprint:afbe88d27a0eb544583e00fa78ffb2c7:StuddedStandard", - "Blueprint:201f6150321e09048bd59e9b7f558cb0:StandardLongbow", - "Blueprint:238ac092fad27144c9514f82917fbec9:StandardHandaxe", - "Blueprint:a85d51d0fb905f940b951eec60388bac:LightShield", - "Blueprint:bc93a78d71bef084fa155e529660ed0d:PotionOfShieldOfFaith", - "Blueprint:d52566ae8cbe8dc4dae977ef51c27d91:PotionOfCureLightWounds" - ], - "PrimaryColor": 13, - "SecondaryColor": 7, - "EquipmentEntities": [ - "Blueprint:f1bca33555f534c408bebaaa12571570:KEE_Ranger_Cap" - ], - "MaleEquipmentEntities": [ - "Resource:e249678d823d00f4cb30d4d5c8ca1219:Meshes&EE/Accessories/EquipmentEntitites/Ranger_M_Accessories", - "Resource:0809ab3735b54874b965a09311f0c898:Meshes&EE/Accessories/EquipmentEntitites/EE_RangerAccesories_M_Any_Colorize", - "Resource:ca71ad9178ecf6a4d942ce55d0c7857b:Meshes&EE/Male/ClassOutfit/Ranger/EE_Ranger_M_Any_Colorize", - "Resource:fb0037ec1d96c8d418bc08d3e0bbf063:Meshes&EE/Male/ClassOutfit/Ranger/EE_Ranger_M_Cape" - ], - "FemaleEquipmentEntities": [ - "Resource:e09cf61a567f2a84ea9a3b505f390a32:Meshes&EE/Accessories/EquipmentEntitites/Ranger_F_Accessories", - "Resource:b6bca728c4ced324da7e8d0d01ad34bb:Meshes&EE/Accessories/EquipmentEntitites/EE_RangerAccesories_F_Any_Colorize", - "Resource:bc6fb7e5c91de08418b81a397b20bb18:Meshes&EE/Female/ClassOutfit/Ranger/EE_Ranger_F_Any_Colorize", - "Resource:52a0a0c7183957a4ea02301ce40b3e83:Meshes&EE/Female/ClassOutfit/Ranger/EE_Ranger_F_Cape" - ], - "RecommendedAttributes": [ - "dexterity", - "wisdom" - ], - "NotRecommendedAttributes": [ - "intelligence", - "charisma" - ], - "DefaultBuild": "Blueprint:448079d5cc1f2514888cbf7a50db7f2a:PrebuildRangerFeatureList", - "Components": [ - { - "$id": "2", - "$type": "Kingmaker.Blueprints.Classes.Prerequisites.PrerequisiteNoClassLevel, Assembly-CSharp", - "CharacterClass": "Blueprint:4cd1757a0eea7694ba5c933729a53920:AnimalClass", - "Group": "all", - "name": "$PrerequisiteNoClassLevel$0ad27ca6-0d82-47e6-9d5e-614f10b5bb49" - } - ], - "m_AssetGuid": "cda0615668a6df14eb36ba19ee881af6", - "name": "RangerClass" -} \ No newline at end of file