Jump to content

Welcome to Obsidian Forum Community
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Photo

[Release] Vindictive Faction Ship Battles (Now upgraded to v4.0)


  • Please log in to reply
28 replies to this topic

#1
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

Due to popular demand, and after extensive testing and bug squishing, I have made a mod which allows folks to fight the high level faction ship which spawn if one pisses off a faction enough.

 

I have attached a zip file to this post.  Simply download it and unzip it.  Then put the folder called Vindictive Faction Ship Battles in your override directory of your Deadfire installation.

 

:::::::: IMPORTANT NOTE EDITED IN ON AUG 2nd:::::::: (now spoilered due to being outdated)

Spoiler
:::::::: IMPORTANT NOTE EDITED IN ON AUG 2nd::::::::

 
::::::: SECOND NOTE ADDED ON DEC 13th ::::::::
Deadfire added some ships in the latest update (4.0), and one of the data bundles that this game modifies was changed to help enable that. It is possible that the latest version of this mod  will NOT be compatible for anyone who is still playing previous versions of Deadfire.
 
In case there is a version conflict, previous versions of the mod are still available to be downloaded.
 
If one has Deadfire v1.1.1 to v1.2.2, please click on the Vindictive Faction Ships.zip link.
If one has Deadfire v2.0 to v3.1.1, please click on the Vindictive Faction Ships_V2.1.zip link.
If one has Deadfire v4.0 or above, please click on the Vindictive Faction Ships_V4.0.zip link. 
::::::: SECOND NOTE ADDED ON DEC 13th ::::::::
 

 

From the README:

 

=========

 

Vindictive Faction Ship Battles (v4.0)
 
This mod makes it so the party can fight each of the faction ships that spawn on the world map when one gets 3 ranks in negative reputation with a faction WITHOUT having to get that reputation loss in the first place.
 
The default behavior for this mod is that these ships will not turn hostile until the Watcher is level 13, giving low to mid level parties a chance to safely explore the world map until they have a better chance to defeat these ships, or at least outrun them.
 
Once the Watcher is level 13, a particular ship can still be made peaceful by hoisting up the faction flag that they are aligned with, so folks who are near them can still avoid them if they have the appropriate flag in their inventory.
 
The four ships that will spawn are as follows:
 
The Huana will spawn a level 17 captain (Whenena Eel's Kiss) who will control a Voyager called "The Servant of Rikuhu". She will have the unique shield Akola's Apex Ward.
The VTC will spawn a level 18 captain (Estulario Parfitto) who will control a Galleon called "Aimo do Spirente"  He will have the unique pike Wicked Beast.
The Principi will spawn a level 19 captain (Arterio the Avenger) who will control a Dhow called "The Terror of the Deadfire". He will have the unique armor Gipon Prudensco
The RDC will spawn a level 20 captain (Hazanui Yaro) who will control a Junk called "The Royal Leviathan". He does not have any unique loot.
 
==========
 
Version History:
 
1.0.0:     Initial Release.
2.0.0:     Minor update to keep the mod current with the base game changes to 2.0.0.  Updated the FAQ in a few places.
2.1.0:     Cleaned up the gamedatabundle to get rid of JSON errors.  Updated the manifest.json so the mod will appear in the Mod Manager for 2.1.0. beta.
4.0.0:     Shiphostilitymanager updated to reflect the additions made in the base game.  Version number updated to match version number of the base game.

Attached Files


Edited by Zap Gun For Hire, 13 December 2018 - 01:02 PM.

  • TT1, AndreaColombo, omgFIREBALLS and 7 others like this

#2
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!
Partial Extract of FAQ (Frequently Anticipated Questions) from the README:
 
Q: So why does this mod exist?
 
A: This mod exists because if you piss off each of the factions enough by getting 3 ranks in "Bad" reputation with them, an EXTREMELY high level ship will spawn on the World Map with the express purpose to hunt you down and try to kill you. And some folks want to be able to fight them without having to get the -3 rep with a faction.
 
Q: Okay, but why would I want to fight these folks then?
 
A: Because you like the challenge of fighting a level 17 through 20 ship encounter, but don't want to burn your bridges with a faction to do it?
 
Okay, the REAL reason is that in the case of three of these factions fights (VTC, Huana, Principi), you can get a unique item from those fights, which otherwise is unavailable as even getting a couple of levels of "Good" will lock out these ship battles and their uniques.
 
So if one wants to get these items without completely pissing off a faction, then this mod is for you.
 
Plus, as I said, there are folks who like to have more ships to fight on the World Map. :)
 
