Author Topic: Offering new component for UB  (Read 43666 times)

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #100 on: February 27, 2012, 10:11:48 AM »
If the code syntax was the main reason for you to put reply options then I say skip them. I wouldn't mind Prism to jump to conclusions: His world consist of his emeralds, his statue and Greywolf. He assumes the PC to be Greywolf in the original game, so I think he would assume anyone being there has taken his gems.

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #101 on: February 27, 2012, 10:44:25 AM »
ok took your suggestion with the transition to state 4.
added some additional options and adjusted text a bit.

Also prism's script is set to notice that the gems are gone and if both are gone add a journal entry about the player having stolen the gems.

needs testing but everything should work.
the dialog changes
Code: [Select]
//OublekBounty1 is for brage
//OublekBounty2 is for prism
//the oublekbounty globals will prevent any exploits by dropping a second item and trying to get the full reward again
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty1","GLOBAL",0)~ DO 0 UNLESS ~Global("OublekBounty1","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty2","GLOBAL",0)~ DO 1 UNLESS ~Global("OublekBounty2","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty1","GLOBAL",0) Global("OublekBounty2","GLOBAL",0)~ DO 4 UNLESS ~Global("OublekBounty2","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 10 ~Global("OublekBounty1","GLOBAL",0)~ DO 1 5 UNLESS ~Global("OublekBounty1","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 10 ~Global("OublekBounty2","GLOBAL",0)~ DO 9 5 UNLESS ~Global("OublekBounty2","GLOBAL",0)~

//changing from one item to two ensures that players can not take advantage of dropping one item and trying to get the full reward twice
REPLACE_TRANS_TRIGGER oublek BEGIN 9 END BEGIN 1 END ~PartyHasItem("MISC43")~ ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 9 END BEGIN 4 END ~!PartyHasItem("MISC43")~ ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 10 END BEGIN 9 END ~PartyHasItem("MISC43")~ ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 10 END BEGIN 5 END ~!PartyHasItem("MISC43")~ ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~
REPLACE_TRANS_ACTION oublek BEGIN 14 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~
REPLACE_TRANS_ACTION oublek BEGIN 4 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~~
REPLACE_TRANS_ACTION oublek BEGIN 4 END BEGIN 0 END ~GivePartyGold(300)~ ~GivePartyGold(300) TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~

//adding new states that give half the reward when only one item gets turned in
APPEND oublek
IF ~~ THEN BEGIN abLeftEye
  SAY ~One of the Emeralds! That will be a 150 gold bounty for you.  Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abRightEye
  SAY ~One of the Emeralds! That will be a 150 gold bounty for you.  Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abLeftEyeLast
  SAY ~The last of the Emeralds! That will be another 150 gold bounty for you. Well, you'll make quite a name for yourself among the bounty hunters if you keep this up.  Whether it is for better or worse, I do not know.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abRightEyeLast
  SAY ~The last of the Emeralds! That will be another 150 gold bounty for you. Well, you'll make quite a name for yourself among the bounty hunters if you keep this up.  Whether it is for better or worse, I do not know.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1) ~ EXIT
END

END //end the append

//adding additional transitions that allow the player to turn in only one of the two required items for good boy
EXTEND_BOTTOM oublek 9
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO abLeftEye
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO abRightEye
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_RightEyeBounty","GLOBAL",1)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO abLeftEyeLast
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",1)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO abRightEyeLast
END //end the extend bottom

//adding additional transitions that continue to keep 'bad boy' player from getting full reward. If they turn in only one gem, they get rewarded but can't turn in the other or resolve brage issue with oublek. It is an overall punishment when compared to 'good boy' rewards.
EXTEND_BOTTOM oublek 10
IF ~Global("OublekBounty2","GLOBAL",0) PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("BroughtBounty","GLOBAL",1)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO 14
IF ~Global("OublekBounty2","GLOBAL",0) !PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("BroughtBounty","GLOBAL",1)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO 14
END //end the extend bottom

//adjustments needed for prism to work with the rest of the component
ADD_STATE_TRIGGER prism 0 ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself)~

//REPLACE_TRANS_ACTION prism BEGIN 7 END BEGIN 0 moved to separate files for BGT+Tutu / BG
REPLACE_TRANS_ACTION prism BEGIN 7 END BEGIN 0 END ~DropInventory()~
~DestroyItem("abgfEyeL") DestroyItem("abgfEyeR") SetGlobal("abgf_GemInEye","GLOBAL",1)~

//Make sure the containers are empty if Prism can't put in the gems any more.
//ONLY apply if the emeralds really cannot be returned to Prism
//state 3 is where player attacks prism so gems need removed from eyes
//state 8 is where player has previously stolen the gems from off of Prism so gems need removed from eyes
//state 9 is where player backed off and let Greywolf have Prism & the gems so gems need removed from eyes
ADD_TRANS_ACTION prism BEGIN 3 8 9 END BEGIN 0 END ~Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL"))~

//set state 8 to be a repeat state if prism is talked to again after the gems were stolen and no longer retrievable
ADD_STATE_TRIGGER prism 8 ~Global("ab_GemStoleResolve","GLOBAL",1) Global("ab_GemsTrulyGone","GLOBAL",1)~

REPLACE_TRANS_ACTION prism BEGIN 9 END BEGIN 0 END ~GiveItem("MISC43","GREYWOLF")~
~GiveItem("abgfEyeL","GREYWOLF") GiveItem("abgfEyeR","GREYWOLF") SetGlobal("abgf_GemInEye","GLOBAL",3)~

ADD_TRANS_ACTION prism BEGIN 4 END BEGIN 0 END ~SetGlobal("abCalledGreywolf","GLOBAL",1)~
//anything not one means that either the gems were not in container when obtained OR the penalty was applied
//only way to get items if player allowed greywolf to attack prism is to attack greywolf before prism is dead and hopefully kill him before he runs away.

//allow prism to return to correct location after having moved to catch up with player
ADD_TRANS_ACTION prism BEGIN 5 8 END BEGIN 0 END ~ActionOverride("Prism",MoveToPoint([641.2713]))~

APPEND prism
//if prism still has both gems but player managed to get one of them out of the statue before prism initiates dialog
//rep loss of 1 if you take a gem from the statue and get caught by prism.
IF ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) PartyHasItem("abgfEyeL") Global("ab_GemsTrulyGone","GLOBAL",0)~ THEN BEGIN abMidWorkL
 SAY ~How dare you! How dare you take the sparkle from her eyes!~
 IF ~~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) DestroyItem("abgfEyeL") Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
END
IF ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) PartyHasItem("abgfEyeR") Global("ab_GemsTrulyGone","GLOBAL",0)~ THEN BEGIN abMidWorkR
 SAY ~How dare you! How dare you take the sparkle from her eyes!~
 IF ~~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) DestroyItem("abgfEyeR") Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
END
//if prism still has both gems & player never tried to loot the eyes
IF ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) !PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abCalledGreywolf","GLOBAL",0)~ THEN BEGIN stillworking
 SAY ~I've much work to do. But mayhaps you would help a foolish sculptor finish this epiphany now?  Please, guard this place, for surely Greywolf will come.  I will pay with my last possessions!~
 COPY_TRANS prism 1
END

//prism initiates if both are missing and asks where they went
IF ~!HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) Global("ab_GemStoleResolve","GLOBAL",0)~ THEN BEGIN abBothGone
 SAY ~They're gone! They're missing! My emeralds are missing! You! You there did you take them? Do you know where they went?~
 IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 REPLY ~You sure are slow on the uptake. Took those things some time ago.~
 GOTO abBothStoleButGone
 IF ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Would these be what you are looking for?~
 GOTO abBothStole
 IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Aye, I took them. Still have one. The other tho is long gone.~
 GOTO abBothStoleButOneGone
 IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Aye, I took them. Still have one. The other tho is long gone.~
 GOTO abBothStoleButOneGone
 IF ~~ THEN
 REPLY ~I have no clue what you are talking about.~
 GOTO 8
END

//prism initiates if left gem is missing and asks where it went
IF ~!HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("ab_GemStoleResolve","GLOBAL",0)~ THEN BEGIN abLeftGone
 SAY ~It's missing! It's missing! My emerald is missing! You! You there did you take it? Do you know where it went?~
 IF ~!PartyHasItem("abgfEyeL")~ THEN
 REPLY ~You sure are slow on the uptake. Took that thing some time ago.~
 GOTO abNotGetBackEver
 IF ~PartyHasItem("abgfEyeL")~ THEN
 REPLY ~Would this be what you are looking for?~
 GOTO abLeftStole
 IF ~~ THEN
 REPLY ~I have no clue what you are talking about.~
 GOTO 8
END

