Thinking differently

Now, for another scenic variation, this scene uses a separate set of think topics when active (uses also the new thoughtsugg.t optional library of adv3Lite, so is also a good, I hope, demo of its usage)

This time, the source is in two parts, the scene proper, and the thought topics definitions.

First, the scene itself:

// test thinking scene
thinktest: Scene// EventList
startsWhen = (thcap.isWornBy(etuye))
endsWhen = (!thcap.isWornBy(etuye))
thoCount = 0
recurring = true
whenStarting() {
  "you wear your thinking cap, and lo and behold, indeed some specific 
thoughts came into your mind:\n";
  libGlobal.thoughtManagerObj.showSuggestions();
//  ThoughtManager.showSuggestions();
}
whenEnding() {"You ended your thinking session, in which you thinked about 
<<spellNumber(thinktest.thoCount)>> topics out of four.";
  suggestionEnumerator.initialize();
}
eachTurn() {}
//preAction(lst) {}
//eventList = []

finishOff(howEnded) {"Doffing your cap, you return to the actual story";}
; //thinktest

and the topic definition, where the actual trick lies:

Thought @tsweather
"scenically nice and fair.
<<first time>><<cf({:thinktest.thoCount++})>><<only>>"
  location = thoughts
//  name = 'the weather' //won't work. Clashes with the non-cap weather !
  name = 'capping the weather' // <-- this prove the clashing !
  listOrder = 204
  isActive = (thinktest.isHappening)
;

Thought @tsscene
"I wonder if the thinking scenes like this actyally works...
<<first time>><<cf({:thinktest.thoCount++})>><<only>>"
  location = thoughts
  name = 'on scenes'
  listOrder = 203
  isActive = (thinktest.isHappening)
;

Thought @tsalpha
"The canonical first round of testing
<<first time>><<cf({:thinktest.thoCount++})>><<only>>"
  location = thoughts
  name = 'alpha test'
  listOrder = 201
  isActive = (thinktest.isHappening)

;

Thought @tsbeta
"Needs testers, then is best a public beta !
<<first time>><<cf({:thinktest.thoCount++})>><<only>>"
  location = thoughts
  name = 'beta test'
  listOrder = 202
  isActive = (thinktest.isHappening)
;

note that the “ordinary” topics conversely have:

Thought @situation
"about my situation... it is definitively unusual, there's no other 
definition feasible.. well, let's take some time, for now."
location = thoughts
name = 'your situation'
listOrder = 104
isActive = (!thinktest.isHappening)
;

Thought @weather
"nice."
location = thoughts
name = 'the weather'
listOrder = 105
isActive = (!thinktest.isHappening)
;

(notice the NOT active condition)

only issues, the name property must not conflict between the ordinary ones and the different ones during the scene.

That’s all !

Best regards from Italy,
dott. Piergiorgio.

2 Likes