Pocket Plane Group
BG1 Completed Mods => BG1 Unfinished Business => BG1UB Workroom => Topic started by: Salk on August 22, 2015, 06:06:26 AM
-
Hello!
While checking on unshey.dlg I noticed a couple of pretty interesting unused lines, perhaps worth restoring.
State 3 should trigger whenever the party approaches her with the Girdle of Gender while State 6 should trigger if somebody in the party is wearing it and talks to her.
-
Again, I try and offer a solution but I am sure you can do better AstroBryGuy.
//Restored unshey's dialogue
ACTION_IF !(GAME_IS ~bgee~) THEN BEGIN
APPEND ~stats.ids~ ~193 SEXCHANGE~ UNLESS ~193~
COPY_EXISTING ~%tutu_var%unshey.cre~ ~override~
ADD_CRE_ITEM ~BOOK03~ #0 #0 #0 ~UNSTEALABLE&UNDROPPABLE~ ~INV1~
<<<<<<<< .../bg1ub/ubunsh.d
ADD_STATE_TRIGGER ~%tutu_var%unshey~ 4 ~Global("UBHelpUnshey","GLOBAL",1)~
ADD_STATE_TRIGGER ~%tutu_var%unshey~ 5 ~Global("UBHelpUnshey","GLOBAL",1)~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 0 ~Global("UBHelpUnshey","GLOBAL",0) ReactionLT(LastTalkedToBy,NEUTRAL_LOWER) True()~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 1 ~Global("UBHelpUnshey","GLOBAL",0) ReactionGT(LastTalkedToBy,HOSTILE_UPPER) True()~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 2 ~Global("UBHelpUnshey","GLOBAL",1) !PartyHasItem("BELT04") !PartyHasItem("BELT05")~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 3 ~Global("UBHelpUnshey","GLOBAL",1) !PartyHasItem("BELT04") PartyHasItem("BELT05")~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 6 ~CheckStatGT(LastTalkedToBy, 0, SEXCHANGE) GlobalLT("UBHelpUnshey","GLOBAL",2)~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 7 ~Global("UBHelpUnshey","GLOBAL",3)~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 8 ~Global("UBHelpUnshey","GLOBAL",2)~
ADD_TRANS_ACTION ~%tutu_var%unshey~ BEGIN 1 END BEGIN 0 END ~SetGlobal("UBHelpUnshey","GLOBAL",1)~
ADD_TRANS_ACTION ~%tutu_var%unshey~ BEGIN 4 5 END BEGIN 0 END ~SetGlobal("UBHelpUnshey","GLOBAL",2)~
ADD_TRANS_ACTION ~%tutu_var%unshey~ BEGIN 6 END BEGIN 0 END ~SetGlobal("UBHelpUnshey","GLOBAL",3) AddexperienceParty(800) GiveItem("BOOK03",LastTalkedToBy)~
SET_WEIGHT ~%tutu_var%unshey~ 6 #3
SET_WEIGHT ~%tutu_var%unshey~ 3 #4
SET_WEIGHT ~%tutu_var%unshey~ 5 #5
SET_WEIGHT ~%tutu_var%unshey~ 4 #6
SET_WEIGHT ~%tutu_var%unshey~ 7 #7
>>>>>>>>
COMPILE EVALUATE_BUFFER ~.../bg1ub/ubunsh.d~
END
-
Yeah, alright, this is pretty cool. So, based on the unused line, she's basically supposed to try and mitigate your affliction by handing over a Book +1 to Constitution, right?
-
Yes, I think that was the original idea (I had forgot the part about giving experience and the item so I added it).
-
Well, let's see if AstroBryGuy has anything to say about this... :)
-
I like this idea!
One thing that could be improved - It wasn't really apparent from Unshey's dialog why she was giving the book. Also, triggering it on the specific character talking to her means you might not have the right character talk to her. I was thinking a new state. That way, it's apparent why she's giving you the book. Also, why give 800 experience points for having put on a cursed girdle? :P
//Restored unshey's dialogue
ACTION_IF !(GAME_IS ~bg1 totsc~) THEN BEGIN
APPEND ~stats.ids~ ~193 SEX_CHANGED~ UNLESS ~SEX_CHANGED~
<<<<<<<< .../bg1ub/ubunsh.d
ADD_STATE_TRIGGER ~%tutu_var%unshey~ 4 ~Global("UBHelpUnshey","GLOBAL",1)~
ADD_STATE_TRIGGER ~%tutu_var%unshey~ 5 ~Global("UBHelpUnshey","GLOBAL",1)~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 0 ~Global("UBHelpUnshey","GLOBAL",0) ReactionLT(LastTalkedToBy,NEUTRAL_LOWER)~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 1 ~Global("UBHelpUnshey","GLOBAL",0) ReactionGT(LastTalkedToBy,HOSTILE_UPPER)~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 2 ~Global("UBHelpUnshey","GLOBAL",1) !PartyHasItem("BELT04") !PartyHasItem("BELT05")~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 3 ~Global("UBHelpUnshey","GLOBAL",1) !PartyHasItem("BELT04") PartyHasItem("BELT05")~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 7 ~Global("UBHelpUnshey","GLOBAL",3)~
REPLACE_STATE_TRIGGER ~%tutu_var%unshey~ 8 ~Global("UBHelpUnshey","GLOBAL",2)~
ADD_TRANS_ACTION ~%tutu_var%unshey~ BEGIN 1 END BEGIN 0 END ~SetGlobal("UBHelpUnshey","GLOBAL",1)~
ADD_TRANS_ACTION ~%tutu_var%unshey~ BEGIN 4 5 END BEGIN 0 END ~SetGlobal("UBHelpUnshey","GLOBAL",2)~
ADD_TRANS_ACTION ~%tutu_var%unshey~ BEGIN 6 END BEGIN 0 END ~SetGlobal("UBHelpUnshey","GLOBAL",3) GiveItemCreate("BOOK03",LastTalkedToBy,0,0,0)~
APPEND %tutu_var%unshey
IF WEIGHT #-1 ~HasItemEquiped("%tutu_var%BELT05",[PC]) Global("UBHelpUnshey","GLOBAL",2)~ THEN BEGIN UBUnsheyGenderGirdle
SAY ~Thanks for all of your help with that girdle guy. Was there something else?~
IF ~~ THEN REPLY ~That ogre had another girdle, and one of us put it on. It, well, caused a *change*. Do you know what we can do about it?~ GOTO 6
IF ~~ THEN REPLY ~Umm... Nevermind.~ EXIT
END
END
>>>>>>>>
COMPILE EVALUATE_BUFFER ~.../bg1ub/ubunsh.d~
I used HasItemEquiped() instead of the SEX_CHANGED stat so that the dialog didn't trigger on, for example, a wild surge sex change. This trigger only works on BG2 engine games, so BG1/TotSC would be left out. But, I don't know if the sex change opcode in BG1 sets the SEX_CHANGED stat anyway (BG1's STATS.IDS only goes up to 70).
-
The xp makes sense
If suddenly my dick disappeared I'd surely consider that as an experience 8)
-
Almateria! *laughs*
And yes, AstroBryGuy your changes make sense. On a serious note, the XP awarded are exclusively due to the fact that the quest finishes and gains a "Done Quest" entry. It'd feel a bit weird to not have any XP gain for it.