//prism initiates if right gem is missing and asks where it went
IF ~HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) Global("ab_GemStoleResolve","GLOBAL",0)~ THEN BEGIN abRightGone
 SAY ~It's missing! It's missing! My emerald is missing! You! You there did you take it? Do you know where it went?~
 IF ~!PartyHasItem("abgfEyeR")~ THEN
 REPLY ~You sure are slow on the uptake. Took that thing some time ago.~
 GOTO abNotGetBackEver
 IF ~PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Would this be what you are looking for?~
 GOTO abRightStole
 IF ~~ THEN
 REPLY ~I have no clue what you are talking about.~
 GOTO 8
END

IF ~!HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~ THEN BEGIN abBothStole
 SAY ~My emeralds! I must have them back. I need them to finish this epiphany. Please, please return them. I will give you all else that is mine.~
  IF ~Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY #4750
  DO ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR") SetGlobal("ab_GemStoleResolve","GLOBAL",1)~
  GOTO 4
  IF ~Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY #4751
  DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1)~
  GOTO 3
END

IF ~HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) PartyHasItem("abgfEyeR")~ THEN BEGIN abRightStole
 SAY ~My emerald! I must have it back. I need it to finish this epiphany. Please, please return it. I will give you all else that is mine.~
  IF ~Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~All that is yours, eh?  So be it.~
  DO ~TakePartyItem("abgfEyeR") SetGlobal("ab_GemStoleResolve","GLOBAL",1)~
  GOTO 4
  IF ~Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~"All else that is yours" does not concern me.  I'm taking you and the gems to the guard, where I shall get a hefty reward.~
  DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1)~
  GOTO 3
END

IF ~!HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) PartyHasItem("abgfEyeL")~ THEN BEGIN abLeftStole
 SAY ~My emerald! I must have it back. I need it to finish this epiphany. Please, please return it. I will give you all else that is mine.~
  IF ~Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~All that is yours, eh?  So be it.~
  DO ~TakePartyItem("abgfEyeL") SetGlobal("ab_GemStoleResolve","GLOBAL",1)~
  GOTO 4
  IF ~Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~"All else that is yours" does not concern me.  I'm taking you and the gems to the guard, where I shall get a hefty reward.~
  DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1)~
  GOTO 3
END

IF ~!HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) !PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN BEGIN abBothStoleButGone
 SAY ~My emeralds! I must have them back. I need them to finish this epiphany. Please, please return them. I will give you all else that is mine.~
  IF ~Global("OublekBounty2","GLOBAL",1)~ THEN
  REPLY ~They are gone. Given to the authorities. You will never finish that lump of stone now.~
  DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
  GOTO 8
  IF ~Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~They are gone. Sold by now to hang on the neck as some fat woman's trinket.~
  DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
  GOTO 8
  IF ~~ THEN
  REPLY ~The gems may be gone, but I'll gladly take all else that is yours. Prepare to die.~
  DO ~Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") Enemy()~
  EXIT
END

IF ~~ THEN BEGIN abNotGetBackEver
 SAY ~Give it back please. I must finish this epiphany. I will give you all else that is mine.~
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. Sold to some forgotten merchant or stashed in some forgotten place.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~~ THEN
 REPLY ~The gem may be gone, but I'll gladly take all else that is yours. Prepare to die.~
 DO ~Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") Enemy()~
 EXIT
END

IF ~~ THEN BEGIN abBothStoleButOneGone
 SAY ~Give me the one you have. Go get the other and bring it back. I must finish this epiphany. I will give you all else that is mine.~
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. Sold to some forgotten merchant or stashed in some forgotten place.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemStoleResolve","GLOBAL",1) SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~~ THEN
 REPLY ~The gem may be gone, but I'll gladly take all else that is yours. Prepare to die.~
 DO ~Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") Enemy()~
 EXIT
END

END//end the append
prism's script
Code: [Select]
IF
  !HasItem("abgfEyeL",Myself)
  Global("abPrismLEyeGone","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("abPrismLEyeGone","GLOBAL",1)
END

IF
  !HasItem("abgfEyeR",Myself)
  Global("abPrismREyeGone","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("abPrismREyeGone","GLOBAL",1)
END

IF
  Global("abPrismLEyeGone","GLOBAL",1)
  Global("abPrismREyeGone","GLOBAL",1)
THEN
  RESPONSE #100
    AddJournalEntry(~That fool Prism really should keep better watch over his work area. I snagged some gems while he wasn't looking. Loss for him. Profit for me.~)
END

IF
  See([PC])
  !Range(LastSeenBy,4)
THEN
  RESPONSE #100
    ClearActions(Myself)
    MoveToPoint([641.2713])
END

IF
  Dead("Greywolf")
  See([PC])
  Range(LastSeenBy,4)
THEN
  RESPONSE #100
    SetGlobal("abgf_PrismTalk","LOCALS",1)
    Dialogue([PC])
END

IF
  See([PC])
  Range(LastSeenBy,4)
  !Global("ab_GemsTrulyGone","GLOBAL",1)
  !Global("abCalledGreywolf","GLOBAL",1)
THEN
  RESPONSE #100
    Wait(2)
    Dialogue([PC])
END

//if turned hostile
IF
  Allegiance(Myself,ENEMY)
  Global("abgf_GemInEye","GLOBAL",0)
THEN
  RESPONSE #100
    Unlock("A6StatueRightEye")
    Unlock("A6StatueLeftEye")
    ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR"))
    ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL"))
    Attack(NearestEnemyOf(Myself))
END
//if died while blue circle
IF
  Die()
  Global("abgf_GemInEye","GLOBAL",0)
THEN
  RESPONSE #100
    Unlock("A6StatueRightEye")
    Unlock("A6StatueLeftEye")
    ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR"))
    ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL"))
END
and you posted while i was working on all this  LOL  takes up time when you are watching Doctor Who in the middle of composing a post :P   If you can shorten it but make sure all angles of prism & player having/not having gems are covered that would be great.  otherwise I think this will do.

reason i did the global checks in the script was i had originally thought to use them in the dialog file, but realized that doing so was the same as using combinations of hasitem and partyhasitem checks.  i suppose it could be shorted down to the hasitem checks rather than the global...
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #102 on: February 27, 2012, 11:09:56 AM »
Having different reply options is fine. Thank you for adding those! I will make a quick test run myself. (I should stop Tutu-ing the whole thing until you call it final..)

What did you men with the globals? Do you mean there are variables set that aren't really needed? In that case it would be great to "clean" the code again.

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #103 on: February 27, 2012, 12:01:58 PM »
Quote
What did you men with the globals? Do you mean there are variables set that aren't really needed? In that case it would be great to "clean" the code again.
ok ok i'll go 'clean' it and test it a little (at least the installation of it).
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #104 on: February 27, 2012, 02:04:34 PM »
ok cleaned it up.
you were right that the dialog was kinda redundant in places
the container now forces prism to initiate dialog.
prism's script will cause him to initiate dialog with a wait of 1 and range of 4 if either or both gems are taken off his person.
else he will not initiate if you approach him.
it is possible to pickpocket and run out of range.

give it a try and see what you think.  i hope this can make it done...
dialog changes
Code: [Select]
//OublekBounty1 is for brage
//OublekBounty2 is for prism
//the oublekbounty globals will prevent any exploits by dropping a second item and trying to get the full reward again
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty1","GLOBAL",0)~ DO 0 UNLESS ~Global("OublekBounty1","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty2","GLOBAL",0)~ DO 1 UNLESS ~Global("OublekBounty2","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty1","GLOBAL",0) Global("OublekBounty2","GLOBAL",0)~ DO 4 UNLESS ~Global("OublekBounty2","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 10 ~Global("OublekBounty1","GLOBAL",0)~ DO 1 5 UNLESS ~Global("OublekBounty1","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 10 ~Global("OublekBounty2","GLOBAL",0)~ DO 9 5 UNLESS ~Global("OublekBounty2","GLOBAL",0)~

//changing from one item to two ensures that players can not take advantage of dropping one item and trying to get the full reward twice
REPLACE_TRANS_TRIGGER oublek BEGIN 9 END BEGIN 1 END ~PartyHasItem("MISC43")~ ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 9 END BEGIN 4 END ~!PartyHasItem("MISC43")~ ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 10 END BEGIN 9 END ~PartyHasItem("MISC43")~ ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 10 END BEGIN 5 END ~!PartyHasItem("MISC43")~ ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~
REPLACE_TRANS_ACTION oublek BEGIN 14 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~
REPLACE_TRANS_ACTION oublek BEGIN 4 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~~
REPLACE_TRANS_ACTION oublek BEGIN 4 END BEGIN 0 END ~GivePartyGold(300)~ ~GivePartyGold(300) TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~

//adding new states that give half the reward when only one item gets turned in
APPEND oublek
IF ~~ THEN BEGIN abLeftEye
  SAY ~One of the Emeralds! That will be a 150 gold bounty for you.  Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abRightEye
  SAY ~One of the Emeralds! That will be a 150 gold bounty for you.  Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abLeftEyeLast
  SAY ~The last of the Emeralds! That will be another 150 gold bounty for you. Well, you'll make quite a name for yourself among the bounty hunters if you keep this up.  Whether it is for better or worse, I do not know.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abRightEyeLast
  SAY ~The last of the Emeralds! That will be another 150 gold bounty for you. Well, you'll make quite a name for yourself among the bounty hunters if you keep this up.  Whether it is for better or worse, I do not know.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1) ~ EXIT
END

END //end the append

//adding additional transitions that allow the player to turn in only one of the two required items for good boy
EXTEND_BOTTOM oublek 9
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO abLeftEye
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO abRightEye
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_RightEyeBounty","GLOBAL",1)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO abLeftEyeLast
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",1)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO abRightEyeLast
END //end the extend bottom

//adding additional transitions that continue to keep 'bad boy' player from getting full reward. If they turn in only one gem, they get rewarded but can't turn in the other or resolve brage issue with oublek. It is an overall punishment when compared to 'good boy' rewards.
EXTEND_BOTTOM oublek 10
IF ~Global("OublekBounty2","GLOBAL",0) PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("BroughtBounty","GLOBAL",1)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO 14
IF ~Global("OublekBounty2","GLOBAL",0) !PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("BroughtBounty","GLOBAL",1)~
THEN REPLY ~I've come to turn in a bounty, and collect the reward that is duly mine.~ GOTO 14
END //end the extend bottom

//adjustments needed for prism to work with the rest of the component
ADD_STATE_TRIGGER prism 0 ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0)~

//REPLACE_TRANS_ACTION prism BEGIN 7 END BEGIN 0 moved to separate files for BGT+Tutu / BG
REPLACE_TRANS_ACTION prism BEGIN 7 END BEGIN 0 END ~DropInventory()~
~DestroyItem("abgfEyeL") DestroyItem("abgfEyeR") SetGlobal("abgf_GemInEye","GLOBAL",1)~

//Make sure the containers are empty if Prism can't put in the gems any more.
//ONLY apply if the emeralds really cannot be returned to Prism
//state 3 is where player attacks prism so gems need removed from eyes
//state 8 is where player has previously stolen the gems from off of Prism so gems need removed from eyes
//state 9 is where player backed off and let Greywolf have Prism & the gems so gems need removed from eyes
ADD_TRANS_ACTION prism BEGIN 3 8 9 END BEGIN 0 END ~Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL"))~

//set state 8 to be a repeat state if prism is talked to again after the gems were stolen and no longer retrievable
ADD_STATE_TRIGGER prism 8 ~Global("ab_GemsTrulyGone","GLOBAL",1)~

REPLACE_TRANS_ACTION prism BEGIN 9 END BEGIN 0 END ~GiveItem("MISC43","GREYWOLF")~
~GiveItem("abgfEyeL","GREYWOLF") GiveItem("abgfEyeR","GREYWOLF") SetGlobal("abgf_GemInEye","GLOBAL",3)~

ADD_TRANS_ACTION prism BEGIN 4 END BEGIN 0 END ~SetGlobal("abCalledGreywolf","GLOBAL",1)~
//anything not one means that either the gems were not in container when obtained OR the penalty was applied
//only way to get items if player allowed greywolf to attack prism is to attack greywolf before prism is dead and hopefully kill him before he runs away.

//allow prism to return to correct location after having moved to catch up with player
ADD_TRANS_ACTION prism BEGIN 5 8 END BEGIN 0 END ~ActionOverride("Prism",MoveToPoint([641.2713]))~

APPEND prism
//if prism still has both gems but player managed to get one of them out of the statue before prism initiates dialog
//rep loss of 1 if you take a gem from the statue and get caught by prism.
IF ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",1)~ THEN BEGIN abMidWorkL
 SAY ~How dare you! How dare you take the sparkle from her eyes!~
 IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) DestroyItem("abgfEyeL") Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
 IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) DestroyItem("abgfEyeR") Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
 IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
END
//if prism still has both gems & player never tried to loot the eyes
IF ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) !PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_BrokeInto","GLOBAL",0) Global("abCalledGreywolf","GLOBAL",0)~ THEN BEGIN stillworking
 SAY ~I've much work to do. But mayhaps you would help a foolish sculptor finish this epiphany now?  Please, guard this place, for surely Greywolf will come.  I will pay with my last possessions!~
 COPY_TRANS prism 1
