INIT
DB_CharacterToCount(CHARACTER_Player1);
DB_CharacterToCount(CHARACTER_Player2);
DB_AttributeNames("Strength");
DB_AttributeNames("Intelligence");
DB_AttributeNames("Constitution");
DB_AttributeNames("Speed");
DB_AttributeNames("Perception");
DB_AttributeNames("Dexterity");
DB_AttributeValues(5,"5");
DB_AttributeValues(6,"6");
DB_AttributeValues(7,"7");
DB_AttributeValues(8,"8");
DB_AttributeValues(9,"9");
DB_AttributeValues(10,"10");
DB_AttributeValues(11,"11");
DB_AttributeValues(12,"12");
DB_AttributeValues(13,"13");
DB_AttributeValues(14,"14");
DB_AttributeValues(15,"15");
DB_AttributeValues(16,"16");
DB_AttributeValues(17,"17");
DB_AttributeValues(18,"18");
DB_AttributeValues(19,"19");
DB_AttributeValues(20,"20");
KB
IF
DialogStarted(_DialogName,_InstanceID)
THEN
ProcTriggerAttributeCheck();
IF
DialogStartRequested(_Character1,_Character2)
THEN
ProcTriggerAttributeCheck();
PROC
ProcTriggerAttributeCheck()
AND
DB_AttributeNames(_AttributeName)
AND
DB_CharacterToCount(_Character)
AND
CharacterGetAttribute(_Character,_AttributeName,_AttributeValue)
THEN
SetAttributeFlag(_AttributeName,_AttributeValue);
PROC
SetAttributeFlag((STRING)_Attribute,(INTEGER)_Value)
THEN
ProcGetValueAsString(_Attribute,_Value);
//This part generates a string and then subtracts 1 from the attribute value
so that it will then generate all the appropriate strings down to 5. So if you have Strength8, it will generate "Strength8,"
then "Strenth7," then "Strength6," etc.
PROC
ProcGetValueAsString((STRING)_Attribute,(INTEGER)_Value)
AND
DB_AttributeValues(_Value,_ValueAsString)
AND
StringConcatenate(_Attribute,_ValueAsString,_StringResult)
AND
NOT DB_EventSet(_StringResult)
AND
IntegerSubtract(_Value,1,_ValueMinusOne)
THEN
GlobalSetEvent(_StringResult);
DB_EventSet(_StringResult);
ProcGetValueAsString(_Attribute,_ValueMinusOne);