Pocket Plane Group

Friends and Neighbors => Weimer Republic (WeiDU.org) => WeiDU => Topic started by: jcompton on August 11, 2002, 10:57:25 AM

Title: Optimal I_C_T coding?
Post by: jcompton on August 11, 2002, 10:57:25 AM
Wes, can you take a look at this and tell me if there's a more "optimal" way to do it? The original code in Kelsey-TOB beta results in No Valid Links if Edwin isn't around. Here's my workaround, but if there's a more efficient way to go, please let me know.

Idea is that Kelsey always interjects, and if Eddie is there, he responds to Kelsey's interject, then we continue on.

INTERJECT_COPY_TRANS BAZMONK 11 FWkintbazmonk
== J#KLS25J IF ~IsValidForPartyDialog("J#Kelsey") IsValidForPartyDialog("Edwin")~ THEN @92
== EDWIN25J IF ~IsValidForPartyDialog("J#Kelsey") IsValidForPartyDialog("Edwin")~ THEN @93
END

INTERJECT_COPY_TRANS BAZMONK 11 FWkintbazmonk
== J#KLS25J IF ~IsValidForPartyDialog("J#Kelsey") !IsValidForPartyDialog("Edwin")~ THEN @92
END


                   
Title: Optimal I_C_T coding?
Post by: weimer on August 11, 2002, 12:39:28 PM
This should work:

INTERJECT_COPY_TRANS BAZMONK 11 FWkintbazmonk
== J#KLS25J IF ~IsValidForPartyDialog("J#Kelsey")~ THEN @92
== EDWIN25J IF ~IsValidForPartyDialog("J#Kelsey") IsValidForPartyDialog("Edwin")~ THEN @93
END

Of course, sometimes my own grasp of the semantics is fuzzy, but if you look in j#kls25j, the state where he says 92 should have 1+X branches: one where Edwin is also present,  and the rest are copy_trans of bazmonk 11.

Let me know if that doesn't happen.                    
Title: Optimal I_C_T coding?
Post by: jcompton on August 11, 2002, 12:55:44 PM
Quote
This should work:

INTERJECT_COPY_TRANS BAZMONK 11 FWkintbazmonk
== J#KLS25J IF ~IsValidForPartyDialog("J#Kelsey")~ THEN @92
== EDWIN25J IF ~IsValidForPartyDialog("J#Kelsey") IsValidForPartyDialog("Edwin")~ THEN @93
END

Of course, sometimes my own grasp of the semantics is fuzzy, but if you look in j#kls25j, the state where he says 92 should have 1+X branches: one where Edwin is also present,  and the rest are copy_trans of bazmonk 11.

Let me know if that doesn't happen.

Nope. That is in fact the code that I originally wrote.

It generates only this:

IF ~~ THEN BEGIN 112 // from:
  SAY #78673 /* ~If Balthazar needed something like that, I don't think it's something I would be able to power through with my magic... it would be too specialized.~ */
  IF ~IsValidForPartyDialog("J#Kelsey")
IsValidForPartyDialog("Edwin")~ THEN EXTERN ~EDWIN25J~ 14
END

So it would seem that the COPY_TRANSing is only happening at the end of the I_C_T. That wasn't your intention?                    



[!--EDIT|jcompton|Aug 11 2002, 01:56 PM--]
Title: Optimal I_C_T coding?
Post by: weimer on August 11, 2002, 02:12:43 PM
That's a bug. Next version (soon) will have the copy_trans bits in all of the states (but above any remaining interjection possibilities).
                   
Title: Optimal I_C_T coding?
Post by: weimer on August 11, 2002, 02:16:15 PM
New verison up. Can you verify that it works? And still works in old cases?                    
Title: Optimal I_C_T coding?
Post by: jcompton on August 11, 2002, 02:24:24 PM
I'll write something else up for it since my current Kelsey-TOB code is sort of a mess of the old and the new stuff. What do you want to know, exactly, when you say "still works in the old cases"?