Jump to content

Zap Gun For Hire

  • Posts

  • Joined

  • Last visited

Everything posted by Zap Gun For Hire

  1. That's an interesting idea and one I'll think about. Not really doing much with Deadfire in the last couple of weeks, but it might be possible. It'd be a pretty lengthy conditional call, and conditional calls are one of the things I am least certain about when it comes to modding. I know HOW to do some calls, but I don't know WHY they work (which means I often resort to trial and error). Still haven't quite figured out the difference between 'all of the conditions in a call must succeed' for a call to succeed versus 'only one of the conditions in a call must succeed' for a call to succeed. So, yeah. Good idea. Not sure when I'd get the chance to try to code it up though or look at it to see how annoying it would be to code. Maybe this weekend? I'll try to look into it soon, regardless. If I do it, it'd probably be as a variant for folks who want a more 'immersive' flavor of the mod.
  2. There's something going on with the base game where the lootlist isn't always being fully generated on some fights with ships in combat mode (as opposed to ship to ship mode). This is happening in a couple of other ship fights outside of this mod as well, IIRC. Nothing I can do about it, I'm afraid. I did try to look over the code in items.gamedatabundle, as well as the other data bundles called during ship battles, when I first created this mod coz it was bugging me then, but nothing stood out to me as being a likely culprit. One of these days I might try another crack at tracking it down, but I'm fairly certain it's outside of my control.
  3. { "Note": "PL 5 Unlock - Weapon Training", "Category": "General", "UnlockStyle": "Unlock", "ActivationObject": "Self", "AddAbilityID": "c6649642-7729-4386-ae1c-6980351fe8c6", "RemoveAbilityID": "00000000-0000-0000-0000-000000000000", "Prerequisites": { "MinimumCharacterLevel": 1, "PowerLevelRequirement": { "ClassID": "ccdc9675-e2a7-46fa-83e9-7a5368b56265", "MinimumPowerLevel": 5 }, "RequiresAbilityID": "00000000-0000-0000-0000-000000000000", "Conditional": { "Operator": 0, "Components": [] }, "VisibilityConditional": { "Operator": 0, "Components": [] }, "IsMutuallyExclusiveUpgrade": "true" } } This is one of the custom abilities I have on my home mods (it lets a class select an additional Weapon Set at level up starting at Power Level 5) that is part of a larger set of abilities I am adding to a PT (so I'm not posting the entire code block here). I know for a fact that VisibilityConditional can remove something from view on a PT, in both standard and append. I haven't played around with RemoveAbilityID or RequiresAbilityID, but just at a glance it looks like it should be able to remove an ability and replace it with a different one. Or have you tried that and it didn't do what you wanted?
  4. After a lot of trial and error, I actually figured out a way to have it so something can go into all classes at one time. Instead of pointing the "BaseTableID": to a CLASS or COMPANION PT, I pointed it to the RACIAL PT that defines what races get what ("b2afaada-c140-42c3-9f02-2f919e45b49d") and followed the template of "Weapon Proficiency: Unarmed" (with a couple of further modifications). Worked like a charm. In fact, if I had thought of this before, I would have saved myself a ton of hassle (not to mention around a couple dozen UUIDs). Now the ability I am adding IS an Auto-Granted one, so I don't know what would happen if someone tried to use this back-door trick for a user selected one on level up. But at least I'm happy. ==== Fun fact though. Only reason I even hit upon this is I was getting VERY annoyed trying to figure out how to stop the multi-class hired adventurers I was creating as an edge case from getting duplicate copies of my auto-granted ability. I tried every last thing I could think of and kept seeing duplication. Then I finally thought, "Hey... Wait a second. Racial traits don't get duped on character creation. Maybe I should figure out how they're put into characters." Little while latter: SUCCESS!! Even works for Imported Characters on hiring, which is even better than inserting into the class PTs, as they weren't getting the new Auto Generated trait until they leveled up. Still need to clean up my code a little, but it seems to be working as I want now.
  5. Figured as much, but I thought I'd ask. Not so much for the base classes, but all of the companion PT's out there which I'm also doing. Thanks for the offer, but no worries. I can do it pretty quickly on my own end as well. Was more curious about the idea than anything else.
  6. Huzzah on this addition! Makes my home modding of PTs so much easier. I do have one question though. If I wanted to add an ability to ALL progression tables, could I put in a "0000" UUID into the BaseTableID field? I ask because I have a couple of talents I'm adding to all of the base classes of the game and I didn't want to have to create 11 separate entries if I didn't have to (Yes, I'm lazy ). No big deal if I can't, and truth be told I expect I have to manually create an additional Append for each table I want changed. But I thought I'd ask, if only for future reference. Thanks again for this addition! edited As a related question, if the standard null 0 UUID can't be put in a BaseTableID, can multiple UUIDs be put in it? And if so, is there a limit. Might be interesting to do something like BaseTableID [uUID1, UUID2, ..., UUIDX]. Probably a long shot, but no harm in asking, I reckon.
  7. I do not have massive game-system mastery. I know my way around the game well enough, but not THAT well. I play more for fun than theory crafting or min/max builds. Oh, if I put my mind to it, I can figure things out. But mostly I just like to screw around before I get serious in my playthroughs/challenges. Anywho, beat all of the other mega bosses and I take my party against the Iron Sheik. Err.. Helfire Colossus. Read up a tiny bit about him and then say "Screw it" and dive right on it. it's the only real way to learn, right? *BUGSPLAT* Oh, a wiseguy, eh? You wanna play that way, do ya? Fine. I'll just mosquito you to death with endless summoned monsters via my chanter. How do you like THEM APPLES boss boy? Plink plink plink. Summon summon summon. Plink plink plink. about 20 minutes of this. Plink plink plink. Ah, cool. He's down to Bloodied. This might not take as long as I thou... *giant sucking sound as he sucks in my at the time hidden party that was at the edge of the screen very far away* WHAT THE ****!!!! RUN RUN RUN RUN.... ... Okay, they managed to stay hidden. I think they're safe. Keep plinking and be a bit more care... *SSSSSSSHHHHHHUUUCCCCCKKKKK* *sees party REALLY not optimized for the bunch of nukes suddenly dropped on their heads* POWPOWPOWPOWPOWPOW FFFFFFFFFFFF UUUUUUUUUU *rage quits game* ==== I haven't Rage Quitted Deadfire in quite a long time. I can look back on it now and laugh (and better prepare for a real fight instead of Chanter Cheesing it). But I gotta tell ya, I dropped a couple of f-bombs when I saw my party get sucked in like that. (if the blessed so and so had done it earlier in the fight, and I would have known about it, I wouldn't have been pissed off. But, noooooo. Only when he was Bloodied, does he decide to break out this trick. 30 minutes of plinking, down the drain!!!! )
  8. If I wanted to edit the pre-made characters (as opposed to exported ones that get thrown in the Saved Games folder), is that possible? Been poking about the various .gamedatabundles and I can't find the 12 characters that are already in the game. === Depending on the answer, I might take this question to the modding section, as I am chasing down a rabbit hole in regards to what abilities are automatically selected for NPCs/Companions when they join the party. I might even figure out that question on my own, but not being able to easily find the data files for the pre-made characters piqued my interest on its own.
  9. FWIW, I haven't been able to get that new UI in my games. Turned off all mods and started a new game. Nada. Makes me think it was part of patch that got rolled back and for whatever reason, they're still able to access it.
  10. Updated for 4.0. Link has been added to the first post as well as this one. This is a maintenance release to update the changes made in the shiphostilitymanager in factions.gamedatabundle from the base game. I don't know if the latest version of this mod will work properly with previous versions of the game,so as always the prior links have been left in the OP for folks who have not yet updated to 4.0. I've done some minimal testing and everything looks to be in order. If anyone runs into any problems, let me know and I'll see if it is anything on my end. But it should be fine as the only change has been made is the aforementioned addition to the shiphostilitymanager, and I've already checked out the code with Visual Studio to make sure it is clean. Once again, Happy Hunting Watchers. ===== Repost of the most important FAQ of this mod: Q: So where can I find these ships? A: You can find the ships in the following areas: VTC (Estulario Parfitto): Will be circling Maje Island. Huana (Whenena Eel's Kiss): Will be circling Neketaka Island. Principi (Arterio the Avenger): Will start off at near the island that has a permanent storm next to it, sail to Dunnage before heading through the Karatapu Channel near the Oathbiner's Sanctum before heading back to Storm Island to start its route over again.* RDC (Hazanui Yaro): Will sail near Sayuka and then stay there. *NOTE: The Prinicpi ship occasionally seems to stop on the World Map for no apparent reason for a period of time. So it might not be 'on patrol' for some games, but it should be found somewhere roughly in the route described above. If you have already fought any of these ships for any reason they will not spawn should you install this mod after that point in your game. Vindictive Faction Ships_V4.0.zip
  11. Stupid question probably, but did you change the recipes to fit the format for 2.1? The recipes have moved from VisibilityConditions to CreationConditions: Before 2.1: { "$type": "Game.GameData.RecipeData, Assembly-CSharp", "DebugName": "Recipe_Mirrored_Scales", "ID": "42dc5090-a8c6-49d4-97d5-7a75652a74f4", "Components": [{ "$type": "Game.GameData.RecipeComponent, Assembly-CSharp", "DisplayName": 553, "CraftingLocation": "None", "CategoryID": "7bad3803-0dfd-473a-a857-326f4853a4d6", "VisibilityConditions": { "Operator": 0, "Components": [{ "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasItemMod(Guid)", "Parameters": ["a50a5a11-8083-4af2-abfc-5cb5f80481b8"], "Flags": "", "UnrealCall": "", "FunctionHash": 1518072523, "ParameterHash": 747015182 }, "Not": true, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasItemMod(Guid)", "Parameters": ["80ca92ff-aa03-4eb4-8375-d381d7ba15a7"], "Flags": "", "UnrealCall": "", "FunctionHash": 1518072523, "ParameterHash": -668226597 }, "Not": true, "Operator": 0 } ] }, "CreationConditions": { "Operator": 0, "Components": [] }, "Cost": 3000, "CanModifyWeapons": "false", "CanModifyArmor": "false", "CanModifyShields": "false", "CanModifySpecificItemsIDs": ["935271c9-8edd-47a2-9be1-dabd732d7e71"], "Ingredients": [{ "ItemID": "2698426e-c4ee-457b-8d1c-d55823f06c66", "Quantity": 1, "IsDestroyed": "true" }, { "ItemID": "f163ffbf-9539-4e6e-ab78-33fb5519066e", "Quantity": 1, "IsDestroyed": "true" }, { "ItemID": "71e7bacc-5b5d-474a-8dd9-9cda84846439", "Quantity": 1, "IsDestroyed": "true" } ], "Output": [], "ItemModsToAddIDs": ["80ca92ff-aa03-4eb4-8375-d381d7ba15a7"], "ItemModsToRemoveIDs": ["075f6b08-c617-4fd1-a827-13a524f728aa"] } ] } After 2.1: { "$type": "Game.GameData.RecipeData, Assembly-CSharp", "DebugName": "Recipe_Mirrored_Scales", "ID": "42dc5090-a8c6-49d4-97d5-7a75652a74f4", "Components": [{ "$type": "Game.GameData.RecipeComponent, Assembly-CSharp", "DisplayName": 553, "CraftingLocation": "None", "CategoryID": "7bad3803-0dfd-473a-a857-326f4853a4d6", "VisibilityConditions": { "Operator": 0, "Components": [] }, "CreationConditions": { "Operator": 0, "Components": [{ "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasItemMod(Guid)", "Parameters": ["a50a5a11-8083-4af2-abfc-5cb5f80481b8"], "Flags": "", "UnrealCall": "", "FunctionHash": 1518072523, "ParameterHash": 747015182 }, "Not": true, "Operator": 0 }, { "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats", "Data": { "FullName": "Boolean HasItemMod(Guid)", "Parameters": ["80ca92ff-aa03-4eb4-8375-d381d7ba15a7"], "Flags": "", "UnrealCall": "", "FunctionHash": 1518072523, "ParameterHash": -668226597 }, "Not": true, "Operator": 0 } ] }, "Cost": 3000, "CostByValueMultiplier": 0, "Double2HIngredientCost": "true", "CanModifyWeapons": "false", "CanModifyArmor": "false", "CanModifyShields": "false", "CanModifySpecificItemsIDs": ["935271c9-8edd-47a2-9be1-dabd732d7e71"], "Ingredients": [{ "ItemID": "2698426e-c4ee-457b-8d1c-d55823f06c66", "Quantity": 1, "IsDestroyed": "true" }, { "ItemID": "f163ffbf-9539-4e6e-ab78-33fb5519066e", "Quantity": 1, "IsDestroyed": "true" }, { "ItemID": "71e7bacc-5b5d-474a-8dd9-9cda84846439", "Quantity": 1, "IsDestroyed": "true" } ], "Output": [], "PrerequisiteItemModID": "075f6b08-c617-4fd1-a827-13a524f728aa", "ItemModsToAddIDs": ["80ca92ff-aa03-4eb4-8375-d381d7ba15a7"], "ItemModsToRemoveIDs": ["075f6b08-c617-4fd1-a827-13a524f728aa"] } ] } There's also a PrerequisiteItemModID field that needs something (0's might work). Checking out most of the other recipes, they seem to usually be tied to a base modification on the item that is being enhanced/replaced, though I haven't checked them all yet. Probably have already done these things, but I thought I would bring it up, just in case. === The other new fields are "CostByValueMultiplier": and "Double2HIngredientCost":. Not sure what happens when those are left off a new item.
  12. I haven't tested it yet, but I presume that it's now set that it is an act of stealing if you get caught lockpicking the chest, but not if you aren't caught. That is, some chests are set where if you are observed while you pick the lock nothing happens, and you only get a rep hit if people see you stealing from it. Other containers are set where you get a rep hit from BOTH lockpicking and from stealing if people can see what you are up to.
  13. Updated for 2.1.0 beta (link in OP and this post). The mod wasn't appearing in the Mod Manager for the 2.1 beta, due to having a blank entry in the manifest.json file for the "Max" setting in the SupportedGameVersion field. I went ahead and updated the manifest.json as well as putting in the cleaned up code for the gamedatabundle of this mod to get rid of the JSON errors that were mentioned earlier in the thread. There is no functionality change, and the only real reason to download this update is to ensure the mod appears in the Mod Manager for the beta of 2.1. If you don't want to download the update one can just delete the manifest.json file from the downloaded mod OR change it to the following: { "Title" : { "en" : "Vindictive Faction Ship Battles" }, "Description" : { "en" : "Puts four very high level faction ships onto the World Map." }, "Author" : "", "ModVersion": "2.1", "SupportedGameVersion" : { "Min" : "2.0.0", "Max" : "2.1.0" } } Vindictive Faction Ships_V2.1.zip
  14. Not sure if this should be flagged as a bug or not, but in the manifest.json if the "Max" field in "SupportedGameVersion" is left blank, a mod will not load into the Mod Manager. Just found this out when I went to test my Vindictive Faction Ships Battle mod and didn't see it on the Mod Manager list. I had it as the following before: { "Title" : { "en" : "Vindictive Faction Ship Battles" }, "Description" : { "en" : "Puts four very high level faction ships onto the World Map." }, "Author" : "", "ModVersion": "1.0", "SupportedGameVersion" : { "Min" : "1.1.0", "Max" : "" } } It would not show up in the Mod Manager until I put something in the Max field. This is new behavior as of 2.1.
  15. Relatedly, if you did this to a NPC, is it possible to add it to its LootList via the same means? This would make it so an NPC could drop a specific item on death, which I know a couple of people have been asking about. (and would it be pickpocketable if so [some people might not like that, is why I ask, though it wouldn't matter for hostile NPCs as they can't be pickpocketed]) Even if it doesn't, this opens up a world of possibilities.
  16. Another example would be dealing with the Imps in Arkemyr's manor. You can lie to the imps and claim to be Arkemyr (or claim one of your companions is Arkemyr). This can avoid a ton of bloodshed shed (and Arkemyr will also note this later on). At the same time it's still Shady as all hell (Shady being defined, more or less, as "someone found out later you were lying about something"). Is it worth being slightly shady at times if it brings about a just end? Up to the Watcher in question, I suppose. But it does show that Shady is more like Aggressive than say Cruelty. Some folks might disapprove of it, but that doesn't make it 'bad' in and of itself. Unless the Watcher is one of the folks who disapproves of such behavior, that is.
  17. I disagree and it's 95% because of the reasons that Josh listed. But beyond that, I like having a pure Chanter in the party when there wasn't one from the companion list (for me, Tekehu is a Druid and I just can't see him as a Chanter). I like the option of having a Monk with me. As well as the other options. Sure, I could always hire a merc. But there's just something rewarding about having someone from the game world hanging around being part of the story. Would I like more reactivity from them? Of course. But I'm satisfied with what I got. The way I look at it is that Sidekicks are appetizers. Something that can round out or supplement a meal. To me, they mostly do, with only Konstanten really being a bit lacking. But if he's getting a stronger role in the upcoming DLC, all the better. So count me in the Pro Sidekick camp. At worst, they're a base to be built on. At best, they give folks More Choices. Which, I seem to recall, is one of the things folks have been asking for when it comes to these games.
  18. At least he is not the last one remembered. Poor Fassina. She's the subject of a recent thread, otherwise I would have mentioned her instead.
  19. Just takes a simple tweak in global.gamedatabundle, FWIW. Change "DisableMods": true, to "DisableMods": false, in line 135. This does require modifying the base game file, and as such many folks might find the idea distasteful/not appropriate. But if one REALLY wants to play the difficulty enhancing mods and the challenges at the same time, that's how it's done. Then it just takes self-control not to use the mods that make the game easier. ==== As for the Naked Run itself, as the person who found the info in the game data in the first place (though not the concept, as that was all Harpagpornis' brilliance ), I do wonder if it's actually ever going to be enabled. It might have been an idea at one stage of development but not followed up on. I mostly say that because the placeholder trigger for the achievement enabling (don't hire any companions/sidekicks/custom adventureres) doesn't match at all the concept as described in the stringtable (don't wear armor/boots/shields/etc). Still it might in fact just be a placeholder trigger there and whenever Obsidian finishes the code to track Naked Runs, it'll be updated with the appropriate trigger. And even if it isn't it gives a nice baseline for this thread to follow as a sort of Ultimate Challenge.
  20. I alluded to this earlier with my Frostseeker joke, but sigils work exactly the same way as barrels and other items in that by attacking them, it attracts nearby enemies to investigate the sound it makes when getting hit. While I haven't done it yet (nor needed to), there's probably some fun instances where one can attack a sigil at range, get a group of enemies to cluster around it, and then fire off a high level/high damage AoE spell/effect right on top of their heads, softening them all up before combat. I haven't been reading the CharOps forum all that much, but I would think this sort of tactic should have SOME utility. Or at the very least, have utility in being funny.
  21. After doing some testing of various items, and while also checking out the game code, I think I found that the upgrade Solitary Fate is not granting a point of Concentration that it claims it supplies to the wielder when far away from allies. The base ability Solitary IS granting Concentration, as is the upgrade Vengeful Cold. I took a look at the game code in statuseffects.gamedatabundle, and I can see where Concentration is being granted from Solitary ("2d093bc0-3b7d-47f8-a5ca-f67944beb230") and where it granted from Vengeful Cold ("67ff49e1-b6cd-4cca-8b1a-24cb773fe48e"), but I couldn't find the corresponding Concentration entry for Solitary Fate. I have a savefile where I added the unique item Acolyte's Frostbite to the party via the console as well as the items necessary to upgrade the item to either Solitary Fate or Vengeful Cold. The game is set with the party in the Arena Sub Level in the Engwithan Digsite on Maje Island. Aloth has the base version of Acolyte's Frostbite equipped and the items and gold necessary to upgrade the item to either Solitary Fate or Vengeful Cold. Two chambers to the west of the party are two Crystal-Eater Spiderlings and a Will-O'-Wisp, where Aloth can wander over there alone and fight the enemies. With only the base Solitary enhancement, he will get Concentration. With the upgrade Vengeful Cold, he will get Concentration. With the upgrade Solitary Fate, he will not get Concentration. I have it set this way, so each of the three states can be tested in short order. Porthos (ArenaSub-level) (d41075f5-0d41-4911-b032-988505a73007) (LAX-2ABCDE) (755067909).savegame.zip
  22. Unless one has Frostseeker, of course. Frostseeker starts pummeling a sigil. POWPOWPOW. "Hey Bob, that sigil is shorting out again. Go check it out okay?" POWPOWPOW "Sure thing, George." *Bob walks over to Sigil* POW POW "OWWWWWW!!!" *combat music starts up*
  • Create New...