<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://159.203.101.162/w/index.php?action=history&amp;feed=atom&amp;title=Simple_CDOMObject_Proposals</id>
	<title>Simple CDOMObject Proposals - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://159.203.101.162/w/index.php?action=history&amp;feed=atom&amp;title=Simple_CDOMObject_Proposals"/>
	<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Simple_CDOMObject_Proposals&amp;action=history"/>
	<updated>2026-04-05T18:36:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Simple_CDOMObject_Proposals&amp;diff=1339&amp;oldid=prev</id>
		<title>Tom Parker: New page: {| align=&quot;right&quot;   | __TOC__   |}  =CHOOSE Proposals for Simple CDOMObjects=  ==CHOOSE:PCSTAT==  SUBTOKEN: PCSTAT (new)&lt;br&gt; SUBTOKEN: STAT (deprecated by this proposal)&lt;br&gt;  Reason for dep...</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Simple_CDOMObject_Proposals&amp;diff=1339&amp;oldid=prev"/>
		<updated>2009-03-24T22:00:16Z</updated>

		<summary type="html">&lt;p&gt;New page: {| align=&amp;quot;right&amp;quot;   | __TOC__   |}  =CHOOSE Proposals for Simple CDOMObjects=  ==CHOOSE:PCSTAT==  SUBTOKEN: PCSTAT (new)&amp;lt;br&amp;gt; SUBTOKEN: STAT (deprecated by this proposal)&amp;lt;br&amp;gt;  Reason for dep...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=CHOOSE Proposals for Simple CDOMObjects=&lt;br /&gt;