Q: Hey! I'm not always getting a unique item from a fight!  What gives?
 
A: During my testing, I found that occasionally I would not get a unique item I was supposed to during a ship fight.   Checking the code, it appears that these items are supposed to drop 100% of the time, so it looks to be either a bug on Obsidian's end or there is something else going on that I can't figure out.
 
Since I can't find out what is going on here, I would suggest saving your game before engaging with one of the ships that has a unique item as loot and reload the game BEFORE the ship combat started should you not get the item that one is supposed to.
 
Q: Can I use this mod in a game already started?  What versions of the game does this work on?
 
A: Sure can!  Though if this mod gets updated at any point, I can't guarantee that all changes will be applied in an ongoing game, as Deadfire can be a bit finicky about some things when it comes to how ships and NPCs operate.
 
As for game version, I started testing this on 1.1.1, so it should work there.  I have fully tested this on 1.2, and am releasing it with 1.2 as the current version of the game.
 
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 headding through the the Karatapu Channel near the Oathbiner's Sanctum before heading back to Storm Isand 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.
 
Q: Any plans for the future for this mod?
 
A: Not particularly. One of the reasons why I waited so long to release this is I want to look at most of the angles and only release it when I was fully satisfied with the result.
 
If I can figure out why the ship captains aren't always dropping the unique item they are supposed to in combat and fix it, I'll update to mod to fix that bug.
 
Aside from that, I *MIGHT* look into releasing another version of this mod where folks can pick and choose which faction ships to fight, if I can make sure there aren't any conflicts.  Mostly though it'll just be squishing any bugs which might pop up and keeping the mod current with the base version of the game.

Edited by Zap Gun For Hire, 02 August 2018 - 01:52 PM.

  • AndreaColombo, InsaneCommander, Gary1986 and 3 others like this

#3
Gary1986

Gary1986

    (5) Thaumaturgist

  • Members
  • 508 posts
  • Deadfire Backer
  • Fig Backer
Nice one. Gonna installed it now.
  • Zap Gun For Hire likes this

#4
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

Finally this mod should be compatible with all other mods unless another mod is changing the shiphostilitymanager settings in factions.gamedatabundle.  In that case, this mod will be in conflict and probably not work.  Also, if another mod is changing the settings of any of these four captains in ships.gamedatabundle or in worldmap.gamedatabundle, then there will also be a conflict.

 

In the case of the ships and worldmap gamedatabundles, I am only changing the relevant entries that are needed to enable the captains and ships to spawn on the world map, so unless a mod is replacing those gamedatabundles in their entirety there shouldn't be a conflict, especially if this mod is loaded after that one.

 

If needed, I can supply the relevant code I am changing so folks can plug it into any mod that might be in conflict.

 

=================

 

 

That should be it.  Lemme know if there's any problems that I need to look into. Otherwise, Happy Hunting, Watchers.  :thumbsup:



#5
omgFIREBALLS

omgFIREBALLS

    (7) Enchanter

  • Members
  • 874 posts
  • Deadfire Backer
Q: Hey! I'm not always getting a unique item from a fight!  What gives?
 
A: During my testing, I found that occasionally I would not get a unique item I was supposed to during a ship fight.   Checking the code, it appears that these items are supposed to drop 100% of the time, so it looks to be either a bug on Obsidian's end or there is something else going on that I can't figure out.

I seem to recall reading something about the battle ending before all corpses had been generated. What I gathered from that was, don't save the captain for last if you want their sweet loot.


  • Zap Gun For Hire likes this

#6
TT1

TT1

    Transcendent Spirit of the Obsidian Order

  • Members
  • 299 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Lords of the Eastern Reach Backer
  • Deadfire Backer
  • Fig Backer
You will not add this mod on nexus?
  • InsaneCommander likes this

#7
InsaneCommander

InsaneCommander

    Arch-Mage

  • Members
  • 2071 posts
  • Location:Drinking with Mirke in a Deadfire bar
  • Deadfire Backer
  • Fig Backer

Yay! More ships to fight! And it's perfect for my pirate character who attacks anyone, even the Principi. :dancing:


  • Zap Gun For Hire likes this

