new subtable "0,1;1,1"
That just means there's a 50% chance to get the item, 50% not. They're basically weightings, where 1 = 100, hence 1,1, means 100% chance to get 1 item, but half the time there will be 0% chance to get the item. I think that's how it works.
Yup on the weightings in the object categories.
object category "Precious",5,100,0,0,0,0,0,0
The first number is weightings. These don't have to add up to 100 with the main subtable weightings. If I recall correctly, the next four numbers represent common, uncommon, rare, purple/orange items (depends on your level when you find epic, legendary, or divine items.) The last three numbers (always 0s) don't seem to do anything.
Big news for Scales: I'm attempting to edit the AI. Charscripts are easy to edit and don't need the editor. I think I've already made melee attackers ignore charmed entities. Unfortunately, every skill has its own targeting protocols that override this, so I need to modify every single skill.
For example, the enemy charming arrow skill has FOURTEEN conditions. This one is a bit extreme and unusual in that it already actually has a line for charmed, where I think it promotes recharming their own allies, but I think it also encourages recharming someone who's already charmed (the idea behind this I think is that enemies almost never have more than one opportunity to charm anyway).
ON
OnIterateCharacter(_Char, "CalculateTarget_WPN_Arrow_Charming_A")
ACTIONS
// [CALC_CHAR_TARGET_ACTIONS_PRE]
Set(_ClassScore_WPN_Arrow_Charming_A, %ClassScore_WPN_Arrow_Charming_A)
Set(_Score, 0.0)
// [~CALC_CHAR_TARGET_ACTIONS_PRE]
// [CALC_CHAR_TARGET_ACTIONS]
IF "(!c1&!c2&!c3)&((((((c4)|c5)|c6)|c7)|c8)|c9)&(!(c10))&(c11)&(c12)&(c13)&(c14)"
CharacterIsDead(_Char) // c1
CharacterHasStatus(_Char, INVISIBLE) // c2
CharacterHasStatus(_Char, SNEAKING) // c3
CharacterHasStatus(_Char, HASTED) // c4
CharacterHasStatus(_Char, BLESSED) // c5
CharacterHasStatus(_Char, SHIELD) // c6
CharacterHasStatus(_Char, FORTIFIED) // c7
CharacterHasStatus(_Char, CHARMED) // c8
CharacterIsBetterOrEqualClass(_Char, %ClassScore_WPN_Arrow_Charming_A, _ClassScore_WPN_Arrow_Charming_A, 5, 2, 0, 3, 4) // c9
CharacterHasStatus(_Char, FEAR) // c10
CharacterIsEnemy(__Me, _Char) // c11
CharacterGetHostileCount(_HostileCount, _Char) // c12
CharacterGetSkillRange(_SkillRangeMin, _SkillRangeMax, __Me, %SkillID_WPN_Arrow_Charming_A) // c13
GetDistance(_DistanceToChar, __Me, _Char) // c14
THEN
Set(%ClassScore_WPN_Arrow_Charming_A, _ClassScore_WPN_Arrow_Charming_A)
IF "(c1)"
CharacterHasStatus(_Char, HASTED) // c1
THEN
Add(_Score, 5.0)
ENDIF
IF "(c1)"
CharacterHasStatus(_Char, BLESSED) // c1
THEN
Add(_Score, 5.0)
ENDIF
IF "(c1)"
CharacterHasStatus(_Char, SHIELD) // c1
THEN
Add(_Score, 5.0)
ENDIF
IF "(c1)"
CharacterHasStatus(_Char, FORTIFIED) // c1
THEN
Add(_Score, 5.0)
ENDIF
IF "(c1)"
CharacterHasStatus(_Char, CHARMED) // c1
THEN
Add(_Score, 5.0)
ENDIF
// Hostile count score calculation
IF "(c1)"
IsGreaterThen(_HostileCount, 2) // c1
THEN
Set(_HostileScore, 10.0)
ENDIF
Add(_Score, _HostileScore)
// Range score calculation
Set(_DistanceScore, _DistanceToChar)
IF "(c1)"
IsGreaterThen(_DistanceScore, _SkillRangeMax) // c1
THEN
Subtract(_DistanceScore, _SkillRangeMax)
Multiply(_DistanceScore, -1.0)
ELIF "(c1)"
IsLessThen(_DistanceScore, _SkillRangeMin) // c1
THEN
Subtract(_DistanceScore, _SkillRangeMin)
Multiply(_DistanceScore, 1.0)
ELSE
Set(_DistanceScore, 0.0)
ENDIF
Add(_Score, _DistanceScore)
// Can see score calculation
IF "!c1"
CharacterCanSee(__Me, _Char)
THEN
Add(_Score, -10.0)
ENDIF
IF "c1"
IsGreaterThen(_Score, %SkillTargetScore_WPN_Arrow_Charming_A)
THEN
Set(%SkillTargetChar_WPN_Arrow_Charming_A, _Char)
Set(%SkillTargetScore_WPN_Arrow_Charming_A, _Score)
ENDIF
ENDIF
// [~CALC_CHAR_TARGET_ACTIONS]
There's a .bat file in a "generator folder" which references ruby files to generate the baseline of each script, but those ruby files don't exist in the EE files. They do in the original D:OS, and there's also this really neat excel file that lists all the priorities for skills, and if I could get that to work for the EE too, that'd be awesome, but not sure how different the base scripts are for the EE. I don't want to move backwards with the AI. So I might have to wait for the editor for this (assuming these files will come with the editor) because I don't think I want to manually inject conditions for enemies to not attack charmed enemies for every skill.
I should also probably wait for the Blind and taunt fixes before modifying too much so I have a solid base to work on, so it might be a while before I really can tackle the AI, as much as I want to.