• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

WIP Character Model - Witch Girl

No problem with the files not being organised - I know where they go, and anyway I had to copy and paste the relevant bits from "initItems.c", "StartStoryline.c" and "ItemsDescribe.txt" into the versions in the update so that other changes already in those files are kept.

In "initItems.c", I believe "skiprand" prevents a weapon from appearing in random treasure chests, not from being sold in stores. But it doesn't matter anyway because setting rarity to 0, minlevel to 99, and including the weapon in the definition of "isWeaponUnique" ought to prevent it from appearing anywhere other than where you specifically put it. That, for example, is why you never see Nicholas Sharp's sabre for sale, in chests, on dead bodies, or anywhere else except when you get it from Toff Oremans.

In "StartStoryline.c", you're giving the sword to the player if the character's name is "Ciri Rhiannon" or she's using the "CiriWitcher" model. Perhaps change it from "||" to "&&" so that you only get the sword if your name is "Ciri Rhiannon" and you're using the "CiriWitcher" model, so that you really are Ciri. Likewise for Morgen le Fay, whose game becomes a little more challenging if you intentionally change your name, at least temporarily - then you don't get the sword automatically assigned and you have to go and find it on Cayman.

And now to start work on the interface pictures...
 
Here's the interface picture:
ciri_sword_interface.jpg

The texture file is a bit large. I'd say 512x512 is easily enough for a sword. It's certainly enough for Sword of the Earth, alias "blade308" :
anathros.jpg

Incidentally, the reason the blade is so shiny on that one is that in weapon textures, anywhere that is white on the alpha map is replaced by shiny metal when the weapon appears in the game. (I got caught out on that. I forgot to set the texture map, so the first version of "blade308" was entirely shiny metal. :facepalm) What it means for Ciri's sword is that, if you want the blade to be shiny, I just need to make the alpha map pure white on the area for the blade.

Hmm... looking at post #38, your version has a shiny blade. Perhaps the texture file you uploaded is not the one you used for that screenshot? Because when I used that texture file, the blade appeared dark grey, the same as the crossguard.
 
In "StartStoryline.c", you're giving the sword to the player if the character's name is "Ciri Rhiannon" or she's using the "CiriWitcher" model. Perhaps change it from "||" to "&&" so that you only get the sword if your name is "Ciri Rhiannon" and you're using the "CiriWitcher" model, so that you really are Ciri. Likewise for Morgen le Fay, whose game becomes a little more challenging if you intentionally change your name, at least temporarily - then you don't get the sword automatically assigned and you have to go and find it on Cayman.
that makes perfect sense :onya


Here's the interface picture:
View attachment 31878

The texture file is a bit large. I'd say 512x512 is easily enough for a sword. It's certainly enough for Sword of the Earth, alias "blade308" :
View attachment 31879

Incidentally, the reason the blade is so shiny on that one is that in weapon textures, anywhere that is white on the alpha map is replaced by shiny metal when the weapon appears in the game. (I got caught out on that. I forgot to set the texture map, so the first version of "blade308" was entirely shiny metal. :facepalm) What it means for Ciri's sword is that, if you want the blade to be shiny, I just need to make the alpha map pure white on the area for the blade.

Hmm... looking at post #38, your version has a shiny blade. Perhaps the texture file you uploaded is not the one you used for that screenshot? Because when I used that texture file, the blade appeared dark grey, the same as the crossguard.
interface pic looks sweet xD thanks

it definitely had an alpha.. maybe I compressed it wrong or something. if Im shrinking it anyway Ill check and make sure its got the alpha this time. coming up in a few!
 
It certainly has an alpha map, but nothing in pure white to allow the shiny metal. If that is what you want, don't worry - I already have a version with the blade's alpha set to pure white, except for the groove down the middle.

