Documentation for this module may be created at Module:Data/Enums/doc
local p = {}
local tagMap = mw.loadData("Module:Data/Extra/TagMap")
local statTypeMap = mw.loadData("Module:Data/Extra/StatTypeMap")
local statNameMap = mw.loadData("Module:Data/Extra/StatNameMap")
local sexMap = {
[0] = 'Unknown',
[1] = 'Male',
[2] = 'Female',
}
local gateSinMap = {
[1] = 'Envy',
[2] = 'Sloth',
[3] = 'Lust',
[4] = 'Gluttony',
[5] = 'Wrath',
[6] = 'Greed',
[7] = 'Pride',
}
local elemMap = {
[1] = 'Fire',
[2] = 'Water',
[3] = 'Wind',
[4] = 'Thunder',
[5] = 'Light',
[6] = 'Dark',
}
local elemReverseMap = {
['Fire'] = 1,
['Water'] = 2,
['Wind'] = 3,
['Thunder'] = 4,
['Light'] = 5,
['Dark'] = 6,
}
local originMap = {
[0] = "Other",
[100] = "Other",
[1] = "Envylia",
[2] = "Wratharis",
[3] = "Slothstein",
[4] = "Lustburg",
[5] = "Gluttony Foss",
[6] = "Greed Dike",
[7] = "Saga Region",
[8] = "Wadatsumi",
[9] = "Desert Zone",
[10] = "Northern Pride",
[11] = "Lost Blue",
}
local originReverseMap = {
["Other"] = 0,
["Envylia"] = 1,
["Wratharis"] = 2,
["Slothstein"] = 3,
["Lustburg"] = 4,
["Gluttony Foss"] = 5,
["Greed Dike"] = 6,
["Saga Region"] = 7,
["Wadatsumi"] = 8,
["Desert Zone"] = 9,
["Northern Pride"] = 10,
["Lost Blue"] = 11,
}
local originNameMap = {
["その他"] = "Other", -- 0&100
["エンヴィリア"] = "Envylia", -- 1
["ラーストリス"] = "Wratharis", -- 2
["スロウスシュタイン"] = "Slothstein", -- 3
["ルストブルグ"] = "Lustburg", -- 4
["グラトニー=フォス"] = "Gluttony Foss", -- 5
["グリードダイク"] = "Greed Dike", -- 6
["サガ地方"] = "Saga Region", -- 7
["ワダツミ"] = "Wadatsumi", -- 8
["砂漠地帯"] = "Desert Zone", -- 9
["ノーザンブライド"] = "Northern Pride", -- 10
["ロストブルー"] = "Lost Blue", -- 11
}
local originEnlightMap = {
[0] = 'IT_TB_BIRTH_ETC',
[100] = 'IT_TB_BIRTH_ETC',
[1] = 'IT_TB_BIRTH_ENV',
[2] = 'IT_TB_BIRTH_WRA',
[3] = 'IT_TB_BIRTH_SLO',
[4] = 'IT_TB_BIRTH_LUS',
[5] = 'IT_TB_BIRTH_GLU',
[6] = 'IT_TB_BIRTH_GRE',
[7] = 'IT_TB_BIRTH_SAG',
[8] = 'IT_TB_BIRTH_WAD',
[9] = 'IT_TB_BIRTH_DES',
[10] = 'IT_TB_BIRTH_NOZ',
[11] = 'IT_TB_BIRTH_LOS',
}
local mementoGroupMap = {
['TS_SUBGROUP_HIENKISHI'] = "Scarlet Flame Guard",
['TS_SUBGROUP_SEIKYOUKISHI'] = "Holy Guard",
['TS_SUBGROUP_SOUENKISHI'] = "Blue Flame Guard",
['TS_SUBGROUP_ENVYRIA_KNIGHT'] = "Royal Knights of Envylia",
['TS_SUBGROUP_SHADOWMESSIAH'] = "Shadow Messiah",
['TS_GROUP_WRATH_KNIGHT'] = "Knighthood of Wratharis",
['TS_SUBGROUP_WADA_BUKE'] = "Wadatsumi Clan",
['TS_SUBGROUP_SHAYNA_FUNCLUB'] = 'Shayna Fan Club',
['TS_SUBGROUP_TS'] = 'The Seven Deadly Sins',
['TS_SUBGROUP_FGG'] = 'FgG Collab',
['TS_SUBGROUP_JIKKAI'] = 'Templars',
['TS_SUBGROUP_KAIZOKU'] = 'Pirates',
['TS_SUBGROUP_SABAKUTAMI'] = 'Desert Dwellers',
['TS_SUBGROUP_GL_ORIGINAL'] = 'Global Original',
['TS_SUBGROUP_CRY'] = 'Crystal of Re:union',
['TS_SUBGROUP_BF'] = 'Brave Frontier',
['TS_SUBGROUP_GREED_ARMY'] = 'Greed Dike Army',
['TS_SUBGROUP_LUST_SCHOOL'] = 'Venus School of Magic',
['TS_SUBGROUP_SEIKYOU_MAGNUS'] = 'Troublemakers',
['TS_SUBGROUP_SLOTH_MECH'] = 'Slothstein Engineer',
['TS_SUBGROUP_NORTH_FES'] = 'Festival Representatives',
['TS_SUBGROUP_JINKO_MEMBER'] = 'Blade Fox Corps',
['TS_SUBGROUP_GENESIS'] = 'Path to Renewal',
['TS_SUBGROUP_ENVYRIA_AREA'] = 'Land of Envy',
['TS_SUBGROUP_GLUTTONY_AREA'] = 'Land of Gluttony',
['TS_SUBGROUP_LUST_AREA'] = 'Land of Lust',
['TS_SUBGROUP_GREED_AREA'] = 'Land of Greed',
['TS_SUBGROUP_SLOTH_AREA'] = 'Land of Sloth',
['TS_SUBGROUP_WRATH_AREA'] = 'Land of Wrath',
['TS_SUBGROUP_PRIDE_AREA'] = 'Land of Pride',
['TS_SUBGROUP_GEKIJOUBAN_DARK'] = 'Unmakers of the World',
['TS_SUBGROUP_AOT'] = 'Attack on Titan',
['TS_SUBGROUP_SB'] = 'The Rising of the Shield Hero',
['TS_SUBGROUP_TSP'] = 'That Time I Got Reincarnated as a Slime',
['TS_SUBGROUP_DUNG'] = 'DanMachi',
}
local mementoGroupImageMap = {
['TS_SUBGROUP_HIENKISHI'] = "subgroup_hienkishi.png",
['TS_SUBGROUP_SEIKYOUKISHI'] = "subgroup_seikyoukishi.png",
['TS_SUBGROUP_SOUENKISHI'] = "subgroup_souenkishi.png",
['TS_SUBGROUP_ENVYRIA_KNIGHT'] = "subgroup_envyria_knight.png",
['TS_SUBGROUP_SHADOWMESSIAH'] = "group_messiah.png",
['TS_GROUP_WRATH_KNIGHT'] = "subgroup_wrathtriz.png",
['TS_SUBGROUP_WADA_BUKE'] = "subgroup_wadatusmi_samurai_family.png",
['TS_SUBGROUP_SHAYNA_FUNCLUB'] = 'subgroup_shayna_fanclub.png',
['TS_SUBGROUP_TS'] = 'group_ts.png',
['TS_SUBGROUP_FGG'] = 'group_FgG.png',
['TS_SUBGROUP_JIKKAI'] = 'subgroup_jikkaisyu.png',
['TS_SUBGROUP_KAIZOKU'] = 'subgroup_pirate.png',
['TS_SUBGROUP_SABAKUTAMI'] = 'subgroup_people_of_desert.png',
['TS_SUBGROUP_GL_ORIGINAL'] = 'SUBGROUP_GL_ORIGINAL.png',
['TS_SUBGROUP_CRY'] = 'group_cry.png',
['TS_SUBGROUP_BF'] = 'group_bf.png',
['TS_SUBGROUP_GREED_ARMY'] = 'subgroup_greed_army.png',
['TS_SUBGROUP_LUST_SCHOOL'] = 'subgroup_venus_magicschool.png',
['TS_SUBGROUP_SEIKYOU_MAGNUS'] = 'subgroup_troublemakers.png',
['TS_SUBGROUP_SLOTH_MECH'] = 'subgroup_sloth_technician.png',
['TS_SUBGROUP_NORTH_FES'] = 'subgroup_north_festival.png',
['TS_SUBGROUP_JINKO_MEMBER'] = 'subgroup_kisoutai.png',
['TS_SUBGROUP_GENESIS'] = 'subgroup_genesis.png',
['TS_SUBGROUP_GLUTTONY_AREA'] = 'subgroup_gluttony_area.png',
['TS_SUBGROUP_LUST_AREA'] = 'subgroup_lust_area.png',
['TS_SUBGROUP_GREED_AREA'] = 'subgroup_greed_area.png',
['TS_SUBGROUP_SLOTH_AREA'] = 'subgroup_sloth_area.png',
['TS_SUBGROUP_ENVYRIA_AREA'] = 'subgroup_envyria_area.png',
['TS_SUBGROUP_AOT'] = 'group_aot.png',
['TS_SUBGROUP_TS'] = 'group_ts.png',
['TS_SUBGROUP_SB'] = 'group_sb.png',
['TS_SUBGROUP_TSP'] = 'group_tsp.png',
['TS_SUBGROUP_DUNG'] = 'group_dung.png',
}
p["EAbilitySlot"] = {
[0] = "Action",
[1] = "Support",
[2] = "Reaction"
}
p["EAbilityType"] = {
[0] = "Active",
[1] = "Passive"
}
p["EAbilityTypeDetail"] = {
[0] = "Default",
[1] = "Job_Unique",
[2] = "Job_Basic",
[3] = "Job_Support",
[4] = "Job_Reaction",
[5] = "MasterAbility",
[6] = "CollaboAbility",
[7] = "WeaponAbility",
[8] = "VisionAbility",
[9] = "MapEffectAbility",
[10] = "TobiraAbility"
}
p["AttackDetailTypes"]= {
-- atk type
[0] = "None",
[1] = "Slash",
[2] = "Stab",
[3] = "Blow",
[4] = "Shot",
[5] = "Magic",
[6] = "Jump",
[7] = "MAX"
}
p.AttackDetailNames = {
Blow = 'Strike',
Shot = 'Missile',
Stab = 'Pierce',
}
function p.attackDetailNameFromKey(key)
local atk_det = p.AttackDetailTypes[tonumber(key)]
return p.AttackDetailNames[atk_det] or atk_det
end
p["AttackTypes"] = {
-- dmg type
[0] = "None",
[1] = "PhyAttack",
[2] = "MagAttack"
}
p["SkillEffectTypes"] = {
[0] = "None",
[1] = "Equipment",
[2] = "Attack",
[3] = "Defend",
[4] = "Heal",
[5] = "Buff",
[6] = "Debuff",
[7] = "Revive",
[8] = "Shield",
[9] = "ReflectDamage",
[10] = "DamageControl",
[11] = "FailCondition",
[12] = "CureCondition",
[13] = "DisableCondition",
[14] = "GemsGift",
[15] = "GemsIncDec",
[16] = "Guard",
[17] = "Teleport",
[18] = "Changing",
[19] = "RateHeal",
[20] = "RateDamage",
[21] = "PerfectAvoid",
[22] = "Throw",
[23] = "EffReplace",
[24] = "SetTrick",
[25] = "TransformUnit",
[26] = "SetBreakObj",
[27] = "ChangeWeather",
[28] = "RateDamageCurrent",
[29] = "TransformUnitTakeOverHP",
[30] = "DynamicTransformUnit"
}
p["ESelectType"] = {
[0] = "Cross",
[1] = "Diamond",
[2] = "Square",
[3] = "Laser",
[4] = "All",
[5] = "Wall",
[6] = "WallPlus",
[7] = "Bishop",
[8] = "Victory",
[9] = "LaserSpread",
[10] = "LaserWide",
[11] = "Horse",
[12] = "LaserTwin",
[13] = "LaserTriple",
[14] = "SquareOutline"
}
p["SkillCategory"] = {
[0] = "Damage",
[1] = "Heal",
[2] = "Support",
[3] = "CureCondition",
[4] = "FailCondition",
[5] = "DisableCondition",
[6] = "Transform",
}
p["ESkillCondition"] = {
[0] = "None",
[1] = "Dying",
[2] = "MapEffect",
[3] = "Weather",
[4] = "CardSkill",
[5] = "JudgeHP",
[6] = "CardLsSkill"
}
p["ESkillTiming"] = {
[0] = "Used",
[1] = "Passive",
[2] = "Wait",
[3] = "Dead",
[4] = "DamageCalculate",
[5] = "DamageControl",
[6] = "Reaction",
[7] = "FirstReaction",
[8] = "Auto",
[9] = "Dying",
[10] = "JudgeHP"
}
p["ESkillTarget"] = {
[0] = "Self",
[1] = "SelfSide",
[2] = "EnemySide",
[3] = "UnitAll",
[4] = "NotSelf",
[5] = "GridNoUnit",
[6] = "ValidGrid",
[7] = "SelfSideNotSelf"
}
p["ESkillType"] = {
[0] = "Attack",
[1] = "Skill",
[2] = "Passive",
[3] = "Item",
[4] = "Reaction"
}
p["EnchantTypes"] = {
[0] = "Poison",
[1] = "Paralysed",
[2] = "Stun",
[3] = "Sleep",
[4] = "Charm",
[5] = "Stone",
[6] = "Blind",
[7] = "DisableSkill",
[8] = "DisableMove",
[9] = "DisableAttack",
[10] = "Zombie",
[11] = "DeathSentence",
[12] = "Berserk",
[13] = "Knockback",
[14] = "ResistBuff",
[15] = "ResistDebuff",
[16] = "Stop",
[17] = "Fast",
[18] = "Slow",
[19] = "AutoHeal",
[20] = "Donsoku",
[21] = "Rage",
[22] = "GoodSleep",
[23] = "AutoJewel",
[24] = "DisableHeal",
[25] = "SingleAttack",
[26] = "AreaAttack",
[27] = "DecCT",
[28] = "IncCT",
[29] = "ESA_Fire",
[30] = "ESA_Water",
[31] = "ESA_Wind",
[32] = "ESA_Thunder",
[33] = "ESA_Shine",
[34] = "ESA_Dark",
[35] = "MaxDamageHp",
[36] = "MaxDamageMp",
[37] = "SideAttack",
[38] = "BackAttack",
[39] = "ObstReaction",
}
p.EnchantTypeNames = {
Fast = 'Quicken',
Slow = 'Delay',
Donsoku = 'Slow',
Paralysed = 'Paralyze',
Stone = 'Petrify',
DisableSkill = 'Silence',
DisableMove = 'Bind',
DisableAttack = 'Daze',
DecCT = 'Reduce CT',
IncCT = 'Increase CT',
ESA_Fire = 'Strong vs Fire',
ESA_Water = 'Strong vs Water',
ESA_Wind = 'Strong vs Wind',
ESA_Thunder = 'Strong vs Thunder',
ESA_Shine = 'Strong vs Light',
MaxDamageHp = 'Max HP Damage Rate',
MaxDamageMp = 'Max Jewel Damage Rate',
ObstReaction = 'Reaction Block',
}
p.eCardType = {
[0] = "None",
[1] = "Equipment",
[2] = "Enhance_exp",
[3] = "Enhance_trust"
}
p.EElement = {
[0] = "None",
[1] = "Fire",
[2] = "Water",
[3] = "Wind",
[4] = "Thunder",
[5] = "Shine",
[6] = "Dark",
}
p.SkillEffectTargets = {
[0] = "Target",
[1] = "Self"
}
p.SkillEffectTypes = {
[0] = "None",
[1] = "Equipment",
[2] = "Attack",
[3] = "Defend",
[4] = "Heal",
[5] = "Buff",
[6] = "Debuff",
[7] = "Revive",
[8] = "Shield",
[9] = "ReflectDamage",
[10] = "DamageControl",
[11] = "FailCondition",
[12] = "CureCondition",
[13] = "DisableCondition",
[14] = "GemsGift",
[15] = "GemsIncDec",
[16] = "Guard",
[17] = "Teleport",
[18] = "Changing",
[19] = "RateHeal",
[20] = "RateDamage",
[21] = "PerfectAvoid",
[22] = "Throw",
[23] = "EffReplace",
[24] = "SetTrick",
[25] = "TransformUnit",
[26] = "SetBreakObj",
[27] = "ChangeWeather",
[28] = "RateDamageCurrent",
[29] = "TransformUnitTakeOverHP",
[30] = "DynamicTransformUnit"
}
p.SkillParamCalcTypes = {
[0] = "Add",
[1] = "Scale",
[2] = "Fixed"
}
p.eSkillTargetEx = {
[0] = "None",
[1] = "JumpInc",
[2] = "JumpOnly"
}
p.ShieldTypes = {
[0] = "None",
[1] = "UseCount",
[2] = "Hp",
[3] = "Limitter",
[4] = "MAX"
}
p.DamageTypes = {
[0] = "None",
[1] = "TotalDamage",
[2] = "PhyDamage",
[3] = "MagDamage"
}
function p.enchantTypeNameFromKey(key)
local enc_type = p.EnchantTypes[tonumber(key)]
return p.EnchantTypeNames[enc_type] or enc_type
end
function p.elemFromKey(key)
return elemMap[key]
end
function p.elemFromName(key)
return elemReverseMap[key]
end
function p.gateSinFromKey(key)
return gateSinMap[key]
end
function p.sexFromKey(key)
return sexMap[key]
end
function p.originFromKey(key)
return originMap[key]
end
function p.originKeyFromName(key)
return originReverseMap[key]
end
function p.originFromNameKey(key)
return originNameMap[key]
end
function p.originItemFromKey(key)
return originEnlightMap[key]
end
function p.tagFromKey(key)
return tagMap[key]
end
function p.statTypeFromKey(key)
return statTypeMap[key]
end
function p.mementoGroupFromKey(key)
return mementoGroupMap[key]
end
function p.mementoGroupList()
return mementoGroupMap
end
function p.mementoGroupImageFromKey(key)
return mementoGroupImageMap[key]
end
function p.mementoGroupImageList()
return mementoGroupImageMap
end
-- Expected param is the string key returned from the stat type map
function p.statNameFromNameKey(key)
return statNameMap[key]
end
-- Stat type is expected to be an integer
function p.statNameFromType(stat_type, tktag)
local statName = p.statTypeFromKey(tostring(stat_type)) or stat_type
if statName == 'Tokkou' then
statName = 'Strong vs '..(p.tagFromKey(tktag) or tktag or statName)
else
statName = p.statNameFromNameKey(statName) or statName
end
return statName
end
return p