#8
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

You will not add this mod on nexus?

I'll think about it.  I have an account over on Nexus (under a different handle), but I've only used it to download things.  Maybe I'll take a look and see just how much I have to do set up wise to put up a mod over there.

 

Part of it though is making a commitment to the community over there to keep things current.  Plus answering various questions and whatnot.

 

But, like I said, I'll think about it.  If I do won't be until tomorrow or a bit afterwards.  Right now I'm actually enjoying playing the game for once instead of doing lots of testing on various things. ;)


  • InsaneCommander likes this

#9
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

There has been an extremely minor change in how one of the GameDataObjects that this mod uses operates that shouldn't impact how the mod works (at least it didn't in my limited testing before I changed it on my home system), but just to be on the safe side I'll release an update to this mod sometime today.  Probably within a couple of hours.

 

The game will currently flag the old version as an incompatible mod, but that's just because of the outdated manifest.json.

 

Would have released it earlier, but I wanted to make sure there weren't last minute changes between the beta branch and the official release. 



#10
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

As promised, v2.0 of Vindictive Ship Battles.

 

There have been no changes in how the game operates, but I did update the FAQ in regards to version history and the behavior of the Principi Boss Ship (see below). 

 

If one has not updated to 2.0 for Deadfire, I personally would not apply the updated version of this mod, as I don't know how the game would handle the new code introduced in 2.0.

 

As such, version 1.0 of this mod will be left in the OP for folks to download if they need to use the older version for their games. 

 

Happy Hunting, Watchers.  :thumbsup:

 

=====

 

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 headding through the the Karatapu Channel near the Oathbiner's Sanctum before heading back to Storm Isand 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.

 

 

Attached Files


  • gabesz likes this

#11
Kexby

Kexby

    (2) Evoker

  • Members
  • 72 posts
  • Location:Australia

This is wonderful! Another one for me to study :biggrin: .

 

Thank you Zap.


  • Zap Gun For Hire likes this

#12
maplejar

maplejar

    (1) Prestidigitator

  • Members
  • 10 posts
  • Location:Charlotte, NC
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Backer
  • Fig Backer

I loaded up version 2.0 in Visual Studio Code to study it as well, and according to it there are 8 trailing commas in the code. I also ran it through https://jsonlint.com/ and it identified the trailing commas as well. The following are Visual Studio Code line numbers, but I loaded your file in notepad++ and the line numbers match up there as well.

 

1. Line 689 after "Parameters": ["3fbac293-4650-4257-859e-67c8d167f29a"]

2. Line 701 after ] -- (it's after the closing bracket on the line below "13")

3. Line 716 after "Parameters": ["cb9e3e3b-37ed-4301-a9f4-02f4588e8287"]

4. Line 728 after ] -- (this one is also on a line below a "13")

5. Line 743 after "Parameters": ["0701564c-7535-44ac-adc0-3c373b3ffa7f"]

6. Line 755 after ] -- (also on a line below a "13")

7. Line 770 after "Parameters": ["d315d6d7-bfcc-4520-abb5-4ce3c19ebcef"]

8. Line 782 after ] -- (again this is on the line below a "13")

 

Then I opened up version 1.0 and it is showing the same 8 trailing commas in it as well, so I suppose they aren't breaking the mod if people are using it without issue. Could they be breaking those particular parameters? Modding POE2 has been my first exposure to JSON, so I am definitely not an expert, but I figured I'd alert you to this just in case.


Edited by maplejar, 03 August 2018 - 03:10 AM.


#13
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

I loaded up version 2.0 in Visual Studio Code to study it as well, and according to it there are 8 trailing commas in the code. I also ran it through https://jsonlint.com/ and it identified the trailing commas as well. The following are Visual Studio Code line numbers, but I loaded your file in notepad++ and the line numbers match up there as well.

 

1. Line 689 after "Parameters": ["3fbac293-4650-4257-859e-67c8d167f29a"]

2. Line 701 after ] -- (it's after the closing bracket on the line below "13")

3. Line 716 after "Parameters": ["cb9e3e3b-37ed-4301-a9f4-02f4588e8287"]

4. Line 728 after ] -- (this one is also on a line below a "13")

5. Line 743 after "Parameters": ["0701564c-7535-44ac-adc0-3c373b3ffa7f"]

6. Line 755 after ] -- (also on a line below a "13")