END

//prism initiates if both are missing and asks where they went
IF ~!HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0)~ THEN BEGIN abBothGone
 SAY ~Hold! You took my emeralds. I must have them back. I need them to finish this epiphany. Please, please return them. I will give you all else that is mine.~
  IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",1)~ THEN
  REPLY ~They are gone. Given to the authorities. You will never finish that lump of stone now.~
  DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
  GOTO 8
  IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~They are gone. Sold by now to hang on the neck as some fat woman's trinket.~
  DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
  GOTO 8
  IF ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY #4750
  DO ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~
  GOTO 4
  IF ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY #4751
  GOTO 3
 IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Aye, I took them. Still have one. The other tho is long gone.~
 GOTO abBothStoleButOneGone
 IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Aye, I took them. Still have one. The other tho is long gone.~
 GOTO abBothStoleButOneGone
 IF ~~ THEN
 REPLY ~What is this? Some madman accusing me of thievery? Die for your insults.~
 GOTO 3
END

//prism initiates if left gem is missing
IF ~!HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0) Global("ab_GemStoleResolve","GLOBAL",0)~ THEN BEGIN abLeftGone
 SAY ~Hold! You took my emerald. I must have it back. I need it to finish this epiphany. Please, please return it. I will give you all else that is mine.~
  IF ~PartyHasItem("abgfEyeL") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~All that is yours, eh?  So be it.~
  DO ~TakePartyItem("abgfEyeL")~
  GOTO 4
  IF ~PartyHasItem("abgfEyeL") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~"All else that is yours" does not concern me.  I'm taking you and the gems to the guard, where I shall get a hefty reward.~
  GOTO 3
  IF ~!PartyHasItem("abgfEyeL")~ THEN
  GOTO abNotGetBackEver
  IF ~~ THEN
  REPLY ~I know not what you are talking about.~
  EXIT
END

//prism initiates if right gem is missing
IF ~HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0) Global("ab_GemStoleResolve","GLOBAL",0)~ THEN BEGIN abRightGone
 SAY ~Hold! You took my emerald. I must have it back. I need it to finish this epiphany. Please, please return it. I will give you all else that is mine.~
  IF ~PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~All that is yours, eh?  So be it.~
  DO ~TakePartyItem("abgfEyeR")~
  GOTO 4
  IF ~PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~"All else that is yours" does not concern me.  I'm taking you and the gems to the guard, where I shall get a hefty reward.~
  GOTO 3
  IF ~!PartyHasItem("abgfEyeR")~ THEN
  GOTO abNotGetBackEver
  IF ~~ THEN
  REPLY ~I know not what you are talking about.~
  EXIT
END

IF ~~ THEN BEGIN abBothStoleButOneGone
 SAY ~Give me the one you have. Go get the other and bring it back. I must finish this epiphany. I will give you all else that is mine.~
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. Sold to some forgotten merchant or stashed in some forgotten place.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~~ THEN
 REPLY ~The gem may be gone, but I'll gladly take all else that is yours. Prepare to die.~
 GOTO 3
END

IF ~~ THEN BEGIN abNotGetBackEver
 SAY ~Give it back please. I must finish this epiphany. I will give you all else that is mine.~
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SeSetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. Sold to some forgotten merchant or stashed in some forgotten place.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SSetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~~ THEN
 REPLY ~The gem may be gone, but I'll gladly take all else that is yours. Prepare to die.~
 GOTO 3
END

END//end the append
prism's  script
Code: [Select]
IF
  See([PC])
  Range(LastSeenBy,4)
  !HasItem("abgfEyeL",Myself)
  !HasItem("abgfEyeR",Myself)
  !Global("ab_GemsTrulyGone","GLOBAL",1)
THEN
  RESPONSE #100
    Wait(1)
    Dialogue([PC])
END
IF
  See([PC])
  Range(LastSeenBy,4)
  !HasItem("abgfEyeL",Myself)
  HasItem("abgfEyeR",Myself)
  !Global("ab_GemsTrulyGone","GLOBAL",1)
THEN
  RESPONSE #100
    Wait(1)
    Dialogue([PC])
