
Fhav6X
Members-
Posts
90 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Everything posted by Fhav6X
-
In the end all of these slots are just item slots and pets are items as well. But pets are special since they have code that handles their AI, combat behavior, effects and what not. Unless thoroughly tested I stick to being very cautious with this. And just because one other companion can have them does not mean it works with more. It might not even work with Eder as intended. Berath's Blessing haven't been always fail proof (e.g. bonus skills ). @Ragniz Your "compile with no changes" looks like mine with one exception, line 1978. I don't have that. If I understand this line and "Unity console for POE2" right, this and other compile problems might be the result from an edited assembly-csharp by "Unity console for POE2". My suggestion is to reinstall the game so that you have the original assembly-csharp, then do the changes from my tutorial and then install Unity console for POE2. My changes are not as "hacky" as the python code from unity console. Unity console might handle my changes better then the other way round.
-
I would not change that since it might cause unforeseen conflicts with the pets effects (at best not working, at worst game breaking).
-
Precisely. One have to remove or comment the DebuggerBrowsable lines. They are not necessary for the game and probably are leftovers from code testing in unity.
-
Look here . You can also change the race of the character (via cheat). As you can see in the code, it only checks for godlike and locks the slot for them. Any other race is save.
-
That should provide you with all you need to know. 3d models are split in multiple files (meshes, materials, skeleton ....) the prefab files combine those into full 3d models for the game. I am currently testing, if it is now possible to create new prefabs, but you can at least try and edit existing 3d models.
-
Yes that is possible. I recommend you to downloadand modify kilay's more colors mod. This way you will have less work. Add the companions prefabs to the HeadAppearancePieces and HairAppearancePieces ("ModelVisualDataPath": "prefabs/...) The prefabs are... prefabs/heads/aloth/a_aloth_head.asset prefabs/heads/eder/a_head_eder.asset prefabs/heads/eder/a_head_eder_scowl.asset prefabs/heads/maia/a_maia_head.asset prefabs/heads/pallegina/a_pallegina_head.asset prefabs/heads/serafen/a_serafen_head.asset prefabs/heads/tekehu/a_tekehu_head.asset prefabs/heads/xoti/a_xoti_head.asset prefabs/lax2/heads/vatnir/a_head_vatnir.asset prefabs/heads/fessina/a_fessina_head.asset prefabs/heads/konstanten/a_konstanten_head.asset prefabs/heads/rekke/a_rekke_head.asset prefabs/heads/ydwin/a_ydwin_head.asset and the hair prefabs/hair/aloth/a_aloth_hair.asset prefabs/hair/eder/a_eder_hair.asset prefabs/hair/maia/a_maia_hair.asset prefabs/hair/pallegina/a_pallegina_hair.asset prefabs/hair/serafen/a_serafen_hair.asset prefabs/hair/tekehu/a_tekehu_hair.asset prefabs/hair/xoti/a_xoti_hair.asset prefabs/hair/fessina/a_fessina_hair.asset prefabs/hair/konstanten/a_konstanten_hair.asset prefabs/hair/rekke/a_rekke_hair.asset prefabs/hair/ydwin/a_ydwin_hair.asset I don't know if all of them will work, but some will
-
That is very unlikely due to the way interactions are made in this game. It is not so that there are lines in the dialogs which say "companion A, D and E react now". It is more like the text mention a certain topic and the present, "listening" companions decide to react or not based on their character (pro/contra leaden key, piety, animal kindness). In other words, it is not the text that determines companion reactions, but each single companion. You have to let all of them listen to the text, reload conversations with different companions or sniff around in the conversation files to get all reactions.
-
Making a Companion
Fhav6X replied to the_dog_days's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
That depends on what you mean by "new". If you want to create a new companion with a new model, then that is not possible at the moment. If you have no problem reusing existing character models, then the most work will be the dialog tree. Editing/creating dialogs is work intensive and relationship disposition is actually one of the easier parts. The Problem is that dialogs depend on multiple files and I am not aware of a program that can link those files conveniently for modding. How to start... 1. Pick the data of an existing companion in characters.gamdatabundle as a role model and edit it to your liking. 2. Dialogs depend on conversationbundle and stringtable files. Both are sectioned by maps and/or topics like "companion". Pick some as role models too, and create your own. 3. After several hours of trail and error you will give up or succeed and present us with your knowledge -
@Starrceline Odd? I can open all unity3d files without problems. What version of UABE do you use? I use the latest (2.2 beta4).
- 20 replies
-
- 1
-
-
By modifying Assembly-CSharp.dll one can achieve with ease many frequently requested things that are otherwise not possible or very difficult. I have decided to make this tutorial instead of mods since mods for Assembly-CSharp.dll have some drawbacks (see below). Difficulties with Assembly-CSharp.dll modding - A modified Assembly-CSharp.dll won't be properly recognized by patches. So one has to use the BACKUP and patch the game or reinstall it. After that one has to redo all modifications to the new Assembly-CSharp.dll. It helps if one keeps track of the changes in a text file. - Assembly-CSharp mods are incompatible with any other mod that modifies Assembly-CSharp.dll Getting started - Assembly-CSharp.dll is located in "...\PillarsOfEternityII_Data\Managed". - MAKE A BACKUP of Assembly-CSharp.dll !!!!! - To modify the dll you need a de/compiler like dnspy. - Launch up dnspy and open Assembly-CSharp.dll. The rest should be self explanatory for everyone with little programming skills (else leave your hands out of it!!! and learn programming). What can be done? 1. Helms for godlike 2. Does "waiting" from the rest menu take to long? 3. XP Gain. You dislike PoE2 xp system? The lines you need to edit are under "Partymanager" "AddPartySizeBonusXP" and "AssignXPToInactiveParty" I prefer no party size and no inactive penalty (changes for that below). This lines can also be modified to have a difficult scaling. 4. Difficulty scaling under "DifficultyScaling" "public class ScaleData" right click on the token and chose "edit class" this things can be changed... CreatureAttributeBonus CreatureLevelMult = 1f; DetectableDifficultyMult = 1f; DisarmDifficultyMult = 1f; TrapEffectMult = 1f; TrapDamageMult = 1f; SkillCheckMult = 1f;
- 12 replies
-
- 7
-
-
- Assembly-CSharp.dll
- xp
-
(and 4 more)
Tagged with:
-
Soulblade mod request
Fhav6X replied to MaxQuest's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
I hope you have good programming skills in c#, because I'm sure this can only be done by editing the game's code in Assembly-CSharp.dll and it sound like a lot of work. The file is under "Pillars of Eternity II Deadfire\PillarsOfEternityII_Data\Managed". You can use dnspy (google it) to edit Assembly-CSharp.dll. -
Changing stealth
Fhav6X replied to sapientNode's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
This is a general setting. As such it is SET and will not change after. You can change it to different values, but you can't change/create a dependence to a lvl-changing stealth skill with this variables. There are radius and sound variables that are stealth skill dependent. "MaxSuspicionStealthAccelerationMultiplier":4,"MaxSuspicionStealthDecelerationMultiplier":0.05,"MinDistanceMultiplier":2,"MaxDistanceMultiplier":0.5 Yet, I don't know how they factor in the equation. Stealth based movement increase is definitely not part of it. -
Changing stealth
Fhav6X replied to sapientNode's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
I'm pretty sure you have to edit assembly-csharp.dll for this. Especially detection is a tricky event handler that is not easy to modify. You can use dnspy (google it) to modify this dll. -
I find Pallegina has turned from a rational compassionated character in poe1 into a fanatical, hypocritical nonsense in poe2. So I made a mod to change this. https://www.nexusmods.com/pillarsofeternity2/mods/253 From her history in poe1 I do understand that she does not like the gods or people who justify them, but her reactions towards Xoti are too extreme. For example, in the temple of Gaun, when Xoti prays to the statue. Just 3 sentences from Xoti and Pallegina has a relationship with her from 0 to -2. She can live with not being seen as a "woman" by her order, muster to travel with Durance (Mrs. Piety) and even thinks to break her oaf to the ducs to help the Deerwoodens, who love to burn something for their gods, but 3 sentences from Xoti make her so despicable? Also, some of the piety reactions are conceptually wrong. While in reality any statement about the working of god/gods or the afterlife (except for neglection) is piety, it does not go for poe. Those gods are real and some of Xoti's and Tekehu's statements are simply facts and not piety. An example is Xoti's soul shepherding. Without the mentioning of any gods Xoti still receives piety reactions from Pallegina for it. My mod decreases Pallegina's tension. Most piety/duty reactions will be toe to toe. Some of the other reactions are lowered or removed. This is a work in progress mod since the conversation files are numerous, big and sometimes random. If you find a reaction from Pallegina too strong or wrong, please post the exact sentence that triggered it.
-
Shirley, you can't be...
Fhav6X replied to Rolandur's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
I do understand you, but I would not count on a mod to speed things up so soon. Without programmers knowledge one would literately have to crawl through thousands of files. If you want to do it, I can help you with the maps names and IDs. AR_2101_Prologue_Exterior = 116391750, AR_2102_Prologue_Berath = 319612753, AR_2103_Prologue_Battle = 2106155671, ZN_21_Prologue = 1458249676, Prologue is its own ZoneType and number 2 in the RegionEnum. The textures are stored under PillarsOfEternityII_Data\assetbundles\streamtile "st_ar_2102_prologue_berath.unity3d" and "st_ar_2101_prologue_exterior.unity3d". No idea where the scripts are. -
Icon Viewer
Fhav6X replied to Rolandur's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
Many icons are stored in the gui.unity3d bundle in the assetbundles folder. With Assetstudio you can view and extract them. -
I have a new problem. I wanted to change the reaction strength for Pallegina on some conversations with Xoti. To my surprise I found the reaction strength to be preset for each reaction. Pallegina only have this reaction strength for piety {"$type":"Game.GameData.TopicGameData, Assembly-CSharp", "DebugName":"Pro-Gods", "ID":"94f2f608-a765-4e55-be0a-c3dddaa54d47", "Components":[ {"$type":"Game.GameData.TopicComponent, Assembly-CSharp", "Value":3, "DisplayName":11, "Icon":"gui/icons/gamesystems/pro_gods.png", "CircularIcon":"gui/icons/gamesystems/rep_pro_gods.png", "NegativeDescription":20, "PositiveDescription":21}]}, I tried to create new reactions with different values, but my self made guid ids aren't recognized by the game. Is it possible to create new entries?
- 8 replies
-
- conversationbundle
- stringtable
-
(and 1 more)
Tagged with:
-
Never mind. I figured it out. Its the Void TriggerTopic script. It works like this... [ScriptParam0("Speaker", "The character object speaking.", "b1a8e901-0000-0000-0000-000000000000", Scripts.BrowserType.ObjectGuid)] [ScriptParam1("Topic", "The topic to trigger.", "", "56878498-81a5-4140-86b6-01cfd09041f1", Scripts.BrowserType.GameData)] [ScriptParam2("Strength", "Strength of the change.", "71c858fe-7c4b-432a-a105-c518319eaed7", "32e5c672-85db-423f-b363-71c8a08674fc", Scripts.BrowserType.GameData)] [ScriptParam3("Include Reaction Text", "If set, a reaction from the companion will automatically be included in the node text.", true)] public static void TriggerTopic(Guid speakerGuid, Guid topicGuid, Guid strengthGuid, bool includeReactionText)
- 8 replies
-
- conversationbundle
- stringtable
-
(and 1 more)
Tagged with:
-
I'm trying to figure out how the relationship between companions is set during conversations. The conversationbundle and stringtable files offer condition checks for the relationship parameters, but nothing that sets them or the reaction strength. Where can I find those?
- 8 replies
-
- conversationbundle
- stringtable
-
(and 1 more)
Tagged with:
-
This is the list of all current commands in the game. Extracted with dnspy from the assambly-csharp.dll under CommandLine [Cheat] AddExperienceToActiveCrew(int xp) [Cheat] AdvanceDay() [Cheat] AttributeScore(Guid character, AttributeType attribute, int score) [Cheat] ChallengeMode(ChallengeMode setting) [Cheat] ClearSkies() [Cheat] ClearStash() [Cheat] CloseCharacterCreation() [Cheat] CraftingDebug() [Cheat] CycleWeather() [Cheat] Difficulty(GameDifficulty setting) [Cheat] DisableWeather() [Cheat] EnableDeepWaterTravel() [Cheat] EnableWeather() [Cheat] EnchantingDebug() [Cheat] Fog() [Cheat] ForceShipAiAction(ShipDuelActionType action) [Cheat] FowDebug(bool value) [Cheat] FreeCamera() [Cheat] FreeRecipesToggle() [Cheat] GiveAllConsumableItems(int qty) [Cheat] GiveItem(Guid itemGuid) [Cheat] GiveItemToObject(Guid objectGuid, Guid itemGuid) [Cheat] GiveMoney(int amount) [Cheat] God() [Cheat] ImportCharacter(string filename) [Cheat] Invisible() [Cheat] ItemDebug() [Cheat] KillAllEnemies() [Cheat] LevelUpSoulbind(Guid owner, Guid item) [Cheat] LevelUpSoulbindObject(Guid item) [Cheat] LoadLevel(string name) [Cheat] LoadPartyMemberInSlot(string prefabName, int slotIndex) [Cheat] ManageParty() [Cheat] NoDam() [Cheat] NoDamage(bool invulnerable) [Cheat] NoFogWorldMap() [Cheat] NoMiss() [Cheat] NoShipDamage(bool state) [Cheat] OpenInventory(Guid target) [Cheat] PopParty() [Cheat] PrintLoadedLevels() [Cheat] Push(Guid character, bool left) [Cheat] PushParty() [Cheat] RefillShipSupplies() [Cheat] RemoveItem(Guid itemGuid) [Cheat] RemoveItemFromObject(Guid objectGuid, Guid itemGuid) [Cheat] RemovePlayerShipUpgrade(ShipUpgradeSlotType type, int index) [Cheat] RevealAll() [Cheat] SelectAbility(Guid ability) [Cheat] SelectAbilityByIndex(Guid objectGuid, int abilityIndex) [Cheat] SetClassLevel(Guid characterId, Guid characterClassId, int level, bool resetOtherClassValues) [Cheat] SetCurrentWeatherCondition(string weatherConditionName, float duration) [Cheat] SetCurrentWeatherForecast(string weatherForecastName) [Cheat] SetFog(bool enabled) [Cheat] SetForceCombat(bool state) [Cheat] SetGodChallengeEnabled(Guid challengeId, bool state) [Cheat] SetLocalizationDebug(bool val) [Cheat] SetPlayerBackground(Guid newBackground) [Cheat] SetPlayerCaptainLevel(int level) [Cheat] SetPlayerCulture(Guid newCulture) [Cheat] SetPlayerGender(Guid gender) [Cheat] SetPlayerName(string name) [Cheat] SetPlayerRace(Guid race, Guid subrace) [Cheat] SetRandomEncountersEnabled(bool state) [Cheat] SetResourceLimit(bool enabled) [Cheat] SetShipDrinkSupplyRate(ShipSupplyRate rate) [Cheat] SetShipFoodSupplyRate(ShipSupplyRate rate) [Cheat] SetShipRepairPriority(ShipRepairPriorityType repairPriority) [Cheat] SetShipWageSupplyRate(ShipSupplyRate rate) [Cheat] SetSubclass(Guid characterId, Guid characterClassId, Guid subclassId) [Cheat] SetTime(int milliHours) [Cheat] SetUnrestrictedInventory(bool state) [Cheat] SkillCheckDebug(bool value) [Cheat] SpawnPrefabAtMouse(string prefabName, float xOffset, float zOffset) [Cheat] SpawnPrefabAtMouse(string prefabName) [Cheat] SpawnPrefabAtPoint(string prefabName, float x, float y, float z) [Cheat] TestTutorial(Guid tutorialGuid) [Cheat] ToggleObjectHierarchy() [Cheat] ToggleResourceLimit() [Cheat] ToggleShipCrewDebug() [Cheat] ToggleUnrestrictedInventory() [Cheat] TransferControl(GameObject target) [Cheat] TransferControl(Guid targetGuid) [Cheat] TransferControlToHoveredCharacter() [Cheat] UnlimitedMoney() [Cheat] UnlockAll() [Cheat] UnlockAllMaps() [Cheat] UnlockBestiary() [Cheat] UnlockBiography() [Cheat] UnlockPets() ActivateCameraSplineFollow(float followTime) AddCameraSplinePoint(float x, float y, float z, float zoom) AddCameraSplinePointAtMouse() Aggression(Guid character, AutoAttackType aggression) AntiStagingWorldMap() AO() ApplyProgressionTable(Guid character, Guid tableId) AuditSaveGame() BatchDelay(float seconds) BatchDelayFrame() BatchDelayRandom(float minSeconds, float maxSeconds) BatchDeleteVar(string variable) BatchEnd() BatchGoto(string label) BatchGotoIf(string label, string conditional) BatchLabel(string label) BatchLetVar(string variable, string expression) BatchPrint(string expression) BatchRealDelay(float seconds) BatchRealDelayRandom(float minSeconds, float maxSeconds) BatchWaitForCombatEnd() BatchWaitForCombatStart() BatchWaitForCutscene() BatchWaitForIdle(Guid characterId) BatchWaitForLoad() BB() BindCommand(string key, string command) BloodyMess() Breakpoint() Bug() CastAbility(Guid casterId, Guid ability, bool empower) ClearAchievements() ClearBoundCommands() ClipCursor(bool active) Cls() ConditionalBreakpoint(string conditional) Cosmic(string code) Damage(Guid targetObject, float amount) DamageQuarterHealth(Guid targetObject) DeletePrefs() DumpPanelsWidgets() DumpUiFromHovered() DumpUiHelper(GameObject obj, StreamWriter writer, string indent) E3() EnableSceneStreaming(bool value) EnableShipDuelLogging(bool enable) Eval(string conditional) Exec(string filename) ExportCharacter(Guid character) ExportGlobals() Find(string name) FindCharacter(string name) FindConditional(string name) FindGameData(string name) FindObject(string name) FindPrefab(AssetBundleHint bundle, string name) FlickerHud() FXFade(float f) GetTransform(string objectName) HideGraze() IRoll20s() KeyDown(KeyCode keyCode) KeyPress(KeyCode keyCode) KeyUp(KeyCode keyCode) LearnAllAbilities(Guid character, Guid tableId) LockMapTooltips(bool state) LogAllObjectDebug() LogConversationsTo(string filename) LogDebugName(Guid dataId) MouseClick(int buttonIndex) MouseDown(int buttonIndex) MouseToObject(Guid instanceId) MouseToScreen(float x, float y) MouseToUiElement(string path) MouseToWorld(float x, float y, float z) MouseUp(int buttonIndex) MultiSamples(int multiSamples) Occlusion() OpenInCharacterSheet(Guid character) OpenInInventory(Guid character) PartyPathToObject(Guid objectId) PartyPathToPoint(float x, float y, float z) Pause(bool state) PauseEditor() PostToggleMessage(string name, bool state, string append = "") PrintConversationWordCount() PrintExecs() PrintGlobal(string name) PrintInstance(Guid id) PrintMaxFPS() PrintMultiSamples() PrintQuestEvents(Guid questName) private static string GetAllObjectDebugString() RecacheExportedCharacters() RefreshAllPanels() ReloadMasterUI() ReloadMods() RemoveAllAbilities(Guid character) RemoveCameraSplinePoint() RepeatCommands(int quantity) RepeatLastCommand() ResetAICooldowns(Guid character) SetAutoAttackState(Guid character, AutoAttackState autoType) SetCachingEnabled(bool enabled) SetCameraMoveDelta(float value) SetCameraTransparencyMode(TransparencySortMode sortMode) SetCharacterStatsDebug(bool state) SetCharacterStatsDebugFeature(CharacterStats.DebugFlags flags, bool state) SetCharacterStatsDebugSticky(bool state) SetCompressionEnabled(bool enabled) SetDefaultLegacyHistory(string historyFileName) SetDurabilityDebug(bool state) SetExternalCrashDir(string crashDir) SetFollowCameraEnabled(bool enabled) SetFollowCameraSpringTuneValues(float x, float y, float z) SetHudObjectEnabled(string name, bool state) SetInstructionSet(Guid character, int value) SetMaxAutosaves(int quantity) SetMaxFPS(int value) SetMaxQueuedFrames(int frames) SetModEnabled(string mod, bool state) SetModLoadIndex(string mod, int order) SetMouseFollowStrength(float strength) SetRelationshipHistoryLimit(int limit) SetSceneLoadBackgroundThreadPriority(UnityEngine.ThreadPriority priority) SetThreadCulture(string culture) SetUILayout(int layoutMode) SetZoomRange(float min, float max) ShowCommandBindings() ShowGodChallenges() ShowMods() ShowScalers() ShowVOIcons(bool setting) Skill(Guid character, Guid skillGuid, int score) SlowTime(float slowTime) StartStopwatch() StopAllExecs() StopExec(string filename) StringDebug(bool setting) Test(string message) ToggleAchievementDebug() ToggleAIScheduleDebug() ToggleAnimationOptimization() ToggleAttackDebug() ToggleCameraDebug() ToggleCameraSplineZoom() ToggleCharacterStatsDebug() ToggleCharacterStatsDebugFeature(CharacterStats.DebugFlags flags) ToggleCharacterStatsDebugSticky() ToggleCompileLowFrequencyScriptsOnDemand() ToggleCursorDebug() ToggleDebugEngagement() ToggleDispositionDebug() ToggleDrawCameraSplineDebug() ToggleDurabilityDebug() ToggleExecDebug() ToggleGameStateDebug() ToggleGhostDebug() ToggleHairTransparency() ToggleIgnoreZoomRange() ToggleIntroDebug() ToggleLegacyHistoryDebug() ToggleLevelScalingDebug() ToggleLights() ToggleNavMeshVisible() ToggleObjectCountDebug() ToggleOcclusionQuality() ToggleOceanMaskQuality() ToggleOnScreenErrors() ToggleOnyxGUIDebug() TogglePanelClippingDebug() ToggleParticles() TogglePartyDebug() TogglePause() TogglePrecompiledScripts() ToggleProjectileCameraTracking() TogglePseudoDeepProfile() ToggleRelationshipDebug() ToggleResolutionDebug() ToggleResourceDebug() ToggleScaler(DifficultyScaler scaler) ToggleSceneLoadDebug() ToggleScriptHistory() ToggleShadows() ToggleShipAIDebug() ToggleShipDuelLogging() ToggleShowFrameTime() ToggleSpellLimit() ToggleStatusEffectStatModification() ToggleTimedScriptsDebug() ToggleVegetation() ToggleWallMeshVisible() ToggleWeatherEffects() ToggleZoneDebug() TooltipCombatAbilities(bool state) UnbindCommand(string key) UnlockBestiaryEntry(Guid bestiaryId) UploadCharacterFileToSteamWorkshop(string characterFile) UseInstructionSet(Guid character, bool enable) UseStaticWindowSize(bool isStatic)