This was my test of the sword. (Also observe the improved short pistol - you won't have that yet, but I'll be uploading my update collection later today and it's in that. :D)
 

Attachments

  • ciri_sword.jpg
    ciri_sword.jpg
    165.3 KB · Views: 251
It certainly has an alpha map, but nothing in pure white to allow the shiny metal.
weird! the blade in my game seems to get varying gloss depending on how light the alpha is, the sword in the screenie I posted used the greyish alpha, so I was careful with the full white, but maybe its got something to do with enb or reshade or so. oh well, Ill upload the one I done, and if it doesnt look right you can use the one you used for the screenie since that looks cool too xD

super looking forward to the new update!
 

Attachments

  • StartStoryline.c
    54.7 KB · Views: 196
  • CiriSword.tga.rar
    300.8 KB · Views: 185
That one also has grey on the alpha. I won't have time to try it out in a game but, as its alpha looks the same as the original, I expect the sword will probably look the same as well. It may be to do with ENB or reshade; I don't use either of those and I suspect I'm not the only one, so if they are needed for grey alpha to look right then we're probably best to stick with the version which I know works on a more basic installation.
 
That one also has grey on the alpha. I won't have time to try it out in a game but, as its alpha looks the same as the original, I expect the sword will probably look the same as well. It may be to do with ENB or reshade; I don't use either of those and I suspect I'm not the only one, so if they are needed for grey alpha to look right then we're probably best to stick with the version which I know works on a more basic installation.
sounds good! :thumbs1 maybe I can upload the higher res version with the gray alpha in Ciris release thread for if anyones interested xD
 
Another thought for Morgen:

Perhaps remove the sword from "StartStoryline.c". Instead, in "PROGRAM\Characters\Characters_init.c", give Morgen a custom log entry, the same way you did with Hilda Sparre. Have it say something about a special sword hidden somewhere on Cayman. Then anyone who plays Morgen and who bothers to read the logbook has something to do in the game right away.
 
Another thought for Morgen:

Perhaps remove the sword from "StartStoryline.c". Instead, in "PROGRAM\Characters\Characters_init.c", give Morgen a custom log entry, the same way you did with Hilda Sparre. Have it say something about a special sword hidden somewhere on Cayman. Then anyone who plays Morgen and who bothers to read the logbook has something to do in the game right away.
tbh there are probably not a lot of ppl who will be playing morgen to begin with :p so I fear itll just be making both morgen and the sword less visible.. its a real nice idea tho, something extra to do when playing freemode is always cool since it can get easily stale, but, as you say, it really is if anyone bothers to read the log. is there a way to make ppl more aware that the log is more worth reading than usual? in that case Im deffo super onboard! xD is extra dialog for malcolm or adding a quest too much change or too intrusive for what is tbh a fairly rare reward? or maybe its even alright if its hidden away in the logs, most ppl will probly find the sword randomly when playing other chars anyway
 
tbh there are probably not a lot of ppl who will be playing morgen to begin with :p so I fear itll just be making both morgen and the sword less visible..
It certainly wouldn't make Morgen less visible, as she would still be available as a choice of character in FreePlay. It wouldn't necessarily make the sword less visible, just harder to get - even Morgen would need to go and find it, rather than have it given for free at the start of the game.
its a real nice idea tho, something extra to do when playing freemode is always cool since it can get easily stale, but, as you say, it really is if anyone bothers to read the log. is there a way to make ppl more aware that the log is more worth reading than usual? in that case Im deffo super onboard! xD is extra dialog for malcolm or adding a quest too much change or too intrusive for what is tbh a fairly rare reward?
A whole quest is probably overkill unless you want Morgen to do more than just go to Cayman, find the hole in the ground, fall into the dungeon and find the sword. If you do want Morgen to do more, e.g. give her a specific enemy to kill after finding the sword, then you could certainly write a quest.

Added dialog for Malcolm would be perfect. Custom dialogs are usually in "PROGRAM\Storyline\FreePlay\DIALOGS\Robert Fletcher_dialog.c", and Malcolm is set to use that file for his dialog where needed. Have a look through "StartStoryline.c", particularly for PLAYER_TYPE_NAVAL_OFFICER and PLAYER_TYPE_AGENT - those should show examples of how to customise Malcolm to suit specific characters.
 
A whole quest is probably overkill unless you want Morgen to do more than just go to Cayman, find the hole in the ground, fall into the dungeon and find the sword. If you do want Morgen to do more, e.g. give her a specific enemy to kill after finding the sword, then you could certainly write a quest.
true! I had imagined a small quest, pretty much a note, that wud expire after a few week or so if the player has no interest in the sword since perpetual quests in the log are annoying, but in retrospect I dont like the idea. the murder-with-the-sword thing gave me some ideas tho, maybe thatll bloom out into sumthing interesting at some point xD
Added dialog for Malcolm would be perfect. Custom dialogs are usually in "PROGRAM\Storyline\FreePlay\DIALOGS\Robert Fletcher_dialog.c", and Malcolm is set to use that file for his dialog where needed. Have a look through "StartStoryline.c", particularly for PLAYER_TYPE_NAVAL_OFFICER and PLAYER_TYPE_AGENT - those should show examples of how to customise Malcolm to suit specific characters.
this is awesome! xD I always loved the starts with a custom malcolm; I can flesh out the story alittle and make up some reason why she wud want the sword or whatnot :cheers thanks! Ill get on it when I get home and get a chance to do some of that sweet modding again
 
true! I had imagined a small quest, pretty much a note, that wud expire after a few week or so if the player has no interest in the sword since perpetual quests in the log are annoying, but in retrospect I dont like the idea. the murder-with-the-sword thing gave me some ideas tho, maybe thatll bloom out into sumthing interesting at some point xD
I agree 100% about perpetual questbooks, which is one reason why I overhauled the smuggling. ;) The bit about a specific enemy was just the first thing off the top of my head; no doubt you'll come up with something better.
this is awesome! xD I always loved the starts with a custom malcolm; I can flesh out the story alittle and make up some reason why she wud want the sword or whatnot :cheers thanks! Ill get on it when I get home and get a chance to do some of that sweet modding again
As far as I'm concerned, the sword was probably made by an eccentric noble, which would explain its strange appearance. In general I'm not keen on fantasy or supernatural stuff in PoTC, which is why the sword has no mystical abilities.