END
IF
  See([PC])
  Range(LastSeenBy,4)
  HasItem("abgfEyeL",Myself)
  !HasItem("abgfEyeR",Myself)
  !Global("ab_GemsTrulyGone","GLOBAL",1)
THEN
  RESPONSE #100
    Wait(1)
    Dialogue([PC])
END
IF
  See([PC])
  !Range(LastSeenBy,4)
  !HasItem("abgfEyeL",Myself)
  !HasItem("abgfEyeR",Myself)
  Global("abgf_BrokeInto","GLOBAL",0)
  Global("abgf_StolenJEntry","GLOBAL",0)
THEN
  RESPONSE #100
    AddJournalEntry(~That fool Prism really should keep better watch over his work area. I snagged some gems while he wasn't looking. Loss for him. Profit for me.~)
    SetGlobal("abgf_StolenJEntry","GLOBAL",1)
END
IF
  See([PC])
  !Range(LastSeenBy,4)
THEN
  RESPONSE #100
    ClearActions(Myself)
    MoveToPoint([641.2713])
END
/*
IF
  Dead("Greywolf")
  See([PC])
  Range(LastSeenBy,4)
THEN
  RESPONSE #100
    SetGlobal("abgf_PrismTalk","LOCALS",1)
    Dialogue([PC])
END

IF
  See([PC])
  Range(LastSeenBy,4)
  !Global("ab_GemsTrulyGone","GLOBAL",1)
  !Global("abCalledGreywolf","GLOBAL",1)
THEN
  RESPONSE #100
    Wait(2)
    Dialogue([PC])
END
*/
//if turned hostile
IF
  Allegiance(Myself,ENEMY)
  Global("abgf_GemInEye","GLOBAL",0)
THEN
  RESPONSE #100
    Unlock("A6StatueRightEye")
    Unlock("A6StatueLeftEye")
    ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR"))
    ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL"))
    Attack(NearestEnemyOf(Myself))
END
//if died while blue circle
IF
  Die()
  Global("abgf_GemInEye","GLOBAL",0)
THEN
  RESPONSE #100
    Unlock("A6StatueRightEye")
    Unlock("A6StatueLeftEye")
    ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR"))
    ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL"))
END
the trap script
Code: [Select]
IF
  Opened([ANYONE])
  Global("abgf_GemInEye","GLOBAL",0)
  !Global("ab_GemsTrulyGone","GLOBAL",1)
THEN
  RESPONSE #100
    SetGlobal("abgf_BrokeInto","GLOBAL",1)
    ActionOverride("Prism",Dialogue([PC])
END
IF
  Opened([ANYONE])
  Global("abgf_GemInEye","GLOBAL",1)
THEN
  RESPONSE #100
  SetGlobal("abgf_GemInEye","GLOBAL",2) //2 is only 1 gem taken from statue
  ReputationInc(-1) //only one rep point loss in total cause it reverts the rep point gain given by letting him finish the work
  AddJournalEntry(~Perhaps it was wrong, but after allowing Prism to complete his 'final masterpiece' I've taken one of the emeralds out of the statue's eyes. It should bring a hefty price at the right place or a decent reward...~)
END
IF
  Opened([ANYONE])
  Global("abgf_GemInEye","GLOBAL",2)
THEN
RESPONSE #100
  SetGlobal("abgf_GemInEye","GLOBAL",3)
  AddJournalEntry(~After a bit of hard work, I finally removed the second emerald which Prism had stolen to use in one of the eyes of his 'final masterpiece'.~)
END
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #105 on: February 28, 2012, 07:20:29 AM »
Cool changes. I'll test it out.

BGT compatibility will be a bit of work: oublek.dlg is changed slightly. State 14 is only for handing in Brage's body (no TakePartyItem("misc43")), and for the gems there is a new state 30. States 10 checks for OublekBounty1/2 in the appropriate states. Do you want me to post the dlg?
« Last Edit: February 28, 2012, 07:25:18 AM by jastey »

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #106 on: February 28, 2012, 08:59:03 AM »
Cool changes. I'll test it out.

BGT compatibility will be a bit of work: oublek.dlg is changed slightly. State 14 is only for handing in Brage's body (no TakePartyItem("misc43")), and for the gems there is a new state 30. States 10 checks for OublekBounty1/2 in the appropriate states. Do you want me to post the dlg?
no i trust once the BG version is settled that you'll be able to convert to TuTu and BGT as needed including separating necessary pieces of code into 2-3 parts if need be.  The Tutu & BGT versions are fully yours to tweak and adjust within the spirit of the mod. the BG version you can always ask me to look into, tho its not that big of a deal if you need to make minor adjustments.

BGT & probably Tutu too won't need the 'exploit fix' at the top of the dialog file. you'll have to check on that.  as for the state changes that BGT does.  it wouldn't be so hard to pull this line out:
Code: [Select]
REPLACE_TRANS_ACTION oublek BEGIN 14 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~
and put it into either a separate .d file for each platform OR put it into the .tp2/.tph file within the file brackets for each platform
Code: [Select]
<<<<<<<<
>>>>>>>>
BGT's (based on what you said) line should be:
Code: [Select]
REPLACE_TRANS_ACTION oublek BEGIN 30 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #107 on: February 28, 2012, 09:17:00 AM »
OK; I'll deal with the BGT version then, later.

plainab: I understand that you want to cut the reward for players that played "not nice" with Oublek, but the way it is now seems rather unstisfactory imho. I don't want to annoy you with more criticizm, but now it goes: Turn in one gem, and the whole quest is dead. Second gem cannot be handed in, it cannot even be presented to Oublek. No final journal entry. That's a bit, well. Not perfect. I would be more in favor of Oublek recognizing and taking the missing gem, but maybe not giving any reward. If you insist on him not taking Brage's body, at least some line as to why would be nice, too. Can the dead Brage be brought somewhere else in the original game? If not, Oublek should definitely react to that.

My point is: I can understand Oublek doesn't want to reward the player after he lied to him, but the bounties are open (and it is not up to Oublek to decide about skipping them, is it?), and the cases have to be resolved. I don't think Oublek would just ignore this because he has a grudge against the PC (how would he explain this to the authorities).
Also the quests should be solvable (not saying there has to be a reward.) for the player.
Last and least: Oublek sais "(...) We shall store the extra in case you decide to...alter the facts in any further dealings." which sounds like an invitation to bring more open bounties. Currently, the component makes the quest seem somewhat unfinished in this regard.

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #108 on: February 28, 2012, 09:43:04 AM »
that's due to the exploit fix I'd imagine...  try commenting out the top portion where the OublekBounty1 and OublekBounty2 global checks are added.  then test the mod out and see if all options with Oublek work properly.

it's not my intent to make the player suffer like that, that was Bioware's intent.  tho without the exploit fix in check i think the player could have turned in the gems individually for twice the reward on the 'bad side'  Probably why BGT moved the gems from the brage part....

I put in the ability for the player to turn in just one gem, but go to the same reward state just like all of the other bounty turn in options for the 'bad boy' side.
I wondered if the exploit fix would cause issues....

to be honest, the exploit fix shouldn't be necessary for the mod to work BUT a way has to be figured out to work with it or to reverse it....


My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #109 on: February 28, 2012, 11:21:57 AM »
i  just checked the original unmodified oublek.dlg

it doesn't have the checks for OublekBounty1 & OublekBounty2 only check for BroughtBounty which is used to signify that the player was denied payment for pretending to be Greywolf.  all states go to the same action and set the OublekBounty1 & 2 globals so Oublek knows which ones are done and which not.  Oublek provides no journal entry for the player who pretended to be Greywolf other than at the first request to claim bounty. 

So the journal resolution thing is an issue in the vanilla game itself.  Since all the bounties on the 'bad boy side' go to the same action, there can't be a journal string.

********************
so
state 10 extended to add for player to get half reward if they had claimed to be greywolf
new script blocks added to ar4800 area script to give basic journal entry that player was rewarded tho at reduced amount if claimed to be greywolf.

as far as what Oublek says in state 14, you can't change that without splitting brage from prism and doing that goes beyond the scope of the mod.
scope of the mod is to be able to get the gems from the eyes, not have any exploits by turning them in individually, and be able to have a believable end if the player manages to pick pocket the gems.

should still work with the exploit fix in place as the half rewards don't set the OublekBounty variable till both have been turned in....

installed without errors at least:
dialog changes:
Code: [Select]
//OublekBounty1 is for brage
//OublekBounty2 is for prism
//the oublekbounty globals will prevent any exploits by dropping a second item and trying to get the full reward again
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty1","GLOBAL",0)~ DO 0 UNLESS ~Global("OublekBounty1","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty2","GLOBAL",0)~ DO 1 UNLESS ~Global("OublekBounty2","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty1","GLOBAL",0) Global("OublekBounty2","GLOBAL",0)~ DO 4 UNLESS ~Global("OublekBounty2","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 10 ~Global("OublekBounty1","GLOBAL",0)~ DO 1 5 UNLESS ~Global("OublekBounty1","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 10 ~Global("OublekBounty2","GLOBAL",0)~ DO 9 5 UNLESS ~Global("OublekBounty2","GLOBAL",0)~

//changing from one item to two ensures that players can not take advantage of dropping one item and trying to get the full reward twice
REPLACE_TRANS_TRIGGER oublek BEGIN 9 END BEGIN 1 END ~PartyHasItem("MISC43")~ ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 9 END BEGIN 4 END ~!PartyHasItem("MISC43")~ ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 10 END BEGIN 9 END ~PartyHasItem("MISC43")~ ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 10 END BEGIN 5 END ~!PartyHasItem("MISC43")~ ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~
REPLACE_TRANS_ACTION oublek BEGIN 14 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~
REPLACE_TRANS_ACTION oublek BEGIN 4 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~~
REPLACE_TRANS_ACTION oublek BEGIN 4 END BEGIN 0 END ~GivePartyGold(300)~ ~GivePartyGold(300) TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~

//adding new states that give half the reward when only one item gets turned in
APPEND oublek
IF ~~ THEN BEGIN abLeftEye
  SAY ~One of the Emeralds! That will be a 150 gold bounty for you.  Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abRightEye
  SAY ~One of the Emeralds! That will be a 150 gold bounty for you.  Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abLeftEyeLast
  SAY ~The last of the Emeralds! That will be another 150 gold bounty for you. Well, you'll make quite a name for yourself among the bounty hunters if you keep this up.  Whether it is for better or worse, I do not know.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abRightEyeLast
  SAY ~The last of the Emeralds! That will be another 150 gold bounty for you. Well, you'll make quite a name for yourself among the bounty hunters if you keep this up.  Whether it is for better or worse, I do not know.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1) ~ EXIT
END
//half reward states for those pretending to be greywolf
IF ~~ THEN BEGIN abBBLeftEye
  SAY ~One of the Emeralds! It is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting. I shall pay you, though less than the posted amount. Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abBBRightEye
  SAY ~One of the Emeralds! It is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting. I shall pay you, though less than the posted amount. Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abBBLeftEyeLast
  SAY ~The last of the Emeralds! Well, it is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting.  I shall pay you, though less than the posted amount.  We shall store the extra in case you decide to...alter the facts in any further dealings.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abBBRightEyeLast
  SAY ~The last of the Emeralds! Well, it is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting.  I shall pay you, though less than the posted amount.  We shall store the extra in case you decide to...alter the facts in any further dealings.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1) ~ EXIT
END

END //end the append

//adding additional transitions that allow the player to turn in only one of the two required items for good boy
EXTEND_BOTTOM oublek 9
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0)~
THEN REPLY #4656 GOTO abLeftEye
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0)~
THEN REPLY #4656 GOTO abRightEye
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_RightEyeBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abLeftEyeLast
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abRightEyeLast
END //end the extend bottom

