Jump to content

Zap Gun For Hire

Members
  • Posts

    417
  • Joined

  • Last visited

Everything posted by Zap Gun For Hire

  1. Here's an example that I suspect many people don't know. If you have a Perception of 22 (yes, I said ***22***), you can find a hidden key in Dimesa's Treasure Trove store in Dunnage. That key will then open up a Lvl 15 locked container that has the superb unique armor Iridescent Scale in it. But who runs around in the game with a Perception of twenty freaking two, just to find the most hidden of hidden easter eggs? .... *cough* Not me, that's for sure. *cough* (My next run I'm planning on running around with a baseline Perception of around 25, just to see what I've missed) But a Perception of 22 is fairly easy to get right off the bat. Especially if one doesn't mind doing drugs and/or beelines for all of the Perception boosting items available in the early game. Do that and I can get Iridescent Scale for free at level 5. Just costs me some Sevf, a pet with Perception boost, and a character that "just happened" to think Perception was a God Stat in this game (for their play style at least). Another example would be that one can get the key to Arkemyr's Manor with a god like Perception by finding it in a hidden stash near Fassina. Either 21 or 22, IIRC. Then one can bypass the lock that's on the door, as well as all of the other ways into the Manor. === But here's the thing. The presence of the key there that unlocks that specific container which ONLY contains Iridescent Scale makes it obvious that Obsidian did this intentionally. And for folks who didn't go crazy on Perception, Mechanics, and Stealth, they can just buy it. There's several places in the game where one can "rip off" merchants. But given the high level of Mechanics needed to rob them, the guards usually staring straight at the containers, and the occasional presence of very well hidden keys which can unlock the blessed things... Dunno. Seems intentional game design to me.
  2. BTW, I'm fairly certain the highest level lock in the game is around level 18 or so (in the Splintered Reef), and these are just 3 points under that. So if you can pick nearly the highest level locks in the game at level 6.... And will be able to pick the highest level at level 8 (especially after you boost your Mechanics via trait buying)? Congrats, I guess? These are level 15 locks with folks guarding it who have fairly decent stealth detection. I can see an argument for bumping up the stealth detection a bit more so it's harder to sneak past them. But, I got to be honest with you, I lost some amount of sympathy for this complaint when I saw these were Level 15 locks and pretty much most of the rest when you said you were using New Game Benefits. I dunno. I think people lose the right to complain about balance at least a little bit when they're using tools that intentionally throw game balance off. Level 6 with New Game Bonuses that intentionally make the game much easier is a tad different than Level 6 by itself. As for the rest, see above.
  3. So you're using a New Game Bonus character with boosted stats (which the game isn't balanced against) AND a character who already visited Nekataka and got stuff from shops? That's hardly going straight to Crookspur once one leaves Port Maje. Yeah, not seeing the problem here. ====== Also, Crookspur is way out of the way, so newbies won't be accidentally going there. Plus, as you said, you went into Nekataka and boosted your stats even more above and beyond the New Game Bonus stuff. This is part and parcel of the Open World. If you know where things are, you can go beeline for them and grab them. The only real way to stop this sort of thing is to close off the Open World aspect of the game. And the horse left the barn on this point long long ago.
  4. After going back there with another save, you didn't mention the fact that those crates have locks of difficulty 15. I think if someone invests in enough stealth to get by them (the merchants there have fairly high stealth detection) AND enough points in mechanics to pick diff 15 locks, then that's up to them to spend their points that way. There are more than a few areas once folks leave Port Maje where folks can get good/great items if they plow all of their points into stealth/mechanics. This is the downside to an Open World design. If someone knows where stuff is at, they can pop in, grab it, and then pop out. Same thing can be done by plowing through Nekataka and grabbing loot off of various merchants or various other places in the world.
  5. This isn't a bug, IMO. Several merchants can have SOME of their inventory stolen in nearby crates, by design. What you're describing here is just a 'feature' of the Open World design.
  6. That's one quite annoying part of the current game engine. There is no ingame way to reload gamebundle files. The stringtables for translations are reloaded when changing the language and leaving the settings menu. But not the gamebundle files. And to restart the entire game to check any change in one file is quite tendious. @obsidian Can you put a „reload mods“ console command in there? And announce it. I've got somewhat good news for you then. I'm fairly sure that when mods are selected/deselected via the Mod Manager in 1.2.0 it'll load up the new gamedatabundles when you reload the game. I say that because I used to have to Quit to Desktop to load up my mod changes, but they seem to now take affect when I'm in the mod manager and I select/deselect/reselect them. Still have to quit to the main window so it's not as good as in-game, but it's better than quitting to desktop each and every time I want to check something.
  7. I'm also on Steam, if it matters. Still, I can revert to 1.1.1 and provide a different save file. It'll just take a bit. *uninstalls beta* *waits waits waits* *goes back to public fork* Here is a 1.1.1 saved game attached in this post with your mod installed with the exact same situation as before. The party (a very low level one) is in Periki's Overlook in Nekataka. They have already talked to Eofanaia before I had installed your mod. If you sail to Port Maje and then go to talk with her, I am fairly certain you won't be able to get the items listed in The Red Hand mod to appear in her store, even after Quiting To Desktop and visiting other areas of the map. Porthos (PerikisOverlook) (d41075f5-0d41-4911-b032-988505a73007) (756538733).savegame.zip
  8. peardox, to show what I mean by all of this, I'm going to attach a save file in this post, with The Red Hand mod installed, but only installed AFTER I had already talked to Eofania and seen her shop. Go ahead and use it in your game where The Red Hand (and friends) mod (and only that one) has been installed. It is currently set in at the entrance to Periki's Outlook in Nekataka. Exit the city by boat and sail to Port Maje, and then go to Satahuzi and talk with Eofania. If you can get that party to ever see the items in The Red Hand (and friends) mod, I'll be surprised. Coz no matter what I do, including quitting to desktop after visiting other areas, they'll never show up. (If it matters, it's a 1.2.0 saved game) ((it is also fairly early on in the game, as I wanted to get the file size under the 1MB limit)) Porthos (PerikisOverlook) (d41075f5-0d41-4911-b032-988505a73007) (756538631).savegame.zip
  9. Okay, let me break this down a tad, especially as I discovered a couple of things today. The vast majority of stores will restock every in-game 26 hours, but a small number will never ever restock. The Berath's Blessing vendor in Port Maje, for instance (called Well-traveled Supplier). If you buy all his items out and then return months later, his store is still empty. You can visit 20 different zones and save and quit to desktop to your heart's content, he'll never add anything else. Even if it's modded in mid-game. I know this for a fact because I tried to add a Spyglass to him mid-game and it never showed up, no matter what I did UNLESS I had never opened his shop before. If I hadn't, then the Spyglass shows up. The vendor in the Wild Mare who sells the Dead Parrot, via that mod, restocks every 26 hours. This is why one is able to buy another Dead Parrot just by waiting a day. It's not really a bug, because the LootListID and store doesn't know that it's something that can be bought only once. But the person you picked to be your Red Hand (and friends) merchant will never restock the part of her store that sells the Shorewalker Sandals if it's been opened once before installing the mod. I am VERY certain of this. To make triply sure, I installed your mod, started the game, opened up a save where I was in Nekataka, ran around Nekataka some more, saved the game again and quit to desktop. Restarted the game, loaded up that save and sailed to Port Maje, and was unable to buy the items because I had already opened her shop long ago. I can sail to one end of the map to the other. I can quit to Desktop and restart many times. The items there will never appear IF I had already seen her store in a game before installing this particular mod. ==== The wrinkle I discovered today is that many of the Unique Items for sale in the game are not on any LootListID list in items.gamedatabundle. Take Queen's Rule, for instance. It's sold in Marihi's Metalwork store. Yet the UUID for Queen's Rule ("6fa1e8b1-59da-490d-9b58-0889c7d0371a") is not in anywhere in a LootListID that forms a store's inventory in items.gamedatabundle. It's almost certainly in the level data or somewhere else in the compiled gamefiles. But it is NOT in any of the lootlists in (or pointed at in): "Store_05_AD_Marihi" "Store_05_AD_Marihi_CarocBreastplate" "Store_05_AD_Marihi_Exceptional_Weapons" "Store_05_AD_Marihi_Fine_Armor" "Store_05_AD_Marihi_Fine_Weapons" Yet it can be bought, and exactly once. I did a quick check and most of the unique items in the game are not in LootListsIDs in any of the public gamedatabundles. I suspect that this is how the game is making it so most unique (and other items) can be bought only once. There's some sort of code/flag that says whether or not something can be bought more than once, and we just don't have access to this yet. If you want to check my work, try to find Queen's Rule or Spearcaster in any of the Lootlists in the game. You'll find the entires for the items themselves. You'll find the recipes that modify those weapons. But you won't find where they are sold in the public gamedatabundles. You'd probably find them in the level data somewhere, but that's not easily useable by us yet. I do have a few work arounds I'm playing with, but they're very kludgy and probably not worth mentioning right now. (More in my next post)
  10. Look, this is really simple. Let's say that the devs make a change that one really doesn't like. Step one is to talk about it on the forums. If enough people agree, the devs might change it back, or dial it back a bit. It's happened before and it'll happen again. So Step Two is: See if the devs will change things back or not. But if they don't, or it doesn't look like it'll happen, there's Step Three: Mod it yourself for your home game. I've got a decent sized list of things that slightly irk me in the game. So I've made a bunch of 'home mods' rectifying it. Sure, some things are easier to mod than others. And some things can't be modded yet. But when it comes right down to it: Don't like a change that Obsidian has made? Change it back on your home game and move on with your time. That's one of the reasons the modding system has been greatly enhanced, after all. So folks who don't like something can change it.
  11. In regards to the Rep, there are three categories: Good Bad Mixed (this was the same in PoE I, for what it's worth, but it didn't have a numerical field on the character sheet then) The confusion arises as the game isn't very clear if a score is Mixed or Good. Bad is fairly explanatory as it's a negative number. Usually. I think. I'm not sure what happens to a Bad score that becomes Mixed. === To go a tiny bit more in to detail... Good: All good rep with not enough bad rep to gain a rank of "bad". Bad: All bad rep with not enough good rep to gain a rank of "good". Mixed: Watcher has ranks in both good and bad, and I haven't tested enough on Mixed to see exactly how it is shown, except that the wheel is filled in both directions. It's a little confusing, but it's a side effect of going from a text description to a numerical one. ============ As for Maia not getting pissed off at you... Well, you WERE attacked unprovoked. She might see the logic in sticking around with you in that case. Especially if she's already mentioned misgivings about her jobs. It's one thing for you to blow up the gunpowder depot on behalf of another faction. Quite another when her own faction betrays her and her party.
  12. Note, if anyone knows a way around this and it works, please let me know. (And, yes, I've tried sailing from one end of the map to another, waiting days and days and days in-game, entering dozens of different zones AND restarting/reloading a game with nothing to show for it) Secondly, if this was already common information.... Well, maybe it'll be of some help out there to folks who weren't aware of it. At the very least, if this is old info, repeating it for folks just entering the modding scene should be helpful, I think .
  13. This is something I was just mentioning in peardox's The Red Hand thread, but I realized it's probably something all modders should be aware of, if they aren't already. First off, a tiny amount of background. While all the lootlists that vendors have in their shops look identical on our end (near as I can tell), something inside the code that we can't see (yet) makes some stores (or more technically the lootlist of a store) restock and some not restock. And this makes a lot of sense, since one shouldn't be able to buy (or steal if it's in a container) the Infinity Plus One Sword more than once. Okay Zap, got it. Make sure I add my uniques to a store which doesn't restock if I don't want folks to buy it more than once. Well, unfortunately, there's a catch. The catch is, when I say a store/lootlist never restocks, I mean it NEVER restocks once it's been first accessed. Including if you've added something to it mid-game via a mod. I go into a pretty good amount of detail over here in peardox's thread, but the upshot is: If someone starts a new game with your mod, an item added to a 'never restock' store will always be there to be bought when they get to the seller. If someone has never opened X's shop and it doesn't restock, items added mid-game via a mod will also be there to be bought. However, if someone has already opened X's shop and it doesn't restock, an item added mid-game via a mod will never appear, near as I can tell. And I've done a fair amount of testing on this, though it is possible I haven't found a trigger yet. This means for a fair amount of folks, items won't be available mid-game if they've already talked to a seller if the mod adds it to a store which never restocks. The flip side is, if an item IS added to a store which does restock mid-game and they've already talked to the seller in question, then it can be bought. And bought again and again and again. I'm posting this partially as a Public Service Announcement so folks can add a note to their mods if they are using a never restock vendor that it might not always be available mid-game. But I'm also adding this as a FYI for any frustrated modders out there wondering why their items aren't appearing in a vendor when they are doing testing. ... This wouldn't be an issue if we could create our own stores completely brand new, of course. Not that I'm hinting to Obsidian or anything.
  14. Investigating another issue which if I figure it out I'll make a comment about it here, but I thought I would mention why some folks are not seeing the items you added to Eofania's shop and some are. It all has to do with the fact that some stores restock and some don't. Which would be all well and good, except some vendors have a mix of restocking items and non-restocking items so it's not always apparent which is which without looking at the Lootlists in detail. For instance, the Bearth's Blessing vendor in Port Maje will never restock any of his items, while the Fishmonger in Port Maje (to pick one at random) will always restock hers. Meanwhile Eofania has a mix of three "shops", two of which won't restock (her "base" and her "crate", I believe). As I thought about it, it's fairly obvious why this is the way it is. It's to make sure that some items can't be bought (or stolen when they are in crates near the seller) more than once. Mostly unique items, but also various enchanted items like the Shorewalker Sandals in Eofania's shop. Which would be fine except, the store's initial stock is always set the first time you open their store. Near as I can tell, at least. So, for instance, you have all of your items in your mod being added to "Store_09_PM_Eofanaia_BaseInventory". If someone hasn't seen Eofanaia's shop then they should appear and only be able to be bought one. However, if someone has already tried to buy something from her. I am fairly certain it will NEVER be added. I already found this out a while back when I had tried to add a Spyglass to the Berath's Blessing vendor. Never could get it to appear in his store with a game where I had already seen his shop, no matter what I tried (including sailing from one end of the map to the other and revisiting him after being in dozens of different areas). But I was able to buy it if I hadn't seen his shop yet, even if I already had a game in progress. Now I'm not 100% sure this is what happening, but let's say 98% sure. And, as I said, it does make sense. Wouldn't want to be able to buy/steal a Unique Item more than once, after all. Just sucks that the game doesn't appear to check whether or not the never restock lootlist has been changed or not. ======== The upshot is, I believe, that on fresh games, The Red Hand and everything else will always appear. If folks haven't shopped with Eofanaia before, they should also be good. Everyone else will be out of luck, I'm fairly sure. This also means that folks who are modding Unique Items into the game to be sold should be sure to add it to a Lootlist/store which never updates. I'm investigating a way to get around this though. Fingers crossed that what I'm hoping will work will in fact work, eventually. PS: This also means that folks who are using your mod as a base to add items to Eofanaia's shop for their own mods will also be SOL if they've already shopped with her once (I saw a comment over at Nexus about that).
  15. For folks who want to revert/keep figurines the way there were in 1.1.1 (and before), the relevant data is in abilities.gamedatabundle NOT in items.gamedatabundle. For example: 1.1.1: { "$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp", "DebugName": "Figurine_Battered_Dog_Ability", "ID": "d413261a-1919-4924-ab10-23b3e03272b5", "Components": [{ "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp", "KeywordsIDs": ["ddf90f19-c9a2-4087-a1a7-a00ee46bc3dd"], "DisplayName": 4072, "Description": -1, "UpgradeDescriptions": [], "UpgradedFromID": "00000000-0000-0000-0000-000000000000", "Vocalization": "NoVocalization", "Icon": "", "UsageType": "None", "UsageValue": 0, "AbilityClass": "None", "AbilityLevel": 1, "IsPassive": "false", "StackingRuleOverride": "Default", "TriggerOnHit": "false", "IsModal": "false", "ModalGroupID": "00000000-0000-0000-0000-000000000000", "IsCombatOnly": "true", "IsNonCombatOnly": "false", "HideFromUI": "false", "HideFromCombatLog": "false", "UniqueSet": "None", "NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63", "DurationOverride": 0, "OverrideEmpower": "Default", "ClearsOnMovement": "false", "CannotActivateWhileInStealth": "false", "CannotActivateWhileInvisible": "false", "ActivationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "ApplicationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "DeactivationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "PowerLevelScaling": { "BaseLevel": 0, "LevelIncrement": 1, "MaxLevel": 0, "DamageAdjustment": 1, "DurationAdjustment": 1, "BounceCountAdjustment": 0, "ProjectileCountAdjustment": 0, "AccuracyAdjustment": 0, "PenetrationAdjustment": 0 }, "StatusEffectKeywordsIDs": [], "StatusEffectsIDs": [], "VisualEffects": [], "SelfMaterialReplacementID": "00000000-0000-0000-0000-000000000000", "AttackID": "7b07ae25-2819-4e32-a025-1459b6b5543d", "AITargetingConditional": { "Conditional": { "Operator": 0, "Components": [] }, "Scripts": [] }, "AudioEventListID": "00000000-0000-0000-0000-000000000000" }, { "$type": "Game.GameData.ProgressionUnlockableComponent, Assembly-CSharp" } ] }, 1.2.0: { "$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp", "DebugName": "Figurine_Battered_Dog_Ability", "ID": "d413261a-1919-4924-ab10-23b3e03272b5", "Components": [{ "$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp", "KeywordsIDs": ["ddf90f19-c9a2-4087-a1a7-a00ee46bc3dd"], "DisplayName": 4072, "Description": -1, "UpgradeDescriptions": [], "UpgradedFromID": "00000000-0000-0000-0000-000000000000", "Vocalization": "NoVocalization", "Icon": "", "UsageType": "Charged", "UsageValue": 8, "AbilityClassID": "00000000-0000-0000-0000-000000000000", "AbilityLevel": 0, "IsPassive": "false", "StackingRuleOverride": "Default", "TriggerOnHit": "false", "IsModal": "false", "ModalGroupID": "00000000-0000-0000-0000-000000000000", "IsCombatOnly": "true", "IsNonCombatOnly": "false", "HideFromUI": "false", "HideFromCombatLog": "false", "UniqueSet": "None", "NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63", "DurationOverride": 0, "OverrideEmpower": "Default", "ClearsOnMovement": "false", "CannotActivateWhileInStealth": "false", "CannotActivateWhileInvisible": "false", "ActivationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "ApplicationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "DeactivationPrerequisites": { "Conditional": { "Operator": 0, "Components": [] } }, "PowerLevelScaling": { "ScalingType": "ModifiersOnly", "BaseLevel": 0, "LevelIncrement": 1, "MaxLevel": 0, "DamageAdjustment": 1, "DurationAdjustment": 1, "BounceCountAdjustment": 0, "ProjectileCountAdjustment": 0, "AccuracyAdjustment": 0, "PenetrationAdjustment": 0 }, "StatusEffectKeywordsIDs": [], "StatusEffectsIDs": [], "VisualEffects": [], "SelfMaterialReplacementID": "00000000-0000-0000-0000-000000000000", "AttackID": "7b07ae25-2819-4e32-a025-1459b6b5543d", "AITargetingConditional": { "Conditional": { "Operator": 0, "Components": [] }, "Scripts": [] }, "AudioEventListID": "00000000-0000-0000-0000-000000000000" }, { "$type": "Game.GameData.ProgressionUnlockableComponent, Assembly-CSharp" } ] } Specifically change: "UsageType": "Charged", "UsageValue": 8, to: "UsageType": "None", "UsageValue": 0, (with the UsuageValue changing as appropriate). Shouldn't be too hard for someone to mod this up and release it to the community if there is enough demand. ("NOT IT" he quickly said, BTW ) ==== NOTE:::: There's a couple of other differences between the statblocks, but they're not relevant here and have to do with overall changes between 1.1.1 and 1.2.0. SECOND NOTE:::: The Effigy Doll was already at 1 charge before 1.2.0, so that should be kept as-is if folks just want the functionality as it was in 1.1.1.
  16. NOTE: I just changed my suggestion in my prior post, as I quoted the wrong bit of code. Sorry! Basically what I am doing here is making it so when the upgrade Return Orbit is applied to Sungrazer, it applies ***YOUR*** version of it instead of the basegame's. The only difference in the two code blocks is the next-to-final lines where I changed the "ItemModsToAddIDs" field from the base game's to yours.
  17. I've found that the JSON plugin (I'm using JSToolNpp) can be a little persnickety. What I've found most reliable is to use the JSFormat option in JSTool. That has given me the cleanest version to play with. If you're already doing that, then ignore this bit. Everything that is modded gets loaded up on game startup, which means a game has to be quit completely and then restarted for any mods to take affect. So reinstall shouldn't be in the cards. As for the rest... Since I'm not exactly sure what your trying to do here, I really can't be of more help. When you say "make a new separate condition based on it", what is it exactly you're trying to accomplish? I fixed the Notepad ++ issue with the most stupid solution... I had to run it OFF of administrator mode (I've become so used to running everything with it on it's default now.) As for what I'm actually trying to do it's really simple so I can learn what I'm doing. There's a mod on the flail Sungrazer called "Return Orbit" that gives a 10% chance for the character to recover instantly on hit. I'm just trying to create a new instance of that Ability, except at 100% instead. There's no way to access this ability naturally of course, but I had thought with the way the Unity Console mod worked, I would be able to add it on to items (like all other itemmod values) Edit: I do realize (now) that another ability exists that already does this for characters, as a permanent buff, but I didn't know that when i started, and at this point I just want to figure it out so I can know I'm doing things right before I start trying to create the actual Mod I want. What I would do then, instead of dealing with Unity Console, is simply, and temporarily, just add it to Sungrazer itself via a mod and see if it works (by adding Sungrazer to your inventory via console if necessary). If it does, then you know you're on the right track when it comes to modifying abilities (or in this case a Status Effect) to suit your purpose. For instance change this: { "$type": "Game.GameData.RecipeData, Assembly-CSharp", "DebugName": "Recipe_Return_Orbit", "ID": "b18c9b9e-dd77-43c3-82df-a5e0f76de1eb", "Components": [{ "$type": "Game.GameData.RecipeComponent, Assembly-CSharp", "DisplayName": 724, "CraftingLocation": "None", "CategoryID": "7bad3803-0dfd-473a-a857-326f4853a4d6", "VisibilityConditions": { "Operator": 0, "Components": [{ "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasItemMod(Guid)", "Parameters": ["565e12ab-5601-4a8d-bfbb-9ff74a6f819d"], "Flags": "", "UnrealCall": "", "FunctionHash": 1518072523, "ParameterHash": 582447092 }, "Not": true, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasItemMod(Guid)", "Parameters": ["27daf400-e712-4964-8c0a-c7c1389d0ece"], "Flags": "", "UnrealCall": "", "FunctionHash": 1518072523, "ParameterHash": 846517722 }, "Not": true, "Operator": 0 } ] }, "CreationConditions": { "Operator": 0, "Components": [] }, "Cost": 3000, "CanModifyWeapons": "false", "CanModifyArmor": "false", "CanModifyShields": "false", "CanModifySpecificItemsIDs": ["ab2f745b-0b0d-4da1-bc98-df49c49a1a16"], "Ingredients": [{ "ItemID": "f5ab3a19-47bd-4935-9a27-9c495996fcab", "Quantity": 1, "IsDestroyed": "true" }, { "ItemID": "cef02c6b-ac11-4a9c-a6ae-fd90de22d543", "Quantity": 1, "IsDestroyed": "true" }, { "ItemID": "38b527d6-ec68-4674-9f13-e69250fbfcec", "Quantity": 1, "IsDestroyed": "true" } ], "Output": [], "ItemModsToAddIDs": ["27daf400-e712-4964-8c0a-c7c1389d0ece"], "ItemModsToRemoveIDs": [] } ] } to this: { "$type": "Game.GameData.RecipeData, Assembly-CSharp", "DebugName": "Recipe_Return_Orbit", "ID": "b18c9b9e-dd77-43c3-82df-a5e0f76de1eb", "Components": [{ "$type": "Game.GameData.RecipeComponent, Assembly-CSharp", "DisplayName": 724, "CraftingLocation": "None", "CategoryID": "7bad3803-0dfd-473a-a857-326f4853a4d6", "VisibilityConditions": { "Operator": 0, "Components": [{ "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasItemMod(Guid)", "Parameters": ["565e12ab-5601-4a8d-bfbb-9ff74a6f819d"], "Flags": "", "UnrealCall": "", "FunctionHash": 1518072523, "ParameterHash": 582447092 }, "Not": true, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasItemMod(Guid)", "Parameters": ["27daf400-e712-4964-8c0a-c7c1389d0ece"], "Flags": "", "UnrealCall": "", "FunctionHash": 1518072523, "ParameterHash": 846517722 }, "Not": true, "Operator": 0 } ] }, "CreationConditions": { "Operator": 0, "Components": [] }, "Cost": 3000, "CanModifyWeapons": "false", "CanModifyArmor": "false", "CanModifyShields": "false", "CanModifySpecificItemsIDs": ["ab2f745b-0b0d-4da1-bc98-df49c49a1a16"], "Ingredients": [{ "ItemID": "f5ab3a19-47bd-4935-9a27-9c495996fcab", "Quantity": 1, "IsDestroyed": "true" }, { "ItemID": "cef02c6b-ac11-4a9c-a6ae-fd90de22d543", "Quantity": 1, "IsDestroyed": "true" }, { "ItemID": "38b527d6-ec68-4674-9f13-e69250fbfcec", "Quantity": 1, "IsDestroyed": "true" } ], "Output": [], "ItemModsToAddIDs": ["9aef6757-4364-4cf8-be57-8c25911acee6"], "ItemModsToRemoveIDs": [] } ] } What this is doing is using your UUID from your ItemMod instead of the basegame's. Then in-game upgrade Sungrazer with Return Orbit (it'll should still be called that in the upgrade window) and see if your modded ability has worked. If it has, congrats! It should be able to be put on various items. If not? Well back to the drawing board. (When done, just remove that block of code I suggested from your mod and Sungrazer will be returned to its base state) When I was fiddling about with abilities on a minor level, I found it far easier to just apply it to a specific item I already had and then see if it worked.
  18. I've found that the JSON plugin (I'm using JSToolNpp) can be a little persnickety. What I've found most reliable is to use the JSFormat option in JSTool. That has given me the cleanest version to play with. If you're already doing that, then ignore this bit. Everything that is modded gets loaded up on game startup, which means a game has to be quit completely and then restarted for any mods to take affect. So reinstall shouldn't be in the cards. As for the rest... Since I'm not exactly sure what your trying to do here, I really can't be of more help. When you say "make a new separate condition based on it", what is it exactly you're trying to accomplish?
  19. Yeah, I took a deeper look at your stringtable file, and the XML is all messed up. You have spaces all over the place where you shouldn't. Right now it looks like this: < ? xml version = "1.0" encoding = "utf-8" ? > < StringTableFile xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns : xsd = "http://www.w3.org/2001/XMLSchema" > < Name > game \ itemmods < / Name > < Entries > < Entry > < ID > 8899 < / ID > < DefaultText > Total Recovery < / DefaultText > < FemaleText / > < / Entry > </Entries> </StringTableFile> It should look something like this: <?xml version="1.0" encoding="utf-8"?> <StringTableFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Name>game\itemmods</Name> <Entries> <Entry> <ID>8899</ID> <DefaultText>Total Recovery</DefaultText> <FemaleText /> </Entry> </Entries> </StringTableFile> (Yes, keep that space in <FemaleText />. That tells the game that there isn't anything to be processed there. I've seen similar things in various conversationbundles) Preeeety sure that's how it should look, but I haven't been messing around with stringtables much. Hope this helps.
  20. The third problem I see is the following bit at the end: { "$type": "Game.GameData.ItemModGameData, Assembly-CSharp", "DebugName": "CHANGED_Sungrazer_Return_Orbit", "ID": "9aef6757-4364-4cf8-be57-8c25911acee6", "Components": [{ "$type": "Game.GameData.ItemModComponent, Assembly-CSharp", "DisplayName": 225588, "HideFromUI": "false", "EnchantCategory": "None", "Cost": 0, "DisplayEvenIfCostZero": "false", "CursesItem": "false", "StatusEffectsOnEquipIDs": ["d38ce59f-7342-4d19-94ba-0948c3956841"], "StatusEffectsOnLaunchIDs": [], "StatusEffectsOnAttackIDs": [], "AbilityModsOnEquipIDs": [], "OnEquipVisualEffects": [], "DamageProcs": [], "AbilitiesOnEquipIDs": [] } ] } "StatusEffectsOnEquipIDs": ["d38ce59f-7342-4d19-94ba-0948c3956841"], is referring to the ORIGINAL version, not your modified one. It should read: "StatusEffectsOnEquipIDs": ["cf4566b0-e64d-44b8-b012-3578b5a91128"], That way it's calling the modified version given in your file, ==== I don't know if your mod will actually do what you want, mind. Not really that deep into that area of modding of the game. But each of those things I mentioned absolutely needs to be done for it to have a chance of working. Also might be problems with that localized file you threw in there, but that's really outside of my area of expertise.
  21. Well first off, your file needs to be called totalrecovery.gamedatabundle instead of totalrecovery.gamedatatable. Haven't looked at anything else in it, but that absolutely needs to be done. edit Secondly, you have a trailing comma after a "}" at the very bottom of your file. It's on the third to last line, and that'll cause some problems as well. That's a fairly common problem, especially if you're just copy-n-pasting stuff.
  22. . Weird! Why is that his response to cruel? The "tad unnatural" bit is probably a clue that he's trying to act like a tough guy but it is out of his wheelhouse. In short, it's one of the few times where you can clearly see he's faking it.
  23. Mind, if it's not possible to make an entirely new store/inn/whatever via a mod on our end quite yet, that's be good to know as well, Obsidian.
  24. Anyway, back to the request I made for the Devs in my first post. ============ We know how to make an entirely new item for the game, because we have examples to follow from the items in items.gamedatabundles. We know how to add/subtract to already existing stores, or any container for that matter, thanks to the already existing LootList examples. We can make new status effects, abilities, and attacks thanks to the examples we can use as a guide in the various gamedatabundles. What ***I*** can't do is make an entirely new store and assign it to a new character because I don't know how, to pick as an example because it's handy, the UUID ("faafe4d0-16e3-4d76-8b34-6d42132ecd84") in the following block (from Sanza's conversationbundle): "OnExitScripts": [ { "Data": { "FullName": "Void OpenStore(Guid)", "Parameters": [ "faafe4d0-16e3-4d76-8b34-6d42132ecd84" ], "UnrealCall": "", "FunctionHash": 215165789, "ParameterHash": 44899091 }, "Conditional": { "Operator": 0, "Components": [] } } ], actually knows how to call the LootListGameData of ("1522b748-9761-4c17-981c-ebe76dfc5127") [his store data from items.gamedatabundle] and the VendorGameData of ("8d2d92e7-8a24-49bf-a2ba-542046f61e2a") [his rates data from factions.gamedatabundle] IF we knew how the game knew how tie together those three things, we should be able to make any NPC anywhere a vendor, simply by using that example as a guide. NOTE:::: I'm not asking to change Sanza's shop. I think we've covered that it's possible to do that. I'm simply using Sanza as an concrete example of what we DON'T know, not because I'm particularly interested in his shop.
  25. No worries on that score. I already know how to get items from folks for free. Just add "Void GiveItems(Guid, Int32)" with the right parameters call to a given node in the appropriate OnEnterScripts/OnExitScripts. (I also made sure to get rid of the UnrealCall associated with it, just to be sure) That was quite literally one of the first things I learned to do when I was modding PoE I for myself. Daddy wanted some of those Unique Items that he couldn't get.
×
×
  • Create New...