As far as a fantasy character like Morgen is concerned, that just means nobody else knows its true significance. When I was looking for pictures to use as sources for the texture for the sword, I happened to stumble upon the "real" thing.
Anathros - Folded Damascus Special Edition
If you want a bit of inspiration, click on the "Read the Mythology" button...

(The blade and grip don't look like the original because I'd already put a lot of work into them before I found anything relating to Anathros, and wasn't about to throw it away. But I did use both the pommel and crossguard from the original.)
 
finally making some headway! Ive written a bunch of code for a new start for Morgen, with references to the sword and just some general flavor, more or less mildly alluding to magic. Ive written it on my tablet however, so I havent tested it yet but things are starting to kinda sorta be set up in my trash excuse for a home, so shuld be rdy soon as long as I havent majorly botched something
 
there were a few hiccups, but it seems to work fine now! :type1

new journal and dialog for Morgen when starting as an adventurer; separate for if you start with a tiny ship like the tartane without a cabin or if you start with a proper ship. with no cabin, you have just arrived to the Caribbean on another ship, but their captain is now throwing you off because theres just too much weird stuff happening. with your own its pretty much a variant of the regular opening but with a different Malcolm and without a tutorial, with new dialog talking about the trip across the atlantic and the sword. trickiest to figure out was the teleporting to port without the tutorial. agent and the other classes that do the straight-to-port thing use the "stormy start" quest which got some special cases, but I wanted to have the option for regular stormy start too. solved it with an attribute for the "stormystart" quest to check if it should do the custom_start or the default one. anyway, it seems to work well, I havnt tried it super extensively cuz I still got lots of trash goin on, but I dont think it makes any changes that would mess anything else up xD
 

Attachments

  • Morgen Special Start.rar
    57.6 KB · Views: 162
This is in "PROGRAM\Storyline\FreePlay\both_reaction.c":
Code:
               if (GetCharacterShipCabin(PChar) == "Cabin_none") // PB: Is this 'if' still necessary?
               {
                   switch(CharPlayerType)
                   {
                       case PLAYER_TYPE_NAVAL_OFFICER:   /*nothing*/ break;
                       case PLAYER_TYPE_ROGUE:           /*nothing*/ break;
                       case PLAYER_TYPE_GAMBLER:       /*nothing*/ break;
                       case PLAYER_TYPE_AGENT:           /*nothing*/ break;
                       case PLAYER_TYPE_SMUGGLER:       /*nothing*/ break;
                       case PLAYER_TYPE_CURSED:       /*nothing*/ break;
                       case PLAYER_TYPE_CORSAIR:       /*nothing*/ break;
                       case PLAYER_TYPE_CASTAWAY:       /*nothing*/ break;
                       case PLAYER_TYPE_ADVENTURER:
                           if(GetMySimpleName(PChar) == "Morgen le Fay") Characters[GetCharacterIndex("Malcolm Hatcher")].Dialog.CurrentNode = "MorgenStartSmallShip1"; // DeathDaisy
                       break;
                       //default:
                       Characters[GetCharacterIndex("Malcolm Hatcher")].Dialog.CurrentNode = "OnMalcolmShip";
                   }
               }
This means that anyone playing an Adventurer other than Morgen, and who chooses to start with a tiny ship, will get the normal dialog for a normal cabin rather than the "OnMalcolmShip" dialog. Perhaps assign "Dialog.CurrentNode" in "StartStoryline.c" instead and leave "both_reaction.c" alone, or do some checking inside "Robert Fletcher_dialog.c"?

Also, you have both a ship log entry and a questbook. The ship log entry tells you about the sword, while the questbook tells you how you got the ship. Usually it's the other way round - the ship log tells you how you got the ship and the questbook, when it exists, gives hints about what to do next. If you do it that way, it leaves open the possibility of further expansion. For example, if I were playing Morgen for the first time, read those entries, and noticed the bit about the Welsh sailor on Cayman, the first thing I'd do would be to go to Cayman and look for a Welsh sailor. ;)
 