//adding additional transitions that continue to keep 'bad boy' player from getting full reward. If they turn in only one gem, they get rewarded but can't turn in the other or resolve brage issue with oublek. It is an overall punishment when compared to 'good boy' rewards.
EXTEND_BOTTOM oublek 10
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0) Global("BroughtBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abBBLeftEye
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0) Global("BroughtBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abBBRightEye
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_RightEyeBounty","GLOBAL",1) Global("BroughtBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abBBLeftEyeLast
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",1) Global("BroughtBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abBBRightEyeLast
END //end the extend bottom

//adjustments needed for prism to work with the rest of the component
ADD_STATE_TRIGGER prism 0 ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0)~

//REPLACE_TRANS_ACTION prism BEGIN 7 END BEGIN 0 moved to separate files for BGT+Tutu / BG
REPLACE_TRANS_ACTION prism BEGIN 7 END BEGIN 0 END ~DropInventory()~
~DestroyItem("abgfEyeL") DestroyItem("abgfEyeR") SetGlobal("abgf_GemInEye","GLOBAL",1)~

//Make sure the containers are empty if Prism can't put in the gems any more.
//ONLY apply if the emeralds really cannot be returned to Prism
//state 3 is where player attacks prism so gems need removed from eyes
//state 8 is where player has previously stolen the gems from off of Prism so gems need removed from eyes
//state 9 is where player backed off and let Greywolf have Prism & the gems so gems need removed from eyes
ADD_TRANS_ACTION prism BEGIN 3 8 9 END BEGIN 0 END ~Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL"))~

//set state 8 to be a repeat state if prism is talked to again after the gems were stolen and no longer retrievable
ADD_STATE_TRIGGER prism 8 ~Global("ab_GemsTrulyGone","GLOBAL",1)~

REPLACE_TRANS_ACTION prism BEGIN 9 END BEGIN 0 END ~GiveItem("MISC43","GREYWOLF")~
~GiveItem("abgfEyeL","GREYWOLF") GiveItem("abgfEyeR","GREYWOLF") SetGlobal("abgf_GemInEye","GLOBAL",3)~

ADD_TRANS_ACTION prism BEGIN 4 END BEGIN 0 END ~SetGlobal("abCalledGreywolf","GLOBAL",1)~
//anything not one means that either the gems were not in container when obtained OR the penalty was applied
//only way to get items if player allowed greywolf to attack prism is to attack greywolf before prism is dead and hopefully kill him before he runs away.

//allow prism to return to correct location after having moved to catch up with player
ADD_TRANS_ACTION prism BEGIN 5 8 END BEGIN 0 END ~ActionOverride("Prism",MoveToPoint([641.2713]))~

APPEND prism
//if prism still has both gems but player managed to get one of them out of the statue before prism initiates dialog
//rep loss of 1 if you take a gem from the statue and get caught by prism.
IF ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",1)~ THEN BEGIN abMidWorkL
 SAY ~How dare you! How dare you take the sparkle from her eyes!~
 IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) DestroyItem("abgfEyeL") Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
 IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) DestroyItem("abgfEyeR") Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
 IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
END
//if prism still has both gems & player never tried to loot the eyes
IF ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) !PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_BrokeInto","GLOBAL",0) Global("abCalledGreywolf","GLOBAL",0)~ THEN BEGIN stillworking
 SAY ~I've much work to do. But mayhaps you would help a foolish sculptor finish this epiphany now?  Please, guard this place, for surely Greywolf will come.  I will pay with my last possessions!~
 COPY_TRANS prism 1
END

//prism initiates if both are missing and asks where they went
IF ~!HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0)~ THEN BEGIN abBothGone
 SAY ~Hold! You took my emeralds. I must have them back. I need them to finish this epiphany. Please, please return them. I will give you all else that is mine.~
  IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",1)~ THEN
  REPLY ~They are gone. Given to the authorities. You will never finish that lump of stone now.~
  DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
  GOTO 8
  IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~They are gone. Sold by now to hang on the neck as some fat woman's trinket.~
  DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
  GOTO 8
  IF ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY #4750
  DO ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~
  GOTO 4
  IF ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY #4751
  GOTO 3
 IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Aye, I took them. Still have one. The other tho is long gone.~
 GOTO abBothStoleButOneGone
 IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Aye, I took them. Still have one. The other tho is long gone.~
 GOTO abBothStoleButOneGone
 IF ~~ THEN
 REPLY ~What is this? Some madman accusing me of thievery? Die for your insults.~
 GOTO 3
END

//prism initiates if left gem is missing
IF ~!HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0) Global("ab_GemStoleResolve","GLOBAL",0)~ THEN BEGIN abLeftGone
 SAY ~Hold! You took my emerald. I must have it back. I need it to finish this epiphany. Please, please return it. I will give you all else that is mine.~
  IF ~PartyHasItem("abgfEyeL") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~All that is yours, eh?  So be it.~
  DO ~TakePartyItem("abgfEyeL")~
  GOTO 4
  IF ~PartyHasItem("abgfEyeL") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~"All else that is yours" does not concern me.  I'm taking you and the gems to the guard, where I shall get a hefty reward.~
  GOTO 3
  IF ~!PartyHasItem("abgfEyeL")~ THEN
  GOTO abNotGetBackEver
  IF ~~ THEN
  REPLY ~I know not what you are talking about.~
  EXIT
END

//prism initiates if right gem is missing
IF ~HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0) Global("ab_GemStoleResolve","GLOBAL",0)~ THEN BEGIN abRightGone
 SAY ~Hold! You took my emerald. I must have it back. I need it to finish this epiphany. Please, please return it. I will give you all else that is mine.~
  IF ~PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~All that is yours, eh?  So be it.~
  DO ~TakePartyItem("abgfEyeR")~
  GOTO 4
  IF ~PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~"All else that is yours" does not concern me.  I'm taking you and the gems to the guard, where I shall get a hefty reward.~
  GOTO 3
  IF ~!PartyHasItem("abgfEyeR")~ THEN
  GOTO abNotGetBackEver
  IF ~~ THEN
  REPLY ~I know not what you are talking about.~
  EXIT
