Post reply

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.
Name:
Email:
Subject:
Message icon:

Verification:
Type the letters shown in the picture
Listen to the letters / Request another image

Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?:

shortcuts: hit alt+s to submit/post or alt+p to preview


Topic Summary

Posted by: jastey
« on: April 23, 2014, 10:44:09 AM »

Next problem: In BGT, the patching doesn't work
Quote
REPLACE_ACTION_TEXT %tutu_var%harbor ~EscapeArea()~ ~MoveToPoint([431.171])

because it is "EscapeAreaDestroy(90)"

How would I write the code so it patches both (all) instances? EDIT: Problem solved, I have the general code. Thank you, Ardanis! The next version will also install on BGT.
Posted by: jastey
« on: April 23, 2014, 10:07:02 AM »

The trigger ~Dead("Rashad") Global("EltanMove","GLOBAL",0)~ doesn't seem to work for BGT. I am waiting for a test result, but I'll probably change it to only ~Global("EltanMove","GLOBAL",0)~.

EDIT: OK, test result positive. The next version will have the corrected trigger.
Posted by: jastey
« on: April 13, 2014, 05:26:42 AM »

The new version (14-04-13) will have the above code implemented.

It introduces a slight inconsistency, as the Harbor Master and the journal entry state that she will bring Duke Eltan to a safe place. Do not install the component, if this disturbs you.
Posted by: jastey
« on: April 13, 2014, 05:20:28 AM »

I know Tutu is still being played, but it's good to get feedback once in a while! :)

I am about to silently stop support for vanilla BG1, though. Not for BG1UB, and probably not for my own BG1 mods that are already available (including BG1RE), but for any new mod I'll write. The engine restrictions are vexing, and there I think assuming players don't play it any more is a valid assumption.
Posted by: Cybersquirt
« on: April 13, 2014, 04:45:26 AM »

Thank you for keeping Tutu in mind. :kiss:
Posted by: jastey
« on: April 13, 2014, 02:48:17 AM »

This is the code that works on BG:EE, Tutu, and BGT:

Quote
ACTION_IF GAME_IS ~tutu tutu_totsc bgt bgee~ THEN BEGIN

<<<<<<<< ...inlined/harbor.d
REPLACE_ACTION_TEXT %tutu_var%harbor ~EscapeArea()~ ~MoveToPoint([431.171])
CreateCreatureImpassable("%tutu_var%DELTAN2",[449.121],14)
Wait(1)
MoveToPoint([461.197])
Face(0)
DialogInterrupt(TRUE)~
REPLACE_ACTION_TEXT %tutu_var%harbor ~ActionOverride("Eltan2",SetNumTimesTalkedTo(100))~ ~DestroyItem("%tutu_var%MISC55")~
ADD_TRANS_ACTION %tutu_var%harbor BEGIN 9 END BEGIN END ~DialogInterrupt(FALSE)~
REPLACE_TRIGGER_TEXT %tutu_var%deltan2 ~True()~ ~Dead("Rashad") Global("EltanMove","GLOBAL",0)~
ADD_STATE_TRIGGER %tutu_var%deltan2 1 ~Global("EltanMove","GLOBAL",1)~
ADD_TRANS_ACTION %tutu_var%deltan2 BEGIN 1 END BEGIN END ~SetGlobal("EltanMove","GLOBAL",2)~
ADD_STATE_TRIGGER %tutu_var%deltan2 2 ~Global("EltanMove","GLOBAL",2)~
>>>>>>>>
COMPILE EVALUATE_BUFFER ~...inlined/harbor.d~

END

Since the cre cannot be created on the bench for vanilla BG1, I would go with something along the lines of your version for it, but let "DELTAN.cre" be spawned, so he doesn't lie on the floor... This works:
Quote
ACTION_IF GAME_IS ~bg1 totsc~ THEN BEGIN

<<<<<<<< ...inlined/harbor.d
REPLACE_ACTION_TEXT harbor ~EscapeArea()~ ~MoveToPoint([406.206])
CreateCreature("DELTAN",[426.160]%FACE_0%)
ActionOverride("Eltan",DestroyItem("PLAT04"))
ActionOverride("Eltan",DestroyItem("SHLD03"))
ActionOverride("Eltan",DestroyItem("SW1H05"))
ActionOverride("Eltan",DestroyItem("BOOK68"))
Wait(1)
MoveToPoint([465.193])
Face(2)
DialogInterrupt(TRUE)~
REPLACE_ACTION_TEXT harbor ~ActionOverride("Eltan2",SetNumTimesTalkedTo(100))~ ~DestroyItem("%tutu_var%MISC55")~
ADD_TRANS_ACTION harbor BEGIN 9 END BEGIN END ~DialogInterrupt(FALSE)~
>>>>>>>>
COMPILE EVALUATE_BUFFER ~...inlined/harbor.d~
END

