Author Topic: Unshey  (Read 1293 times)

Offline Salk

  • Planewalker
  • *****
  • Posts: 843
Unshey
« 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.

Offline Salk

  • Planewalker
  • *****
  • Posts: 843
Re: Unshey
« Reply #1 on: August 22, 2015, 07:47:43 AM »
Again, I try and offer a solution but I am sure you can do better AstroBryGuy.

Code: [Select]
//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
« Last Edit: August 22, 2015, 05:08:24 PM by Salk »

Offline Tash

  • Planewalker
  • *****
  • Posts: 17
Re: Unshey
« Reply #2 on: August 22, 2015, 02:16:46 PM »
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?

Offline Salk

  • Planewalker
  • *****
  • Posts: 843
Re: Unshey
« Reply #3 on: August 22, 2015, 04:32:04 PM »
Yes, I think that was the original idea (I had forgot the part about giving experience and the item so I added it).

Offline Salk

  • Planewalker
  • *****
  • Posts: 843
Re: Unshey
« Reply #4 on: August 24, 2015, 04:58:38 AM »
Well, let's see if AstroBryGuy has anything to say about this... :)

Offline AstroBryGuy

  • Planewalker
  • *****
  • Posts: 153
  • Gender: Male
Re: Unshey
« Reply #5 on: August 29, 2015, 10:57:28 PM »
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

Code: [Select]
//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).

Offline Almateria

  • Planewalker
  • *****
  • Posts: 74
Re: Unshey
« Reply #6 on: August 30, 2015, 08:28:00 AM »
The xp makes sense

If suddenly my dick disappeared I'd surely consider that as an experience  8)

Offline Salk

  • Planewalker
  • *****
  • Posts: 843
Re: Unshey
« Reply #7 on: September 01, 2015, 05:53:24 AM »
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.

 

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