This means that anyone playing an Adventurer other than Morgen, and who chooses to start with a tiny ship, will get the normal dialog for a normal cabin rather than the "OnMalcolmShip" dialog. Perhaps assign "Dialog.CurrentNode" in "StartStoryline.c" instead and leave "both_reaction.c" alone, or do some checking inside "Robert Fletcher_dialog.c"?
didnt think of that! I can probably put the dialog node thing in StartStoryline, however Id still like to use the "stormystart" quest in both_reaction to teleport straight to port..

Also, you have both a ship log entry and a questbook. The ship log entry tells you about the sword, while the questbook tells you how you got the ship. Usually it's the other way round - the ship log tells you how you got the ship and the questbook, when it exists, gives hints about what to do next. If you do it that way, it leaves open the possibility of further expansion. For example, if I were playing Morgen for the first time, read those entries, and noticed the bit about the Welsh sailor on Cayman, the first thing I'd do would be to go to Cayman and look for a Welsh sailor. ;)
very true, I added the quest text since the other custom starts had them and I just did the same thing without thinking :p doing an alternative ship log text when having no cabin instead is prob better and should be pretty easy tho, and removing the quest log altogether

also, it seems SetRandomNameToCharacter(ch) for malcolm doesnt work, hes still named malcolm :(
 
Here's another possible approach - rather than check for cabin type, perhaps have you keep your original ship or be stuck with the tartane depending on what you say to Malcolm / Gwen. If you say something reassuring, the crew calm down and you get to keep your ship. If you say something defiant, you're kicked off the ship and stuck with the tartane. The Rogue / Gambler start effectively does this, though it's not obvious. If you pay the jailer, you follow a path which leads you to the heavy lugger. If you wait for your crew to rescue you, you follow a different path which leads you to the fluyt. You could skip all the intermediate stuff and go straight to being given the tartane if you said the wrong thing.

SetRandomNameToCharacter doesn't work for quest characters - it specifically looks for the attribute "questchar" and does not randomise the name if that's set. You'll just have to choose a name for the alternative character if you're going to have someone different based on the cabin type.

Whether you have the tartane or a larger ship, the ship log is still normally used to say how you got it. There's nothing wrong with having the questbook tell you about the sword. I'd be inclined to define your Welsh sailor in "PROGRAM\Storyline\FreePlay\characters\init\TempQuest.c" and have him set to location "", as several other characters are, so he doesn't show up in any other FreePlay game. Then, in "StartStoryline.c", in the Morgen-specific part, put the character somewhere on Cayman. The player can then find him, talk to him, and he could say something more about how to get to the sword. Add a line to the questbook to remind the player what he said, then close down the questbook - or maybe only close it when the player has the sword.
 
Back
Top