Точка входа
Вашь код будет выполнен после фукции пересчета листа, он происходит при каждом событии изменения любого из парамтеров на листе (частичного пересчета не существует)
Полезные функции
gm("some obj") // поиск объекта на листе персонажа - jQuery поиск - возвращает jQuery объект
bindEvents() //переразваесить все события наобъектах
echo (text,text,...) // вывести в консоль
setCustomLib("ссылка на просмотр библиотеки (только код)","Имя кнопки","ссылка","имя",и т.п.) //В начале работы загрузит первую библиотеку вместо Advantages и заменит кнопки на этот список
Примеры поиска объектов на листе персонажа
gm("ST_result").int();
gm("locations-list>location[name='skull']>dr").int();
globalAdvantagesList.find(">spell_bonus").parent(); // думаю найдется magery
коллекции jQuery объектов
globalAllList //advantage,skill,technique,spell,equipment
globalModifiersOn //тут стоит искать только по > иначе находишь лишнее!
globalAdvantagesList
globalAdvantagesAndModifiersList
globalSkillsList
globalSkillsListNotStopped
globalTechniqueList
globalSkillsAndTechniqueListNotStopped
globalSpellsList
globalSpellsListNotStopped
globalEquipmentList
Полезные css классы
После добавления надо выполнить bindEvents()
.editable // редактируемое текстовое поле
.spinner //числовое поле (editable тоже нужно)
Уточняющие классы спинера: .spinner-decile, .spinner-quarter, .spinner-half, .spinner-five, .spinner-control-roll, .spinner-damage, .spinner-positive, .spinner-not-negative, .spinner-not-positive,
Штатная функция пересчета персонажа вызывает следующее:
charCalcModifiersBonuses() // Проходим все "включенные" модификаторы и собираем с них разные бонусы
charCalcStats() // Считаем стоимость основных и вторичных статов
charCalcLiftHpFp() // Строим таблицы нагрузки, хитпоинтов, усталости
calcEquipmentWeightAndValue(gm("total-wealth-modifier").text()*1.0); // Обновляем вес предметов
charCalcMove() // Только после расчета веса!!!
charCalcAllLists() // Большой цикл - считаем все объекты в списках - даватаги, скилы и т.п.
charCalcBaseDamage() // считаем damage
charCalcActiveDefence() // Активные защиты - dodge, pary, block
charCalcTotal() // Считаем Итого
charCalcWeapons() // Оружие
charCalcDR() // DR - строим таблицу
Примеры
Считаем damage по своему
var st=gm("ST_result").int();
var newSwDmg=Math.round(st/2)+"d";
gm("damages damage-sw").html(newSwDmg);
charCalcWeapons(); //Надо обновить расчет повреждений у оружия