class ExInfoClass extends MovieClip
{
var valueList = [[24,"Health",1],[25,"Magicka",1],[26,"Stamina",1],[32,"CarryWeight",1],[27,"HealRate",1],[28,"MagickaRate",1],[29,"StaminaRate",1],[155,"HealRateMult",1],[156,"MagickaRateMult",1],[157,"StaminaRateMult",1],[154,"AttackDamageMult",1],[30,"SpeedMult",1],[6,"OneHanded",2],[7,"TwoHanded",2],[8,"Marksman",2],[9,"Block",2],[10,"Smithing",2],[11,"HeavyArmor",2],[12,"LightArmor",2],[13,"Pickpocket",2],[14,"Lockpicking",2],[15,"Sneak",2],[16,"Alchemy",2],[17,"Speechcraft",2],[18,"Alteration",2],[19,"Conjuration",2],[20,"Destruction",2],[21,"Illusion",2],[22,"Restoration",2],[23,"Enchanting",2],[39,"DamageResist",3],[40,"PoisonResist",3],[41,"FireResist",3],[42,"ElectricResist",3],[43,"FrostResist",3],[44,"MagicResist",3],[45,"DiseaseResist",3],[0,"Aggression",4],[1,"Confidence",4],[2,"Energy",4],[3,"Morality",4],[4,"Mood",4],[5,"Assistance",4],[31,"InventryWeight",0],[33,"DragonRend",0],[34,"unknown",0],[35,"unknown",0],[36,"unknown",0],[37,"unknown",0],[38,"unknown",0],[46,"unknown",0],[47,"unknown",0],[48,"unknown",0],[49,"unknown",0],[50,"unknown",0],[51,"unknown",0],[52,"unknown",0],[53,"Paralysis",0],[54,"Invisibility",0],[55,"NightEye",0],[56,"DetectLifeRange",0],[57,"WaterBreathing",0],[58,"WaterWalking",0],[59,"IgnoreCrippledLimbs",0],[60,"Fame",0],[61,"Infamy",0],[62,"JumpingBonus",0],[63,"WardPower",0],[64,"RightItemCharge",0],[65,"LeftItemCharge",0],[66,"EquippedItemCharge",0],[67,"ArmorPerks",0],[68,"ShieldPerks",0],[69,"Variable01",0],[70,"Variable02",0],[71,"Variable03",0],[72,"Variable04",0],[73,"Variable05",0],[74,"Variable06",0],[75,"Variable07",0],[76,"Variable08",0],[77,"Variable09",0],[78,"Variable10",0],[79,"FavorActive",0],[80,"FavorsPerDay",0],[81,"FavorsPerDayTimer",0],[82,"EquippedStaffCharge",0],[83,"AbsorbChance",0],[84,"Blindness",0],[85,"WeaponSpeedMult",0],[86,"ShoutRecoveryMult",0],[87,"BowStaggerBonus",0],[88,"Telekinesis",0],[89,"FavorPointsBonus",0],[90,"LastBribedIntmidated",0],[91,"LastFlattered",0],[92,"MovementNoiseMult",0],[93,"BypassVendorStolenCheck",0],[94,"BypassVendorKeywordCheck",0],[95,"WaitingForPlayer",0],[96,"OneHandedMod",0],[97,"TwoHandedMod",0],[98,"MarksmanMod",0],[99,"BlockMod",0],[100,"SmithingMod",0],[101,"HeavyArmorMod",0],[102,"LightArmorMod",0],[103,"PickPocketMod",0],[104,"LockpickingMod",0],[105,"SneakMod",0],[106,"AlchemyMod",0],[107,"SpeechcraftMod",0],[108,"AlterationMod",0],[109,"ConjurationMod",0],[110,"DestructionMod",0],[111,"IllusionMod",0],[112,"RestorationMod",0],[113,"EnchantingMod",0],[114,"OneHandedSkillAdvance",0],[115,"TwoHandedSkillAdvance",0],[116,"MarksmanSkillAdvance",0],[117,"BlockSkillAdvance",0],[118,"SmithingSkillAdvance",0],[119,"HeavyArmorSkillAdvance",0],[120,"LightArmorSkillAdvance",0],[121,"PickPocketSkillAdvance",0],[122,"LockpickingSkillAdvance",0],[123,"SneakSkillAdvance",0],[124,"AlchemySkillAdvance",0],[125,"SpeechcraftSkillAdvance",0],[126,"AlterationSkillAdvance",0],[127,"ConjurationSkillAdvance",0],[128,"DestructionSkillAdvance",0],[129,"IllusionSkillAdvance",0],[130,"RestorationSkillAdvance",0],[131,"EnchantingSkillAdvance",0],[132,"LeftWeaponSpeedMult",0],[133,"DragonSouls",0],[134,"CombatHealthRegenMult",0],[135,"OneHandedPowerMod",0],[136,"TwoHandedPowerMod",0],[137,"MarksmanPowerMod",0],[138,"BlockPowerMod",0],[139,"SmithingPowerMod",0],[140,"HeavyArmorPowerMod",0],[141,"LightArmorPowerMod",0],[142,"PickPocketPowerMod",0],[143,"LockpickingPowerMod",0],[144,"SneakPowerMod",0],[145,"AlchemyPowerMod",0],[146,"SpeechcraftPowerMod",0],[147,"AlterationPowerMod",0],[148,"ConjurationPowerMod",0],[149,"DestructionPowerMod",0],[150,"IllusionPowerMod",0],[151,"RestorationPowerMod",0],[152,"EnchantingPowerMod",0],[153,"unknown",0],[158,"unknown",0],[159,"unknown",0],[160,"unknown",0],[161,"unknown",0],[162,"unknown",0],[163,"ReflectDamage",0]];
var aColor = [16777215,12648384,16761024,12632319,12648384,16761024];
var armorType = ["Light","Heavy","none"];
static var T_CHARACTER = 62;
static var T_CONTAINER = 28;
static var T_WEAPON = 41;
static var T_ARMOR = 26;
static var T_OBJREF = 61;
static var T_SPELL = 22;
static var T_SCROLL = 23;
static var T_POTION = 46;
function ExInfoClass()
{
super();
this.ExInfoWindow_mc = this._parent.ExInfoWindow_mc;
this.scrollIndex = 0;
this.entryArray = [];
var _loc3_ = 0;
while(this["text_mc" + _loc3_])
{
_loc3_ = _loc3_ + 1;
}
this.entryNum = _loc3_;
}
function ShowChild(ref, infoMode, extraIndex)
{
if(ref == 0 || ref == undefined || !this.ExInfoWindow_mc.InfoList_mc)
{
return undefined;
}
this.ExInfoWindow_mc.InfoList_mc.GetAndShow(ref,0,infoMode,extraIndex);
}
function SetEntryData(text, childRef, infoMode, extraIndex, baseColor)
{
var _loc1_ = {text:text,childRef:childRef,infoMode:infoMode,extraIndex:extraIndex,baseColor:baseColor};
return _loc1_;
}
function StrID(formID)
{
var _loc1_ = "00000000" + formID.toString(16);
_loc1_ = _loc1_.substr(-8);
return _loc1_;
}
function GetAndShow(ref, baseRef, infoMode, extraIndex)
{
if(infoMode == undefined)
{
infoMode = 0;
}
if(ref == undefined || ref == 0)
{
this._parent._visible = false;
return undefined;
}
var _loc3_ = new Object();
_global.skse.plugins.MfgConsole.GetObjectExtraData(ref,_loc3_);
if(_loc3_ == undefined || _loc3_.formType == undefined)
{
this._parent._visible = false;
return undefined;
}
if(_loc3_.formType == ExInfoClass.T_OBJREF)
{
if(baseRef == undefined || baseRef == 0)
{
this._parent._visible = false;
return undefined;
}
ref = baseRef;
_loc3_ = new Object();
_global.skse.plugins.MfgConsole.GetObjectExtraData(ref,_loc3_);
if(_loc3_ == undefined || _loc3_.formType == undefined)
{
this._parent._visible = false;
return undefined;
}
}
this.entryArray.splice(0,this.entryArray.length);
this.scrollIndex = 0;
if(_loc3_.formType == ExInfoClass.T_CHARACTER)
{
if(infoMode == 0)
{
this.entryArray.push(this.SetEntryData("name: " + _loc3_.actorBase.name));
this.entryArray.push(this.SetEntryData("ID: " + this.StrID(_loc3_.actorBase.formId)));
this.entryArray.push(this.SetEntryData("modName: " + _loc3_.actorBase.modName));
this.entryArray.push(this.SetEntryData("race: " + _loc3_.actorBase.race.fullName));
this.entryArray.push(this.SetEntryData("Level: " + _loc3_.level,0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData("minLevel: " + _loc3_.actorBase.minLevel,0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData("maxLevel: " + _loc3_.actorBase.maxLevel,0,0,0,this.aColor[1]));
var _loc4_ = 0;
while(_loc4_ < 3)
{
this.entryArray.push(this.SetEntryData(this.valueList[_loc4_][1] + ": " + _loc3_.actorValues[this.valueList[_loc4_][0]].current,0,0,0,this.aColor[this.valueList[_loc4_][2]]));
_loc4_ = _loc4_ + 1;
}
this.entryArray.push(this.SetEntryData("values >",ref,3));
this.entryArray.push(this.SetEntryData("activeEffects(" + _loc3_.activeEffects.length + ") >",ref,1));
this.entryArray.push(this.SetEntryData("spells(" + _loc3_.spells.length + ") >",ref,2));
this.entryArray.push(this.SetEntryData("equipments(" + _loc3_.equipments.length + ") >",ref,5));
}
else if(infoMode == 1)
{
this.entryArray.push(this.SetEntryData("--- Active ---",0,0,0,this.aColor[0]));
_loc4_ = 0;
while(_loc4_ < _loc3_.activeEffects.length)
{
if(!(_loc3_.activeEffects[_loc4_].inactive || _loc3_.activeEffects[_loc4_].magicEffect.hideInUI))
{
this.entryArray.push(this.SetEntryData(_loc3_.activeEffects[_loc4_].magicEffect.effectName + " >",ref,4,_loc4_,this.aColor[0]));
}
_loc4_ = _loc4_ + 1;
}
this.entryArray.push(this.SetEntryData("--- Inactive ---",0,0,0,this.aColor[1]));
_loc4_ = 0;
while(_loc4_ < _loc3_.activeEffects.length)
{
if(_loc3_.activeEffects[_loc4_].inactive && !_loc3_.activeEffects[_loc4_].magicEffect.hideInUI)
{
this.entryArray.push(this.SetEntryData(_loc3_.activeEffects[_loc4_].magicEffect.effectName + " >",ref,4,_loc4_,this.aColor[1]));
}
_loc4_ = _loc4_ + 1;
}
this.entryArray.push(this.SetEntryData("--- Active, hidden ---",0,0,0,this.aColor[2]));
_loc4_ = 0;
while(_loc4_ < _loc3_.activeEffects.length)
{
if(!_loc3_.activeEffects[_loc4_].inactive && _loc3_.activeEffects[_loc4_].magicEffect.hideInUI)
{
this.entryArray.push(this.SetEntryData(_loc3_.activeEffects[_loc4_].magicEffect.effectName + " >",ref,4,_loc4_,this.aColor[2]));
}
_loc4_ = _loc4_ + 1;
}
this.entryArray.push(this.SetEntryData("--- Inactive, hidden ---",0,0,0,this.aColor[3]));
_loc4_ = 0;
while(_loc4_ < _loc3_.activeEffects.length)
{
if(_loc3_.activeEffects[_loc4_].inactive && _loc3_.activeEffects[_loc4_].magicEffect.hideInUI)
{
this.entryArray.push(this.SetEntryData(_loc3_.activeEffects[_loc4_].magicEffect.effectName + " >",ref,4,_loc4_,this.aColor[3]));
}
_loc4_ = _loc4_ + 1;
}
}
else if(infoMode == 4)
{
this.entryArray.push(this.SetEntryData("mgef: " + _loc3_.activeEffects[extraIndex].magicEffect.name));
this.entryArray.push(this.SetEntryData("mgefID: " + this.StrID(_loc3_.activeEffects[extraIndex].magicEffect.formId)));
this.entryArray.push(this.SetEntryData("mgefMod: " + _loc3_.activeEffects[extraIndex].magicEffect.modName));
this.entryArray.push(this.SetEntryData("elapsed: " + _loc3_.activeEffects[extraIndex].elapsed));
this.entryArray.push(this.SetEntryData("duration: " + _loc3_.activeEffects[extraIndex].duration));
this.entryArray.push(this.SetEntryData("magnitude: " + _loc3_.activeEffects[extraIndex].magnitude));
this.entryArray.push(this.SetEntryData("inactive: " + _loc3_.activeEffects[extraIndex].inactive));
this.entryArray.push(this.SetEntryData("HideInUI: " + _loc3_.activeEffects[extraIndex].magicEffect.hideInUI));
this.entryArray.push(this.SetEntryData("spell: " + _loc3_.activeEffects[extraIndex].magicItem.spellName,0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData("spellID: " + this.StrID(_loc3_.activeEffects[extraIndex].magicItem.formId),0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData("mod: " + _loc3_.activeEffects[extraIndex].magicItem.modName,0,0,0,this.aColor[1]));
}
else if(infoMode == 2)
{
_loc4_ = 0;
while(_loc4_ < _loc3_.spells.length)
{
this.entryArray.push(this.SetEntryData("\'" + _loc3_.spells[_loc4_].spellName + "\' >",_loc3_.spells[_loc4_].formId));
_loc4_ = _loc4_ + 1;
}
}
else if(infoMode == 3)
{
_loc4_ = 3;
while(_loc4_ < this.valueList.length)
{
this.entryArray.push(this.SetEntryData(this.valueList[_loc4_][1] + ": " + _loc3_.actorValues[this.valueList[_loc4_][0]].current,0,0,0,this.aColor[this.valueList[_loc4_][2]]));
_loc4_ = _loc4_ + 1;
}
}
else if(infoMode == 5)
{
_loc4_ = 0;
while(_loc4_ < _loc3_.equipments.length)
{
this.entryArray.push(this.SetEntryData("\'" + _loc3_.equipments[_loc4_].name + "\' >",_loc3_.equipments[_loc4_].formId));
_loc4_ = _loc4_ + 1;
}
}
}
else if(_loc3_.formType == ExInfoClass.T_WEAPON)
{
this.entryArray.push(this.SetEntryData("name: " + _loc3_.name));
this.entryArray.push(this.SetEntryData("ID: " + this.StrID(_loc3_.formId)));
this.entryArray.push(this.SetEntryData("mod: " + _loc3_.modName));
this.entryArray.push(this.SetEntryData("speed: " + _loc3_.speed));
this.entryArray.push(this.SetEntryData("reach: " + _loc3_.reach));
this.entryArray.push(this.SetEntryData("stagger: " + _loc3_.stagger));
this.entryArray.push(this.SetEntryData("critDamage: " + _loc3_.critDamage));
this.entryArray.push(this.SetEntryData("minRange: " + _loc3_.minRange));
this.entryArray.push(this.SetEntryData("maxRange: " + _loc3_.maxRange));
this.entryArray.push(this.SetEntryData("baseDamage: " + _loc3_.baseDamage));
this.entryArray.push(this.SetEntryData("--- model ---",0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData(_loc3_.model,0,0,0,this.aColor[1]));
}
else if(_loc3_.formType == ExInfoClass.T_ARMOR)
{
this.entryArray.push(this.SetEntryData("name: " + _loc3_.name));
this.entryArray.push(this.SetEntryData("ID: " + this.StrID(_loc3_.formId)));
this.entryArray.push(this.SetEntryData("mod: " + _loc3_.modName));
this.entryArray.push(this.SetEntryData("armorRating: " + _loc3_.rating));
this.entryArray.push(this.SetEntryData("type: " + this.armorType[_loc3_.weightClass]));
if(_loc3_.femaleModel.length > 0)
{
this.entryArray.push(this.SetEntryData("--- maleModel ---",0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData(_loc3_.maleModel,0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData("--- femaleModel ---",0,0,0,this.aColor[2]));
this.entryArray.push(this.SetEntryData(_loc3_.femaleModel,0,0,0,this.aColor[2]));
}
else
{
this.entryArray.push(this.SetEntryData("--- unisex model ---",0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData(_loc3_.maleModel,0,0,0,this.aColor[1]));
}
}
else if(_loc3_.formType == ExInfoClass.T_SPELL || _loc3_.formType == ExInfoClass.T_SCROLL || _loc3_.formType == ExInfoClass.T_POTION)
{
if(_loc3_.magnitude != undefined)
{
this.entryArray.push(this.SetEntryData("name: " + _loc3_.spellName));
this.entryArray.push(this.SetEntryData("ID: " + this.StrID(_loc3_.formId)));
this.entryArray.push(this.SetEntryData("mod: " + _loc3_.modName));
this.entryArray.push(this.SetEntryData("magnitude: " + _loc3_.magnitude));
this.entryArray.push(this.SetEntryData("duration: " + _loc3_.duration));
this.entryArray.push(this.SetEntryData("area: " + _loc3_.area));
this.entryArray.push(this.SetEntryData("mgef: " + _loc3_.magicEffect.effectName,0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData("mgefID: " + this.StrID(_loc3_.magicEffect.formId),0,0,0,this.aColor[1]));
this.entryArray.push(this.SetEntryData("mgefMod: " + _loc3_.magicEffect.modName,0,0,0,this.aColor[1]));
}
}
else if(_loc3_.formType == ExInfoClass.T_CONTAINER)
{
this.entryArray.push(this.SetEntryData("name: " + _loc3_.name));
this.entryArray.push(this.SetEntryData("ID: " + this.StrID(_loc3_.formId)));
this.entryArray.push(this.SetEntryData("mod: " + _loc3_.modName));
if(_loc3_.respawn != undefined)
{
if(_loc3_.respawn)
{
this.entryArray.push(this.SetEntryData("respawn: Yes",0,0,0,this.aColor[1]));
}
else
{
this.entryArray.push(this.SetEntryData("respawn: No",0,0,0,this.aColor[1]));
}
}
}
this.UpdateList();
}
function UpdateList()
{
if(this.entryArray.length > 0)
{
var _loc2_ = 0;
while(_loc2_ < this.entryNum)
{
if(this.entryArray[_loc2_ + this.scrollIndex] != undefined)
{
this["text_mc" + _loc2_].SetEntry(this.entryArray[_loc2_ + this.scrollIndex]);
}
else
{
this["text_mc" + _loc2_].SetEntry();
}
_loc2_ = _loc2_ + 1;
}
this.UpButton_mc._visible = this.scrollIndex <= 0?false:true;
this.UpButton_mc.identifier = -1;
this.DownButton_mc._visible = this.entryArray.length - this.scrollIndex <= this.entryNum?false:true;
this.DownButton_mc.identifier = 1;
this._parent._visible = Console.ConsoleInstance.bExpWindowEnabled;
if(this.ExInfoWindow_mc)
{
this.ExInfoWindow_mc._visible = false;
}
}
else
{
this._parent._visible = false;
}
}
function TapButton(identifier)
{
this.scrollIndex = this.scrollIndex + identifier;
if(this.scrollIndex < 0)
{
this.scrollIndex = 0;
}
else if(this.scrollIndex > this.entryArray.length - this.entryNum)
{
this.scrollIndex = this.entryArray.length - this.entryNum;
}
this.UpdateList();
}
}