&lt;br /&gt;
==CHOOSE:PCSTAT==&lt;br /&gt;
&lt;br /&gt;
SUBTOKEN: PCSTAT (new)&amp;lt;br&amp;gt;&lt;br /&gt;
SUBTOKEN: STAT (deprecated by this proposal)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reason for deprecation: The Challenge with the existing CHOOSE:STAT is that it is negative.  Meaning, CHOOSE:STAT|STR means to allow a choice of any STAT except STR.  This seems a bit weird, and I would like to get away from this.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:PCSTAT|x|x&lt;br /&gt;
&lt;br /&gt;
x is a PRIMITIVE&lt;br /&gt;
&lt;br /&gt;
A PRIMITIVE is an identifier of objects, and may include any number of specifications.  &lt;br /&gt;
&lt;br /&gt;
In the case of PCStat objects, the only valid PRIMITIVES are the four global PRIMITIVES:&lt;br /&gt;
&lt;br /&gt;
x = a Stat abbreviation (STR, INT, etc.)&amp;lt;br&amp;gt;&lt;br /&gt;
x = TYPE=w (w is a TYPE identifier for a Stat) - note that none of our STATs actually use TYPE: but this works anyway :)&amp;lt;br&amp;gt;&lt;br /&gt;
x = !TYPE=w (w is a TYPE identifier for a Stat that would be prohibited)&amp;lt;br&amp;gt;&lt;br /&gt;
x = ALL (allow the choice of any STAT)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since we can easily add other things later (at least a lot easier than the old CHOOSE system), I would like to start simple on this one. :)&lt;br /&gt;
&lt;br /&gt;
===Conversion===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:STAT&amp;lt;br&amp;gt;&lt;br /&gt;
becomes&amp;lt;br&amp;gt;&lt;br /&gt;
CHOOSE:PCSTAT|ALL&lt;br /&gt;
&lt;br /&gt;
CHOOSE:STAT|STR&amp;lt;br&amp;gt;&lt;br /&gt;
becomes&amp;lt;br&amp;gt;&lt;br /&gt;
CHOOSE:PCSTAT|INT|WIS|DEX|CON|CHA&lt;br /&gt;
&lt;br /&gt;
Note that this latter replacement is &amp;quot;deterministic&amp;quot; as the Stats can only be defined in the Game Mode.&lt;br /&gt;
&lt;br /&gt;
==CHOOSE:CHECK==&lt;br /&gt;
&lt;br /&gt;
SUBTOKEN: CHECK (new)&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:CHECK|x|x&lt;br /&gt;
&lt;br /&gt;
x is a Check PRIMITIVE&lt;br /&gt;
&lt;br /&gt;
A PRIMITIVE is an identifier of objects, and may include any number of specifications.  In the case of Check objects, there are are the three global PRIMITIVES:&lt;br /&gt;
&lt;br /&gt;
x = an Check (specified by key)&amp;lt;br&amp;gt;&lt;br /&gt;
x = TYPE=w (w is a TYPE identifier for a Check) - note that none of our Checks have TYPE today, but this will still work in theory&amp;lt;br&amp;gt;&lt;br /&gt;
x = !TYPE=w (w is a TYPE identifier for a Check that would be prohibited)&amp;lt;br&amp;gt;&lt;br /&gt;
x = ALL (allow the choice of any Check)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A comma represents &amp;quot;AND&amp;quot;, meaning multiple items are evaluated independently and then any item that appears in ALL of the items is added to the list.&lt;br /&gt;
&lt;br /&gt;
CHOOSE:CHECK|Will,Fortitude&lt;br /&gt;
&lt;br /&gt;
will result in NO choices because no Check is both Will and Fortitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A pipe represents &amp;quot;OR&amp;quot;, meaning multiple items are evaluated independently and then any item that appears in any of the items is added to the list:&lt;br /&gt;
&lt;br /&gt;
CHOOSE:CHECK|Will|Fortitude&lt;br /&gt;
&lt;br /&gt;
will result in a choice between Check Will and Check Fortitude.&lt;br /&gt;
&lt;br /&gt;
===Conversion===&lt;br /&gt;
&lt;br /&gt;
None, CHECK is a new Subtoken for CHOOSE\&lt;br /&gt;
&lt;br /&gt;
==CHOOSE:SIZE==&lt;br /&gt;
&lt;br /&gt;
SUBTOKEN: SIZE (new)&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:SIZE|x|x&lt;br /&gt;
&lt;br /&gt;
x is a SizeAdjustment PRIMITIVE&lt;br /&gt;
&lt;br /&gt;
A PRIMITIVE is an identifier of objects, and may include any number of specifications.  In the case of SizeAdjustment objects, there are are the three global PRIMITIVES:&lt;br /&gt;
&lt;br /&gt;
x = an SizeAdjustment (specified by key)&amp;lt;br&amp;gt;&lt;br /&gt;
x = TYPE=w (w is a TYPE identifier for a SizeAdjustment) - note that none of our SizeAdjustments have TYPE today, but this will still work in theory&amp;lt;br&amp;gt;&lt;br /&gt;
x = !TYPE=w (w is a TYPE identifier for a SizeAdjustment that would be prohibited)&amp;lt;br&amp;gt;&lt;br /&gt;
x = ALL (allow the choice of any SizeAdjustment)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A comma represents &amp;quot;AND&amp;quot;, meaning multiple items are evaluated independently and then any item that appears in ALL of the items is added to the list.&lt;br /&gt;
&lt;br /&gt;
CHOOSE:SIZE|Small,Colossal&lt;br /&gt;
&lt;br /&gt;
will result in NO choices because no SizeAdjustment is both Small and Colossal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A pipe represents &amp;quot;OR&amp;quot;, meaning multiple items are evaluated independently and then any item that appears in any of the items is added to the list:&lt;br /&gt;
&lt;br /&gt;
CHOOSE:SIZE|Small|Colossal&lt;br /&gt;
&lt;br /&gt;
will result in a choice between SizeAdjustment Small and SizeAdjustment Colossal.&lt;br /&gt;
&lt;br /&gt;
===Conversion===&lt;br /&gt;
&lt;br /&gt;
None, SIZE is a new Subtoken for CHOOSE&lt;br /&gt;
&lt;br /&gt;
==CHOOSE:ALIGNMENT==&lt;br /&gt;
&lt;br /&gt;
SUBTOKEN: ALIGNMENT (new)&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
&lt;br /&gt;
CHOOSE:ALIGNMENT|x|x&lt;br /&gt;
&lt;br /&gt;
x is a PCAlignment PRIMITIVE&lt;br /&gt;
&lt;br /&gt;
A PRIMITIVE is an identifier of objects, and may include any number of specifications.  In the case of PCAlignment objects, there are are the three global PRIMITIVES:&lt;br /&gt;
&lt;br /&gt;
x = an PCAlignment (specified by key)&amp;lt;br&amp;gt;&lt;br /&gt;
x = TYPE=w (w is a TYPE identifier for a PCAlignment) - note that none of our PCAlignments have TYPE today, but this will still work in theory&amp;lt;br&amp;gt;&lt;br /&gt;
x = !TYPE=w (w is a TYPE identifier for a PCAlignment that would be prohibited)&amp;lt;br&amp;gt;&lt;br /&gt;
x = ALL (allow the choice of any PCAlignment)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A comma represents &amp;quot;AND&amp;quot;, meaning multiple items are evaluated independently and then any item that appears in ALL of the items is added to the list.&lt;br /&gt;
&lt;br /&gt;
CHOOSE:ALIGNMENT|LG,CN&lt;br /&gt;
&lt;br /&gt;
will result in NO choices because no PCAlignment is both LG and CN.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A pipe represents &amp;quot;OR&amp;quot;, meaning multiple items are evaluated independently and then any item that appears in any of the items is added to the list:&lt;br /&gt;
&lt;br /&gt;
CHOOSE:ALIGNMENT|LG|CN&lt;br /&gt;
&lt;br /&gt;
will result in a choice between PCAlignment LG and PCAlignment CN.&lt;br /&gt;
&lt;br /&gt;
===Conversion===&lt;br /&gt;
&lt;br /&gt;
None, ALIGNMENT is a new Subtoken for CHOOSE&lt;/div&gt;</summary>
		<author><name>Tom Parker</name></author>
		
	</entry>
</feed>