• 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!

Mod Release Levis' Stuff [October 7th (v2)]

@Pieter Boelen where is the function again which resets all fantoms etc?
I think I've found a problem with this function :p.
 
@Pieter Boelen where is the function again which resets all fantoms etc?
I think I've found a problem with this function :p.
Which one do you mean? The only one that 'clears' all sorts of attributes on characters being reused that I can find is LAi_CreateFantomCharacterExOt .
We were considering changing that to use ClearCharacter, but decided against that for now.

Or are you looking for something else?
 
Which one do you mean? The only one that 'clears' all sorts of attributes on characters being reused that I can find is LAi_CreateFantomCharacterExOt .
We were considering changing that to use ClearCharacter, but decided against that for now.

Or are you looking for something else?
Hmmm must have overlooked it ...
Will take an extra look....maybe I just need to do differently what I had in mind.
 
Ah this is the line I was looking for:
Code:
if (HasSubStr(chr.id, "Enc_Officer_") && !bAllies(chr)) ClearCharacter(chr);

this is how bAllies looks now:
Code:
bool bAllies(ref refCharacter)
{
    if(!CheckAttribute(refCharacter,"index"))            return false;
    if(sti(refCharacter.index)==-1)                        return false;

    if(IsMainCharacter(refCharacter))                    return true;
    if(IsCompanion(refCharacter))                        return true;
    if(IsOfficer(refCharacter))                            return true;
    if(IsOfficerCompanion(refCharacter))                return true;
    if(IsPassenger(refCharacter))                        return true;
    if(IsOnShoreLeave(refCharacter))                    return true;
    if(IsOfficerOnShoreLeave(refCharacter))                return true;
    if(CheckAttribute(refCharacter, "StoredFellow"))    return true; // PB: Prevent these characters being overwritten
    return false;
}

So why do we need the Enc_Officer check there?
@Pieter Boelen do you see any reason why not to remove the check for enc_officer substring?
If I do that I can transfer fantomcharacters to other scenes easily
 
If you ask a tavern owner for a specific type of officer, that officer should be cleared when you leave the location.
That is what it was for. If it still does that, I imagine your new version should do fine. :doff
 
First post update again. mostly questwork because I didn't want to do bugfixing for a change.
I will go back to bugfixing very soon ;).

I do hope people will test this quest. It's mostly experimenting from my part to see what is possible so I can use the experience once I'm going to make the smuggling quests.
 
First post update again. mostly questwork because I didn't want to do bugfixing for a change.
I will go back to bugfixing very soon ;).
As much as I like good new stuff, I myself have been deliberately holding off on doing NEW stuff for many, many months now because there is still too much unfinished/broken crap.
But I know what you mean with "not wanting to do bugfixing for a change". I've been having the same for, well.... many, many months now! :razz
 
As much as I like good new stuff, I myself have been deliberately holding off on doing NEW stuff for many, many months now because there is still too much unfinished/broken crap.
But I know what you mean with "not wanting to do bugfixing for a change". I've been having the same for, well.... many, many months now! :razz
It's just a small quest which I did need because of the fetchquest not showing up enough. And I need another place to sell ayahuasca when aruba is disabled.
So I fixing problems here too ;).
 
Fair enough. :cheers

By the way, what does this do?
Code:
if(skillval == 10 || xi_refCharacter.skill.(curSkill) == 0)

And does "Link.l0" in a dialog even work at all? :shock
 
Fair enough. :cheers

By the way, what does this do?
Code:
if(skillval == 10 || xi_refCharacter.skill.(curSkill) == 0)

Say you got level 1 in a skill and you got an item or modifier which lowers you skill then it will show it as 0 but it will still show the percentage.
When the skill is really set on 0 from the start (used for some characters) it wont show the percentage because this skill wont level at all (thats used by some questchars).
 
And this:
Code:
GetCharacterSkill(attack,"fencing")
May be even better as:
Code:
GetCharacterSkill(attack, SKILL_FENCING)
For some reason, those #defines aren't always consistently used, which is ANNOYING! :whipa
 
And this:
Code:
GetCharacterSkill(attack,"fencing")
May be even better as:
Code:
GetCharacterSkill(attack, SKILL_FENCING)
For some reason, those #defines aren't always consistently used, which is ANNOYING! :whipa
yeah at one point we just need to have a global replace of those things :p
 
Code:
       DeleteAttribute(&Stores[GREENFORD_STORE],"apothecary"); //Remove from array so fetch quest won't pick it anymore
@Levis, is that necessary? It is still nice to have for variety's sake, no?
 
Also:
Code:
      string boardermodel_val = "";
       if (CheckAttribute(PChar, "Boarder.Model"))
       {
         boardermodel_val = PChar.Boarder.Model;
       }
       else
       {
         boardermodel_val = BOARDERMODEL;
       }
       string gmodel = "";
       if (boardermodel_val == "") // KK
       {
         model = LAi_GetBoardingModel(PChar, &ani);   //ccc original code // KK
       }
       else
       {
         //Levis TODO: Move this to seperate function
         switch(boardermodel_val)
         {
           case "skeleton": gmodel = SelectBoardingGroup("skel", 1, 4, 1, "man"); model = ExtractBoarderModel(gmodel); break;
           case "corsair": gmodel = SelectBoardingGroup("corsair", 1, 5, 1, "man"); model = ExtractBoarderModel(gmodel); break;
           case "marine": gmodel = SelectBoardingGroup("rn_warnt18_", 1, 5, 1, "man"); model = ExtractBoarderModel(gmodel); break;
           case "masked": gmodel = SelectBoardingGroup("mask_", 2, 4, 1, "man"); model = ExtractBoarderModel(gmodel); break;
           case "girl": gmodel = SelectBoardingGroup("towngirl", 1, 7, 1, "woman"); model = ExtractBoarderModel(gmodel); break;
           case "soldier": gmodel = SelectBoardingSoldiers(sti(PChar.nation), 1); model = ExtractBoarderModel(gmodel); break;
           case "boarder": gmodel = SelectBoardingBoarders(1); model = ExtractBoarderModel(gmodel); break;
           case "standard": model = LAi_GetBoardingModel(PChar, &ani); break;
         }
       }
^ That stuff REALLY needs to be cleaned up some time. Now I just know I'll forget that one when I finally get to it.
Would it be possible to just use a default model?
 
thats why I added a TODO comment. Try to do that every time I see something which still needs work so I can just search for that later.
 
Code:
       DeleteAttribute(&Stores[GREENFORD_STORE],"apothecary"); //Remove from array so fetch quest won't pick it anymore
@Levis, is that necessary? It is still nice to have for variety's sake, no?
Yes its necessary, read the spoiler in the first post to know why. This only happens if you make the "bad" choises
 
One question we may have to consider: Is the Church not being excessively nasty here?
I could imagine some people to consider at least some events there to be a bit controversial....
 
One question we may have to consider: Is the Church not being excessively nasty here?
I could imagine some people to consider at least some events there to be a bit controversial....
They aren't doing anything they haven't done during that time period .... We want historical accuracy right :p?
I don't think this is controversial or anything ...
 
I know the Church was quite against science for quite a while, yes.
But next thing you know, we end up offending people and I'd really like to keep more controverse far, far away from us.
I've had enough of that last week....

What if one of the options in the story shows you that it was the evil father from the Strange Things sidequest who was responsible?
Possibly combined with a possession that came from that Abbey next door.
Then it is still in there all the same, but also shows it is one person with an obvious evil element in there.
 
Back
Top