END

IF ~~ THEN BEGIN abBothStoleButOneGone
 SAY ~Give me the one you have. Go get the other and bring it back. I must finish this epiphany. I will give you all else that is mine.~
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. Sold to some forgotten merchant or stashed in some forgotten place.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~~ THEN
 REPLY ~The gem may be gone, but I'll gladly take all else that is yours. Prepare to die.~
 GOTO 3
END

IF ~~ THEN BEGIN abNotGetBackEver
 SAY ~Give it back please. I must finish this epiphany. I will give you all else that is mine.~
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SeSetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. Sold to some forgotten merchant or stashed in some forgotten place.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SSetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~~ THEN
 REPLY ~The gem may be gone, but I'll gladly take all else that is yours. Prepare to die.~
 GOTO 3
END

END//end the append
area script for 4800:
Code: [Select]
IF
Global("abgf_LeftEyeBounty","GLOBAL",1)
Global("abgf_RightEyeBounty","GLOBAL",1)
Global("OublekBounty2","GLOBAL",0)
Global("Greywolf","GLOBAL",0)
THEN
RESPONSE #100
  SetGlobal("OublekBounty2","GLOBAL",1)
  AddJournalEntry(~Prism's story was a sad tale indeed.  A shame it could not have had a better ending.  Ah well, I profit in the end.  300 gold bounty for the emeralds he stole.~)
END
IF
Global("abgf_LeftEyeBounty","GLOBAL",1)
Global("abgf_RightEyeBounty","GLOBAL",1)
Global("OublekBounty2","GLOBAL",0)
Global("Greywolf","GLOBAL",1)
THEN
RESPONSE #100
  SetGlobal("OublekBounty2","GLOBAL",1)
  AddJournalEntry(~Next time I shall have to remind myself not to pretend to be another just for some quick gold. Though Oublek kept part, I was finally rewarded for turning in the emeralds from Prism.~)
END
IF
Global("Greywolf","GLOBAL",1)
Global("OublekBounty1","GLOBAL",1)
THEN
RESPONSE #100
  AddJournalEntry(~Next time I shall have to remind myself not to pretend to be another just for some quick gold. Though Oublek kept part, I was finally rewarded for turning in Captain Brage.~)
END
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #110 on: February 28, 2012, 01:04:17 PM »
Very cool, I think that's what I wanted.
I think the "OublekBounty2" variable should be set here, too:Scrab that i didn't see the area script.

Quote
IF ~~ THEN BEGIN abBBLeftEyeLast
  SAY ~The last of the Emeralds! Well, it is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting.  I shall pay you, though less than the posted amount.  We shall store the extra in case you decide to...alter the facts in any further dealings.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abBBRightEyeLast
  SAY ~The last of the Emeralds! Well, it is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting.  I shall pay you, though less than the posted amount.  We shall store the extra in case you decide to...alter the facts in any further dealings.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1) ~ EXIT
END
« Last Edit: February 28, 2012, 01:06:19 PM by jastey »

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #111 on: February 28, 2012, 01:08:33 PM »
area script: I think this would also fire in case the PC (after lying to Oublek) turns in both gems at once (state 14)?
EDIT: Maybe just make one journal entry stating "Next time I shall have to remind myself not to pretend to be another just for some quick gold. Though Oublek kept part, I was finally rewarded". Although that would be bad for Tutu/BGT where there are journal entry headers.  (*scratches head*)

Quote
IF
Global("Greywolf","GLOBAL",1)
Global("OublekBounty1","GLOBAL",1)
THEN
RESPONSE #100
  AddJournalEntry(~Next time I shall have to remind myself not to pretend to be another just for some quick gold. Though Oublek kept part, I was finally rewarded for turning in Captain Brage.~)
END
« Last Edit: February 28, 2012, 01:13:35 PM by jastey »

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #112 on: February 28, 2012, 02:12:35 PM »
Quote
area script: I think this would also fire in case the PC (after lying to Oublek) turns in both gems at once (state 14)?
that was considered.  that's why there is one block which checks for the greywolf variable to be 0 and the other checks for it to be 1.  the third block gives a journal entry for Brage just so you've got some sort of 'finish' there in the journal.

I'd thought about having just one journal string BUT 1) brage can be resolved in a different manner 2) BGT & Tutu would need them separate so that the journal entries can be moved between journal sections much easier.
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #113 on: February 28, 2012, 02:21:26 PM »
Quote
the third block gives a journal entry for Brage just so you've got some sort of 'finish' there in the journal.
What I meant is that "OublekBounty1" gets also set if the player hands in both gems at once, in state 14, but didn't turn in Brage. In that case, this journal entry about Brage's reward will be written, too, I think, if the area script block only checks for "OublekBounty1" = 1?

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #114 on: February 28, 2012, 03:44:30 PM »
OK, finally understood why this is correct. Sorry!No, I tsill think this will also fire for handing in the games only and Greywolf = 1. I am confused.
« Last Edit: February 28, 2012, 03:46:01 PM by jastey »

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #115 on: February 28, 2012, 03:48:55 PM »
Quote
the third block gives a journal entry for Brage just so you've got some sort of 'finish' there in the journal.
What I meant is that "OublekBounty1" gets also set if the player hands in both gems at once, in state 14, but didn't turn in Brage. In that case, this journal entry about Brage's reward will be written, too, I think, if the area script block only checks for "OublekBounty1" = 1?
you are right, it would.  i didn't think about that...  simple

add to .d file
Code: [Select]
ADD_TRANS_ACTION oublek BEGIN 10 END BEGIN 1 END ~SetGlobal("abTurnedInBrage","GLOBAL",1)~
add to the script block a trigger check for said variable...  should work


oh before i forget, you don't have to stick with the full prefix on files and stuff if you don't want to (or can't for some reason).  my registered prefix is 'ab'  for the fixpack i combine 'ab' with 'bgf' (bgf = baldurs gate fixpack) to make 'abgf' for new files/variables

edit: left off a ~ in the code line -- fixed
« Last Edit: February 28, 2012, 03:51:49 PM by plainab »
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #116 on: February 28, 2012, 03:58:15 PM »
Would you post the final files? Just to make sure I don't overlook something.

I might change the prefix to ub, but if it's OK with you I might just leave it - changing file and variable names only introduces new bugs if i overlook something. It is possible, though.

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #117 on: February 28, 2012, 04:16:50 PM »
Quote
Would you post the final files? Just to make sure I don't overlook something.
not tested install mind you, but should work

dialog file
Code: [Select]
//OublekBounty1 is for brage
//OublekBounty2 is for prism
//the oublekbounty globals will prevent any exploits by dropping a second item and trying to get the full reward again
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty1","GLOBAL",0)~ DO 0 UNLESS ~Global("OublekBounty1","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty2","GLOBAL",0)~ DO 1 UNLESS ~Global("OublekBounty2","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 9 ~Global("OublekBounty1","GLOBAL",0) Global("OublekBounty2","GLOBAL",0)~ DO 4 UNLESS ~Global("OublekBounty2","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 10 ~Global("OublekBounty1","GLOBAL",0)~ DO 1 5 UNLESS ~Global("OublekBounty1","GLOBAL",0)~
ADD_TRANS_TRIGGER ~oublek~ 10 ~Global("OublekBounty2","GLOBAL",0)~ DO 9 5 UNLESS ~Global("OublekBounty2","GLOBAL",0)~

//changing from one item to two ensures that players can not take advantage of dropping one item and trying to get the full reward twice
REPLACE_TRANS_TRIGGER oublek BEGIN 9 END BEGIN 1 END ~PartyHasItem("MISC43")~ ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 9 END BEGIN 4 END ~!PartyHasItem("MISC43")~ ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 10 END BEGIN 9 END ~PartyHasItem("MISC43")~ ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~
REPLACE_TRANS_TRIGGER oublek BEGIN 10 END BEGIN 5 END ~!PartyHasItem("MISC43")~ ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~
REPLACE_TRANS_ACTION oublek BEGIN 14 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~
REPLACE_TRANS_ACTION oublek BEGIN 4 END BEGIN 0 END ~TakePartyItem("MISC43")~ ~~
REPLACE_TRANS_ACTION oublek BEGIN 4 END BEGIN 0 END ~GivePartyGold(300)~ ~GivePartyGold(300) TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~

//allow journal entries to work around brage in "bad boy" path
ADD_TRANS_ACTION oublek BEGIN 10 END BEGIN 1 END ~SetGlobal("abTurnedInBrage","GLOBAL",1)~

//adding new states that give half the reward when only one item gets turned in
APPEND oublek
IF ~~ THEN BEGIN abLeftEye
  SAY ~One of the Emeralds! That will be a 150 gold bounty for you.  Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abRightEye
  SAY ~One of the Emeralds! That will be a 150 gold bounty for you.  Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abLeftEyeLast
  SAY ~The last of the Emeralds! That will be another 150 gold bounty for you. Well, you'll make quite a name for yourself among the bounty hunters if you keep this up.  Whether it is for better or worse, I do not know.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abRightEyeLast
  SAY ~The last of the Emeralds! That will be another 150 gold bounty for you. Well, you'll make quite a name for yourself among the bounty hunters if you keep this up.  Whether it is for better or worse, I do not know.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(100) GivePartyGold(150) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1) ~ EXIT
END
//half reward states for those pretending to be greywolf
IF ~~ THEN BEGIN abBBLeftEye
  SAY ~One of the Emeralds! It is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting. I shall pay you, though less than the posted amount. Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abBBRightEye
  SAY ~One of the Emeralds! It is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting. I shall pay you, though less than the posted amount. Be sure to bring the other if you should find it.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abBBLeftEyeLast
  SAY ~The last of the Emeralds! Well, it is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting.  I shall pay you, though less than the posted amount.  We shall store the extra in case you decide to...alter the facts in any further dealings.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeL") SetGlobal("abgf_LeftEyeBounty","GLOBAL",1)~ EXIT
END
IF ~~ THEN BEGIN abBBRightEyeLast
  SAY ~The last of the Emeralds! Well, it is good to see you attempting to earn honest gold, even if it is through the unsavory task of bounty hunting.  I shall pay you, though less than the posted amount.  We shall store the extra in case you decide to...alter the facts in any further dealings.~//this is custom text
  IF ~~ THEN DO ~AddexperienceParty(250) GivePartyGold(75) TakePartyItem("abgfEyeR") SetGlobal("abgf_RightEyeBounty","GLOBAL",1) ~ EXIT
END

END //end the append

//adding additional transitions that allow the player to turn in only one of the two required items for good boy
EXTEND_BOTTOM oublek 9
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0)~
THEN REPLY #4656 GOTO abLeftEye
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0)~
THEN REPLY #4656 GOTO abRightEye
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_RightEyeBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abLeftEyeLast
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abRightEyeLast
END //end the extend bottom