BG1RE is my current mod project in testing "Romantic Encounters for BG1" which has a component "Duke Eltan's Spare Minute" and introduces Duke Eltan into the Harbor Master's Building with additional dialogue (patched on to the original one). I am using your code there, too, so I was worried about compatibility. Currently, if the above code is applied by two mods, the patching is only done once, but the "DialogInterrupt(FALSE)" is then present two times in a row. This doesn't have any influence in the game, though, so I guess I'll declare the two mods compatible.
Posted by: Balquo
« on: April 13, 2014, 12:18:05 AM »

I actually have no idea on getting things working for other version. That is something I would need to look into. What is BG1RE?
Posted by: jastey
« on: April 12, 2014, 03:24:41 PM »

I would like to use your code for the BG1RE component, too. How would I make this code compatible? Do I have to work with a marker file in the override? Or would the doubled ADD_ patches work if doubled, too?
Posted by: jastey
« on: April 12, 2014, 01:10:38 PM »

Without having checked, but yes, the CreateCreatureImpassable will be the problem for BG1.

I could still fiddle something for classic BG1 and use your solution for all the other games. I really like it!
Posted by: Balquo
« on: April 12, 2014, 11:41:39 AM »

Oh, CreateCreatureImpassable doesn't exist. I assume that is the problem then?
Posted by: Balquo
« on: April 12, 2014, 11:12:28 AM »

Ah, good catch.

Replace:
Quote
REPLACE_ACTION_TEXT harbor ~EraseJournalEntry(27137)~ ~DialogInterrupt(FALSE)~
with
Quote
ADD_TRANS_ACTION harbor BEGIN 9 END BEGIN END ~DialogInterrupt(FALSE)~

and that will fix the "bug" and make it work in BG1... assuming that was the problem?
Posted by: jastey
« on: April 12, 2014, 02:01:32 AM »

Oh, that is beautiful! (It won't work in BG1, though.)

Only question: Why do you replace the "EraseJournalEntry(27137)"? I'd prefer keeping it in, and changing the one line to

REPLACE_ACTION_TEXT harbor ~EraseJournalEntry(27137)~ ~DialogInterrupt(FALSE) EraseJournalEntry(27137)~
Posted by: Balquo
« on: April 12, 2014, 01:15:39 AM »

I suppose it makes more sense her leaving with the Duke, as anyone could have followed you there and killed them once you left.

I was playing around with this: check in bgee
Quote
<<<<<<<< ...inlined/harbor.d
REPLACE_ACTION_TEXT harbor ~EscapeArea()~ ~MoveToPoint([431.171])
CreateCreatureImpassable("DELTAN2",[449.121],14)
Wait(1)
MoveToPoint([461.197])
Face(0)
DialogInterrupt(TRUE)~
REPLACE_ACTION_TEXT harbor ~ActionOverride("Eltan2",SetNumTimesTalkedTo(100))~ ~DestroyItem("MISC55")~
REPLACE_ACTION_TEXT harbor ~EraseJournalEntry(27137)~ ~DialogInterrupt(FALSE)~
REPLACE_TRIGGER_TEXT deltan2 ~True()~ ~Dead("Rashad") Global("EltanMove","GLOBAL",0)~
ADD_STATE_TRIGGER deltan2 1 ~Global("EltanMove","GLOBAL",1)~
ADD_TRANS_ACTION deltan2 BEGIN 1 END BEGIN END ~SetGlobal("EltanMove","GLOBAL",2)~
ADD_STATE_TRIGGER deltan2 2 ~Global("EltanMove","GLOBAL",2)~
>>>>>>>>
COMPILE ~...inlined/harbor.d~
Posted by: jastey
« on: April 11, 2014, 03:47:26 PM »

The component doesn't work for Tutu: The trigger of Lord Eltan's first line has to be changed from false to the trigger variable.

I am thinking about takijng the component down - the Harbor Master states she will bring Lord Eltan to a safe place, it makes little sense for her to remain there, then, and even less for Eltan to be in the Harbor Master's Building.

Hmpf. :)
Posted by: jastey
« on: April 10, 2014, 03:13:15 AM »

Yes, that's probably also the reason why he isn't there. Hm.