1. Dismiss Notice
  2. GOG.com logo

    Thanks to YOUR votes, GOG.com now sells:
    - Sea Dogs - Sea Dogs: Caribbean Tales
    - Sea Dogs: City of Abandoned Ships

    Vote now to add Pirates of the Caribbean to the list!

    Dismiss Notice
  3. Under the Crossbones Podcast

    A Pirate Podcast with Interviews
    Music, Comedy and all things Pirate!

    - Episode Guide - About - Subscribe -
    - Twitter - Facebook - iTunes - Android -
    - Youtube - Fill the Coffers -

    Dismiss Notice
  4. New Horizons logo

    Quick links for PotC: New Horizons
    - Download latest version
    - Wiki - FAQ - Report bugs here
    - ModDB profile

  5. GOF logo

    Quick links for AoP2: Gentlemen of Fortune 2
    - Downloads and info
    - Historical Immersion Supermod
    - ModDB Profile

Dismiss Notice
New to the forum?
Please take a moment to read our Welcome Message and Forum Rules.

Solved Beta 3 - Hard Labors of an Assassin Side Quest

Discussion in 'Tales of a Sea Hawk (Nathanial Hawk)' started by Talisman, Oct 20, 2013.

  1. Talisman

    Talisman Smuggler Storm Modder

    Joined:
    Apr 29, 2009
    Messages:
    2,825
    Gender:
    Male
    Location:
    Hiding From The Coastguard
    In the Hard Labous of an Assassin ( Hitman) side-quest

    The timers for the hits seem to have been changed and now don't work ( the timers close the quest if you look at the quest book after being given the target OR immediately you exit Mateus Santos' house )

    I think the timers should be as follows:

    In quest_reactions.c

    Code:
         case "Hit_timer1":
           PChar.quest.Hit_timer1.win_condition.l1 = "Timer";
           PChar.quest.Hit_timer1.win_condition.l1.date.day = GetAddingDataDay(0, 3, 0);  //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer1.win_condition.l1.date.month = GetAddingDataMonth(0, 3, 0);
           PChar.quest.Hit_timer1.win_condition.l1.date.year = GetAddingDataYear(0, 3, 0);  //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer1.win_condition = "Hit_END_timer";
         break;
    
         case "Hit_timer2":
           PChar.quest.Hit_timer2.win_condition.l1 = "Timer";
           PChar.quest.Hit_timer2.win_condition.l1.date.day = GetAddingDataDay(0, 3, 0);   //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer2.win_condition.l1.date.month = GetAddingDataMonth(0, 3, 0);
           PChar.quest.Hit_timer2.win_condition.l1.date.year = GetAddingDataYear(0, 3, 0);   //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer2.win_condition = "Hit_END_timer";
         break;
    
         case "Hit_timer3":
           PChar.quest.Hit_timer3.win_condition.l1 = "Timer";
           PChar.quest.Hit_timer3.win_condition.l1.date.day = GetAddingDataDay(0, 3, 0);   //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer3.win_condition.l1.date.month = GetAddingDataMonth(0, 3, 0);
           PChar.quest.Hit_timer3.win_condition.l1.date.year = GetAddingDataYear(0, 3, 0);   //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer3.win_condition = "Hit_END_timer";
         break;
    
         case "Hit_timer4":
           PChar.quest.Hit_timer4.win_condition.l1 = "Timer";
           PChar.quest.Hit_timer4.win_condition.l1.date.day = GetAddingDataDay(0, 3, 0);   //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer4.win_condition.l1.date.month = GetAddingDataMonth(0, 3, 0);
           PChar.quest.Hit_timer4.win_condition.l1.date.year = GetAddingDataYear(0, 3, 0);   //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer4.win_condition = "Hit_END_timer";
         break;
    
         case "Hit_timer5":
           PChar.quest.Hit_timer5.win_condition.l1 = "Timer";
           PChar.quest.Hit_timer5.win_condition.l1.date.day = GetAddingDataDay(0, 3, 0);   //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer5.win_condition.l1.date.month = GetAddingDataMonth(0, 3, 0);
           PChar.quest.Hit_timer5.win_condition.l1.date.year = GetAddingDataYear(0, 3, 0);   //TALISMAN was 0,1,0 which closes quest when player exits Santos house right after being given task
           PChar.quest.Hit_timer5.win_condition = "Hit_END_timer";
         break;
    
    

    This will give you the 3 months to do the tasks as stated in the dialog.

    Don't know when it got changed.:shrug


    :drunk
     
  2. Hylie Pistof

    Hylie Pistof Curmudgeon Staff Member QA Tester Storm Modder

    Joined:
    Jan 15, 2010
    Messages:
    13,768
    Gender:
    Male
    I seem to remember some comments about that not long ago. :thumbs1
     
  3. DavyJack

    DavyJack Pirate Queen Storm Modder

    Joined:
    Jun 9, 2013
    Messages:
    1,362
    Gender:
    Female
    Occupation:
    USN
    Alright! :onya -this is good stuff..:D
    ..changed mine now..
     
  4. Talisman

    Talisman Smuggler Storm Modder

    Joined:
    Apr 29, 2009
    Messages:
    2,825
    Gender:
    Male
    Location:
    Hiding From The Coastguard

    :yes

    I can't remember if it was about the version in the Assassin ( Johan Elting story ) or this one. Had a look at Elting and that code seems Ok

    Here is a save in the shipyard next to Santos' house just before going to meet him for the 1st time - if anyone wants to test this in their game. :duel:
     

    Attached Files:

  5. Levis

    Levis Find(Rum) = false; Staff Member Programmer Creative Support Storm Modder

    Joined:
    Oct 6, 2013
    Messages:
    6,705
    Gender:
    Male
    Occupation:
    ICT
    Location:
    University Twente (Netherlands)
    0,1,0 shouldn't close imediatly....you should get a month to do it.
    But I think a little bit more time isn't such a problem. Especially if you use the larger worldmap you really need it.

    So this problem is fixed?
     
    Talisman likes this.
  6. Talisman

    Talisman Smuggler Storm Modder

    Joined:
    Apr 29, 2009
    Messages:
    2,825
    Gender:
    Male
    Location:
    Hiding From The Coastguard
    I agree that it should not close immediately - but where the original timer has
    Code:
    case "Hit_timer1":
           PChar.quest.Hit_timer1.win_condition.l1 = "Timer";
           PChar.quest.Hit_timer1.win_condition.l1.date.day = GetAddingDataDay(0, 1, 0); 
           PChar.quest.Hit_timer1.win_condition.l1.date.month = GetAddingDataMonth(0, 3, 0);
           PChar.quest.Hit_timer1.win_condition.l1.date.year = GetAddingDataYear(0, 1, 0); 
           PChar.quest.Hit_timer1.win_condition = "Hit_END_timer";
         break;
    
    
    

    it does cause it to do so, for some reason. ( I think the code means - 1 month - 3 months - 1 month - But am not sure )

    I think having the 2 different numbers in the month position in the code causes the problems - closes the quest when you exit the location or press F2.

    I don't know why this is :shrug

    I just put the 3 months in there since that is what is in the dialog. but agree you can need that time since the world map has expanded.

    Also helps if you have to do a lot of ship repairs.


    :drunk
     
  7. Levis

    Levis Find(Rum) = false; Staff Member Programmer Creative Support Storm Modder

    Joined:
    Oct 6, 2013
    Messages:
    6,705
    Gender:
    Male
    Occupation:
    ICT
    Location:
    University Twente (Netherlands)
    oh yeah, having 2 different number will make it behave bad :p.
     
    Talisman likes this.
  8. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    66,623
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Thanks, Talisman! :cheers

    Indeed I remember this problem mentioned before, but that was for the Elting storyline.
    But when I tested, I was unable to confirm it. :modding
     
  9. morgan terror

    morgan terror Magnificent bastard Storm Modder News Gatherer

    Joined:
    Oct 31, 2006
    Messages:
    24,963
    Gender:
    Male
    If i'd want to implement this fix in my existing build 14 beta 3 without patching it with a newer version, how would i do it? I'd rather not lose my savegames, you see.
     
  10. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,415
    You'll find the relevant code in one of two places, depending on how old a version of the game you have. It's probably either in "PROGRAM\Storyline\Standard\quests\quests_reaction.c" or in "PROGRAM\QUESTS\quests_side.c". (Or possibly in "PROGRAM\Storyline\Assassin\quests\quests_reaction.c", if you're playing the "Assassin" storyline version of this quest, which is known there as "A Worm in the Apple").

    Find 'case "Hit_timer1":'. It probably looks like this:
    Code:
        case "Hit_timer1":
           PChar.quest.Hit_timer1.win_condition.l1 = "Timer";
           PChar.quest.Hit_timer1.win_condition.l1.date.day = GetAddingDataDay(0, 1, 0);
           PChar.quest.Hit_timer1.win_condition.l1.date.month = GetAddingDataMonth(0, 3, 0);
           PChar.quest.Hit_timer1.win_condition.l1.date.year = GetAddingDataYear(0, 1, 0);
           PChar.quest.Hit_timer1.win_condition = "Hit_END_timer";
         break;
    
    You want it to look like this:
    Code:
        case "Hit_timer1":
           PChar.quest.Hit_timer1.win_condition.l1 = "Timer";
           PChar.quest.Hit_timer1.win_condition.l1.date.day = GetAddingDataDay(0, 3, 0);
           PChar.quest.Hit_timer1.win_condition.l1.date.month = GetAddingDataMonth(0, 3, 0);
           PChar.quest.Hit_timer1.win_condition.l1.date.year = GetAddingDataYear(0, 3, 0);
           PChar.quest.Hit_timer1.win_condition = "Hit_END_timer";
         break;
    Replace the "1" with "3" in 'GetAddingDataDay(0, 1, 0);' and 'GetAddingDataYear(0, 1, 0);'.

    You will also need to make the same change at 'case "Hit_timer2"', 'case "Hit_timer3"', 'case "Hit_timer4"' and 'case "Hit_timer5"'.

    Editing any of these files won't cause enough of a change to require a new game. You will, however, need to reload a savegame from before you accepted the first assassination mission, because the timer will already be wrongly set in any savegame after you accepted the mission.
     
    morgan terror and Pieter Boelen like this.
  11. morgan terror

    morgan terror Magnificent bastard Storm Modder News Gatherer

    Joined:
    Oct 31, 2006
    Messages:
    24,963
    Gender:
    Male
    Sorry for the late response, but i had a look at this, and it was apparently already fixed in my version. Thanks for the help!
     
    Pieter Boelen likes this.

Share This Page