//adding additional transitions that continue to keep 'bad boy' player from getting full reward. If they turn in only one gem, they get rewarded but can't turn in the other or resolve brage issue with oublek. It is an overall punishment when compared to 'good boy' rewards.
EXTEND_BOTTOM oublek 10
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0) Global("BroughtBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abBBLeftEye
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",0) Global("abgf_RightEyeBounty","GLOBAL",0) Global("BroughtBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abBBRightEye
IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_RightEyeBounty","GLOBAL",1) Global("BroughtBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abBBLeftEyeLast
IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("abgf_LeftEyeBounty","GLOBAL",1) Global("BroughtBounty","GLOBAL",1)~
THEN REPLY #4656 GOTO abBBRightEyeLast
END //end the extend bottom

//adjustments needed for prism to work with the rest of the component
ADD_STATE_TRIGGER prism 0 ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0)~

//REPLACE_TRANS_ACTION prism BEGIN 7 END BEGIN 0 moved to separate files for BGT+Tutu / BG
REPLACE_TRANS_ACTION prism BEGIN 7 END BEGIN 0 END ~DropInventory()~
~DestroyItem("abgfEyeL") DestroyItem("abgfEyeR") SetGlobal("abgf_GemInEye","GLOBAL",1)~

//Make sure the containers are empty if Prism can't put in the gems any more.
//ONLY apply if the emeralds really cannot be returned to Prism
//state 3 is where player attacks prism so gems need removed from eyes
//state 8 is where player has previously stolen the gems from off of Prism so gems need removed from eyes
//state 9 is where player backed off and let Greywolf have Prism & the gems so gems need removed from eyes
ADD_TRANS_ACTION prism BEGIN 3 8 9 END BEGIN 0 END ~Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL"))~

//set state 8 to be a repeat state if prism is talked to again after the gems were stolen and no longer retrievable
ADD_STATE_TRIGGER prism 8 ~Global("ab_GemsTrulyGone","GLOBAL",1)~

REPLACE_TRANS_ACTION prism BEGIN 9 END BEGIN 0 END ~GiveItem("MISC43","GREYWOLF")~
~GiveItem("abgfEyeL","GREYWOLF") GiveItem("abgfEyeR","GREYWOLF") SetGlobal("abgf_GemInEye","GLOBAL",3)~

ADD_TRANS_ACTION prism BEGIN 4 END BEGIN 0 END ~SetGlobal("abCalledGreywolf","GLOBAL",1)~
//anything not one means that either the gems were not in container when obtained OR the penalty was applied
//only way to get items if player allowed greywolf to attack prism is to attack greywolf before prism is dead and hopefully kill him before he runs away.

//allow prism to return to correct location after having moved to catch up with player
ADD_TRANS_ACTION prism BEGIN 5 8 END BEGIN 0 END ~ActionOverride("Prism",MoveToPoint([641.2713]))~

APPEND prism
//if prism still has both gems but player managed to get one of them out of the statue before prism initiates dialog
//rep loss of 1 if you take a gem from the statue and get caught by prism.
IF ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",1)~ THEN BEGIN abMidWorkL
 SAY ~How dare you! How dare you take the sparkle from her eyes!~
 IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) DestroyItem("abgfEyeL") Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
 IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) DestroyItem("abgfEyeR") Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
 IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1) ReputationInc(-1) Unlock("A6StatueRightEye") Unlock("A6StatueLeftEye") ActionOverride("A6StatueRightEye",DestroyItem("abgfEyeR")) ActionOverride("A6StatueLeftEye",DestroyItem("abgfEyeL")) Enemy()~
 JOURNAL ~I managed to take some emeralds that the sculptor Prism was using as eyes in a statue. However, he had noticed me. I was forced to put him out of his misery after he lunged at me with a chisel.~
 EXIT
END
//if prism still has both gems & player never tried to loot the eyes
IF ~HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) !PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("abgf_BrokeInto","GLOBAL",0) Global("abCalledGreywolf","GLOBAL",0)~ THEN BEGIN stillworking
 SAY ~I've much work to do. But mayhaps you would help a foolish sculptor finish this epiphany now?  Please, guard this place, for surely Greywolf will come.  I will pay with my last possessions!~
 COPY_TRANS prism 1
END

//prism initiates if both are missing and asks where they went
IF ~!HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0)~ THEN BEGIN abBothGone
 SAY ~Hold! You took my emeralds. I must have them back. I need them to finish this epiphany. Please, please return them. I will give you all else that is mine.~
  IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",1)~ THEN
  REPLY ~They are gone. Given to the authorities. You will never finish that lump of stone now.~
  DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
  GOTO 8
  IF ~!PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~They are gone. Sold by now to hang on the neck as some fat woman's trinket.~
  DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
  GOTO 8
  IF ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY #4750
  DO ~TakePartyItem("abgfEyeL") TakePartyItem("abgfEyeR")~
  GOTO 4
  IF ~PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY #4751
  GOTO 3
 IF ~PartyHasItem("abgfEyeL") !PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Aye, I took them. Still have one. The other tho is long gone.~
 GOTO abBothStoleButOneGone
 IF ~!PartyHasItem("abgfEyeL") PartyHasItem("abgfEyeR")~ THEN
 REPLY ~Aye, I took them. Still have one. The other tho is long gone.~
 GOTO abBothStoleButOneGone
 IF ~~ THEN
 REPLY ~What is this? Some madman accusing me of thievery? Die for your insults.~
 GOTO 3
END

//prism initiates if left gem is missing
IF ~!HasItem("abgfEyeL",Myself) HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0) Global("ab_GemStoleResolve","GLOBAL",0)~ THEN BEGIN abLeftGone
 SAY ~Hold! You took my emerald. I must have it back. I need it to finish this epiphany. Please, please return it. I will give you all else that is mine.~
  IF ~PartyHasItem("abgfEyeL") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~All that is yours, eh?  So be it.~
  DO ~TakePartyItem("abgfEyeL")~
  GOTO 4
  IF ~PartyHasItem("abgfEyeL") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~"All else that is yours" does not concern me.  I'm taking you and the gems to the guard, where I shall get a hefty reward.~
  GOTO 3
  IF ~!PartyHasItem("abgfEyeL")~ THEN
  GOTO abNotGetBackEver
  IF ~~ THEN
  REPLY ~I know not what you are talking about.~
  EXIT