7. Line 770 after "Parameters": ["d315d6d7-bfcc-4520-abb5-4ce3c19ebcef"]

8. Line 782 after ] -- (again this is on the line below a "13")

 

Then I opened up version 1.0 and it is showing the same 8 trailing commas in it as well, so I suppose they aren't breaking the mod if people are using it without issue. Could they be breaking those particular parameters? Modding POE2 has been my first exposure to JSON, so I am definitely not an expert, but I figured I'd alert you to this just in case.

 

Spoiler

 

=======

 

EDITED.

 

Mostly ignore this post and the next one, as I figured out what was going on as I pointed out a couple of posts later on. :)

 

Put in spoiler bars, as most of my slightly confused commenting was offbase.

 

Again, thanks for the heads up. :)


Edited by Zap Gun For Hire, 03 August 2018 - 11:57 PM.


#14
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

EDIT::::

 

Ignore this post please, as I figured out what was going on. See next two posts. :)

Spoiler


Edited by Zap Gun For Hire, 03 August 2018 - 11:56 PM.


#15
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

Oh, I think I see what might be happening.  Might be complaining that it's the last function being called in an array which shouldn't have a comma then. 

 

Huh.

 

Strange that it was working though.

 

*thinks*

 

Ah.  Could be the partial override system at play, perhaps.

 

What I did was just plain ignore the "unreal" call as I didn't want to mess around with it.  So the Deadfire interperter is probably putting it in automatically and thus the trailing comma isn't an issue.

 

Yeah, I might want to change it to keep it clean.

 

On the other hand, leaving out the comma might break the code since I don't have Flags/Unreal/FunctionHash/ParameterHash in my code for various reasons.

 

I suppose I can test it to see what happens if I strip out those commas that the checker is bitching about.  But I'm kinda afraid it might break the mod. :lol:

 

Still, if I must I suppose I can put in 0s in those function checks if I want the code to be clean.

 

So, again, thanks for the heads up. At the very least it was in interesting intellectual exercise. :)


Edited by Zap Gun For Hire, 03 August 2018 - 11:39 PM.

  • maplejar likes this

#16
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

Yeah, that's definitely it alright.

 

A bit of background for those who care.  For whatever reason (and maybe it's a JSON standard for all I know), Obsidian is doing a validity check for all Parameter calls.  Which is fine for us modders who are just copying and pasting a parameter call.  Less fine for those of us changing a parameter call or making an entirely new one.

 

There are a couple of ways Obsidian has designed the engine to handle this.  If I recall correctly (and I might not!), one way is to make it so a new validity check will work is to take one that looks like this:

 
"FunctionHash": 901380568,
"ParameterHash": 1860858659
 
and instead turn it into this:
 
"FunctionHash": 0000000000,
"ParameterHash": 0000000000
 
The other way Obsidian allows it is to just leave out the validity check altogether and the game engine will do it on its own in the background.
 
I presume (and, yes, it's dangerous to presume :lol:) that's why the game engine wasn't choking on those extra commas; it was then doing the validity checks on its own in the background.
 
Which makes me hesitiant to strip them.
 
I suppose I could see what is happening when I leave that comma out there.  If it still works, I suppose I'll clean up the code the next time I update this mod.
 
If that causes the mod to stop working, I suppose I'll grit my teeth and put in the blank validity check.  If only for future proofing.
 
So, again, thanks for the heads up, maplejar.  :thumbsup:   I'll play around with it over the next few days when I have the time and see what happens when I attempt to 'clean up' the code. :)

Edited by Zap Gun For Hire, 04 August 2018 - 12:08 AM.

  • maplejar likes this

#17
maplejar

maplejar

    (1) Prestidigitator

  • Members
  • 10 posts
  • Location:Charlotte, NC
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Backer
  • Fig Backer

My pleasure, Zap!


  • Zap Gun For Hire likes this

#18
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

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"
    }
}

Attached Files


Edited by Zap Gun For Hire, 30 August 2018 - 02:27 PM.


#19
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

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.
 

Attached Files


  • DozingDragon, InsaneCommander, MaxQuest and 1 other like this

#20
DozingDragon

DozingDragon

    (4) Theurgist

  • Members
  • 290 posts
  • Pillars of Eternity Silver Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

Thanks for the update! 


  • Zap Gun For Hire likes this




2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users