END

//prism initiates if right gem is missing
IF ~HasItem("abgfEyeL",Myself) !HasItem("abgfEyeR",Myself) Global("abgf_BrokeInto","GLOBAL",0) Global("ab_GemStoleResolve","GLOBAL",0)~ THEN BEGIN abRightGone
 SAY ~Hold! You took my emerald. I must have it back. I need it to finish this epiphany. Please, please return it. I will give you all else that is mine.~
  IF ~PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~All that is yours, eh?  So be it.~
  DO ~TakePartyItem("abgfEyeR")~
  GOTO 4
  IF ~PartyHasItem("abgfEyeR") Global("OublekBounty2","GLOBAL",0)~ THEN
  REPLY ~"All else that is yours" does not concern me.  I'm taking you and the gems to the guard, where I shall get a hefty reward.~
  GOTO 3
  IF ~!PartyHasItem("abgfEyeR")~ THEN
  GOTO abNotGetBackEver
  IF ~~ THEN
  REPLY ~I know not what you are talking about.~
  EXIT
END

IF ~~ THEN BEGIN abBothStoleButOneGone
 SAY ~Give me the one you have. Go get the other and bring it back. I must finish this epiphany. I will give you all else that is mine.~
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. Sold to some forgotten merchant or stashed in some forgotten place.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~~ THEN
 REPLY ~The gem may be gone, but I'll gladly take all else that is yours. Prepare to die.~
 GOTO 3
END

IF ~~ THEN BEGIN abNotGetBackEver
 SAY ~Give it back please. I must finish this epiphany. I will give you all else that is mine.~
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SeSetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",1) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",0)~ THEN
 REPLY ~Not possible. Sold to some forgotten merchant or stashed in some forgotten place.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~I gave it to the authorities. You shall never get it back.~
 DO ~SSetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 8
 IF ~Global("abgf_RightEyeBounty","GLOBAL",0) Global("abgf_LeftEyeBounty","GLOBAL",1)~ THEN
 REPLY ~Not possible. I gave it to the authorities and have come back to claim the other for its bounty.~
 DO ~SetGlobal("ab_GemsTrulyGone","GLOBAL",1)~
 GOTO 3
 IF ~~ THEN
 REPLY ~The gem may be gone, but I'll gladly take all else that is yours. Prepare to die.~
 GOTO 3
END

END//end the append

area script
Code: [Select]
IF
Global("abgf_LeftEyeBounty","GLOBAL",1)
Global("abgf_RightEyeBounty","GLOBAL",1)
Global("OublekBounty2","GLOBAL",0)
Global("Greywolf","GLOBAL",0)
THEN
RESPONSE #100
  SetGlobal("OublekBounty2","GLOBAL",1)
  AddJournalEntry(~Prism's story was a sad tale indeed.  A shame it could not have had a better ending.  Ah well, I profit in the end.  300 gold bounty for the emeralds he stole.~)
END
IF
Global("abgf_LeftEyeBounty","GLOBAL",1)
Global("abgf_RightEyeBounty","GLOBAL",1)
Global("OublekBounty2","GLOBAL",0)
Global("Greywolf","GLOBAL",1)
THEN
RESPONSE #100
  SetGlobal("OublekBounty2","GLOBAL",1)
  AddJournalEntry(~Next time I shall have to remind myself not to pretend to be another just for some quick gold. Though Oublek kept part, I was finally rewarded for turning in the emeralds from Prism.~)
END
IF
Global("Greywolf","GLOBAL",1)
Global("OublekBounty1","GLOBAL",1)
Global("abTurnedInBrage","GLOBAL",1)
THEN
RESPONSE #100
  AddJournalEntry(~Next time I shall have to remind myself not to pretend to be another just for some quick gold. Though Oublek kept part, I was finally rewarded for turning in Captain Brage.~)
END
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #118 on: February 29, 2012, 10:06:44 PM »
so i installed BG2 and set up an easytutu game.
decided to try this thing over on easytutu. of course i  had to change names etc... but as i was going thru and testing things, I keep running across issues that I don't notice in BG cause filenames aren't different.  so a few .tp2 corrections as well as having to add stuff due to traifying the dialog.

I'll get a finalized tutu version and ensure that the BG works smoothly too especially in those specific situations.  now i'm not good at the tutu var thing, so i just did separate files which is good cause tutu uses the extra journal stuff and that means different script files anyway...

EDIT: having to deal with the solved & unsolved journal entries for tutu has led me to figure out a way to use oublek's dialog file for the journal entries rather than modifying the area script. so yey one less thing to mess with \o/
« Last Edit: February 29, 2012, 10:56:01 PM by plainab »
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #119 on: March 01, 2012, 07:09:11 AM »
new day, new post \o/  LOL

thanks to dealing with EasyTutu & the solved/unsolved journal strings plus traifying the mod, I found errors and better ways of doing things.

for starters Prism is only forced to initiate if player tries to loot the eyes prior to the greywolf scenario, or if player picks his pocket.
player has options to deny knowing anything about it, if they do after successfully picking the 2nd gem they'll get a journal entry, otherwise they won't.

only journal strings added via script now are the 2 strings when looting the eyes after the greywolf scenario.

this is to be considered finalized as far as i'm concerned.  BGT compatibility i think would just require targets to state 14 being moved to state 30 (or whatever they changed it to). IF you want to play with the container enable/disable stuff that's fine, tho i think if you give it a try you'll like what happens.

here is a packaged 7zip file which contains BG & Tutu support: http://sasha-altherin.webs.com/mods/abPrismEmeralds.7z
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline Salk

  • Planewalker
  • *****
  • Posts: 873
Re: Offering new component for UB
« Reply #120 on: March 01, 2012, 08:23:51 AM »
Good job!  ;)

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #121 on: March 01, 2012, 12:44:47 PM »
Thank you very much! I will have a look at it and make it BGT-compatible.

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #122 on: March 03, 2012, 07:57:49 AM »
plainab: The journal title for Prism in BGT is "Prism, the emerald thief." so I changed it to that to make it consistent.

Concerning the Tutu/BGT version: I would prefer if the containers are just switched to be disabled / enabled. Your workaround for BG1 is very elegant, but since the BGII engine has this feature I would say we use it. What do you say?

Offline plainab

  • Sasha al'Therin
  • Planewalker
  • *****
  • Posts: 491
    • Infinity Engine Modding
Re: Offering new component for UB
« Reply #123 on: March 03, 2012, 04:53:31 PM »
plainab: The journal title for Prism in BGT is "Prism, the emerald thief." so I changed it to that to make it consistent.

Concerning the Tutu/BGT version: I would prefer if the containers are just switched to be disabled / enabled. Your workaround for BG1 is very elegant, but since the BGII engine has this feature I would say we use it. What do you say?
I pretty much already gave you permission.
Quote
IF you want to play with the container enable/disable stuff that's fine, tho i think if you give it a try you'll like what happens.

Maybe you could give players an option at install time?
Quote
Install: Prism - Emeralds in the Eyes
1) Lootable at any time 
2) Lootable only after 'complete'
the first would be how i've done it with the BG work around
the 2nd would be your version with the container enable/disable feature

BG games wouldn't get the option only tutu/bgt

feel free to  provide better descriptive component/sub-component names  :P

one other thing...
Is it possible to disable getting exp from opening the containers in tutu/bgt. allowing other containers of course if that's what players want just disabling those two.  doesn't seem right to me to get exp for opening the eyes.


as far as journal title... 
you changed the title for tutu or added in new strings to the tra for bgt with it's title?

BGT's title sounds better than tutu's I'd almost recommend changing tutu's to match, including those already in place from the conversion process.
My working mods:
an AI Party Script for BG2 game engine DOWNLOAD LINK ONLY!
Interactive Tweaks for BG series with some IWD support. DOWNLOAD LINK ONLY!
Rest For 8 Hours an IWD mod
-------------------------------------------
My contributions: BG1Fixpack, BG1Tweaks
On Hold: Solestia an NPC for SOA
-------------------------------------------
My website: http://sasha-altherin.webs.com

Offline jastey

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1524
  • Gender: Female
Re: Offering new component for UB
« Reply #124 on: March 04, 2012, 02:52:00 AM »
Quote
I pretty much already gave you permission.
If I hadn't ask the idea of a choice wouldn't have come up. :) I will give Tuu/BGT players the choice then.

How do I disable the exp. for opening a specific container? *panic*

And now i feel dumb: The journal title in your package is the EasyTutu title? Then of course I will use that one for the Tutu-install. Changing the ingame-ones would be an idea, but that would be another tweak I am not sure is in the scope of this mod.


 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

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:
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)?: