Skip to content

Commit ab8d9c5

Browse files
committed
Add missing new_enums
1 parent c788448 commit ab8d9c5

1 file changed

Lines changed: 206 additions & 3 deletions

File tree

Source/lua/modules/items.cpp

Lines changed: 206 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ void InitItemUserType(sol::state_view &lua)
2323
SetDocumented(itemType, "type", "ItemType", "Item type", [](const Item &i) { return i._itype; }, [](Item &i, int val) { i._itype = static_cast<ItemType>(val); });
2424
SetDocumented(itemType, "animFlag", "boolean", "Animation flag", [](const Item &i) { return i._iAnimFlag; }, [](Item &i, bool val) { i._iAnimFlag = val; });
2525
SetDocumented(itemType, "position", "Point", "Item world position", [](const Item &i) { return i.position; }, [](Item &i, Point val) { i.position = val; });
26-
SetDocumented(itemType, "animInfo", "AnimationInfo", "Animation information", [](const Item &i) { return i.AnimInfo; }, [](Item &i, AnimationInfo val) { i.AnimInfo = val; });
26+
// TODO: Add AnimationInfo usertype
27+
// SetDocumented(itemType, "animInfo", "AnimationInfo", "Animation information", [](const Item &i) { return i.AnimInfo; }, [](Item &i, AnimationInfo val) { i.AnimInfo = val; });
2728
SetDocumented(itemType, "delFlag", "boolean", "Deletion flag", [](const Item &i) { return i._iDelFlag; }, [](Item &i, bool val) { i._iDelFlag = val; });
2829
SetDocumented(itemType, "selectionRegion", "number", "Selection region", [](const Item &i) { return static_cast<int>(i.selectionRegion); }, [](Item &i, int val) { i.selectionRegion = static_cast<SelectionRegion>(val); });
2930
SetDocumented(itemType, "postDraw", "boolean", "Post-draw flag", [](const Item &i) { return i._iPostDraw; }, [](Item &i, bool val) { i._iPostDraw = val; });
@@ -74,8 +75,8 @@ void InitItemUserType(sol::state_view &lua)
7475
SetDocumented(itemType, "lMinDam", "number", "Lightning minimum damage", [](const Item &i) { return i._iLMinDam; }, [](Item &i, int val) { i._iLMinDam = val; });
7576
SetDocumented(itemType, "lMaxDam", "number", "Lightning maximum damage", [](const Item &i) { return i._iLMaxDam; }, [](Item &i, int val) { i._iLMaxDam = val; });
7677
SetDocumented(itemType, "PLEnAc", "number", "Damage target AC bonus", [](const Item &i) { return i._iPLEnAc; }, [](Item &i, int val) { i._iPLEnAc = val; });
77-
SetDocumented(itemType, "prePower", "ItemEffect", "Prefix power", [](const Item &i) { return i._iPrePower; }, [](Item &i, int val) { i._iPrePower = static_cast<item_effect_type>(val); });
78-
SetDocumented(itemType, "sufPower", "ItemEffect", "Suffix power", [](const Item &i) { return i._iSufPower; }, [](Item &i, int val) { i._iSufPower = static_cast<item_effect_type>(val); });
78+
SetDocumented(itemType, "prePower", "ItemEffectType", "Prefix power", [](const Item &i) { return i._iPrePower; }, [](Item &i, int val) { i._iPrePower = static_cast<item_effect_type>(val); });
79+
SetDocumented(itemType, "sufPower", "ItemEffectType", "Suffix power", [](const Item &i) { return i._iSufPower; }, [](Item &i, int val) { i._iSufPower = static_cast<item_effect_type>(val); });
7980
SetDocumented(itemType, "vAdd1", "number", "Value addition 1", [](const Item &i) { return i._iVAdd1; }, [](Item &i, int val) { i._iVAdd1 = val; });
8081
SetDocumented(itemType, "vMult1", "number", "Value multiplier 1", [](const Item &i) { return i._iVMult1; }, [](Item &i, int val) { i._iVMult1 = val; });
8182
SetDocumented(itemType, "vAdd2", "number", "Value addition 2", [](const Item &i) { return i._iVAdd2; }, [](Item &i, int val) { i._iVAdd2 = val; });
@@ -113,6 +114,23 @@ void InitItemUserType(sol::state_view &lua)
113114

114115
void RegisterItemEnums(sol::state_view &lua)
115116
{
117+
lua.new_enum("ItemType",
118+
"Misc", ItemType::Misc,
119+
"Sword", ItemType::Sword,
120+
"Axe", ItemType::Axe,
121+
"Bow", ItemType::Bow,
122+
"Mace", ItemType::Mace,
123+
"Shield", ItemType::Shield,
124+
"LightArmor", ItemType::LightArmor,
125+
"Helm", ItemType::Helm,
126+
"MediumArmor", ItemType::MediumArmor,
127+
"HeavyArmor", ItemType::HeavyArmor,
128+
"Staff", ItemType::Staff,
129+
"Gold", ItemType::Gold,
130+
"Ring", ItemType::Ring,
131+
"Amulet", ItemType::Amulet,
132+
"None", ItemType::None);
133+
116134
lua.new_enum("ItemEquipType",
117135
"None", ILOC_NONE,
118136
"OneHand", ILOC_ONEHAND,
@@ -133,6 +151,35 @@ void RegisterItemEnums(sol::state_view &lua)
133151
"Gold", ICLASS_GOLD,
134152
"Quest", ICLASS_QUEST);
135153

154+
lua.new_enum("ItemSpecialEffect",
155+
"None", ItemSpecialEffect::None,
156+
"RandomStealLife", ItemSpecialEffect::RandomStealLife,
157+
"RandomArrowVelocity", ItemSpecialEffect::RandomArrowVelocity,
158+
"FireArrows", ItemSpecialEffect::FireArrows,
159+
"FireDamage", ItemSpecialEffect::FireDamage,
160+
"LightningDamage", ItemSpecialEffect::LightningDamage,
161+
"DrainLife", ItemSpecialEffect::DrainLife,
162+
"MultipleArrows", ItemSpecialEffect::MultipleArrows,
163+
"Knockback", ItemSpecialEffect::Knockback,
164+
"StealMana3", ItemSpecialEffect::StealMana3,
165+
"StealMana5", ItemSpecialEffect::StealMana5,
166+
"StealLife3", ItemSpecialEffect::StealLife3,
167+
"StealLife5", ItemSpecialEffect::StealLife5,
168+
"QuickAttack", ItemSpecialEffect::QuickAttack,
169+
"FastAttack", ItemSpecialEffect::FastAttack,
170+
"FasterAttack", ItemSpecialEffect::FasterAttack,
171+
"FastestAttack", ItemSpecialEffect::FastestAttack,
172+
"FastHitRecovery", ItemSpecialEffect::FastHitRecovery,
173+
"FasterHitRecovery", ItemSpecialEffect::FasterHitRecovery,
174+
"FastestHitRecovery", ItemSpecialEffect::FastestHitRecovery,
175+
"FastBlock", ItemSpecialEffect::FastBlock,
176+
"LightningArrows", ItemSpecialEffect::LightningArrows,
177+
"Thorns", ItemSpecialEffect::Thorns,
178+
"NoMana", ItemSpecialEffect::NoMana,
179+
"HalfTrapDamage", ItemSpecialEffect::HalfTrapDamage,
180+
"TripleDemonDamage", ItemSpecialEffect::TripleDemonDamage,
181+
"ZeroResistance", ItemSpecialEffect::ZeroResistance);
182+
136183
lua.new_enum("ItemMiscId",
137184
"None", IMISC_NONE,
138185
"FullHeal", IMISC_FULLHEAL,
@@ -207,6 +254,162 @@ void RegisterItemEnums(sol::state_view &lua)
207254
"RuneOfImmolation", SpellID::RuneOfImmolation,
208255
"RuneOfStone", SpellID::RuneOfStone,
209256
"Invalid", SpellID::Invalid);
257+
258+
lua.new_enum("_item_indexes",
259+
"IDI_GOLD", IDI_GOLD,
260+
"IDI_WARRIOR", IDI_WARRIOR,
261+
"IDI_WARRSHLD", IDI_WARRSHLD,
262+
"IDI_WARRCLUB", IDI_WARRCLUB,
263+
"IDI_ROGUE", IDI_ROGUE,
264+
"IDI_SORCERER", IDI_SORCERER,
265+
"IDI_CLEAVER", IDI_CLEAVER,
266+
"IDI_FIRSTQUEST", IDI_FIRSTQUEST,
267+
"IDI_SKCROWN", IDI_SKCROWN,
268+
"IDI_INFRARING", IDI_INFRARING,
269+
"IDI_ROCK", IDI_ROCK,
270+
"IDI_OPTAMULET", IDI_OPTAMULET,
271+
"IDI_TRING", IDI_TRING,
272+
"IDI_BANNER", IDI_BANNER,
273+
"IDI_HARCREST", IDI_HARCREST,
274+
"IDI_STEELVEIL", IDI_STEELVEIL,
275+
"IDI_GLDNELIX", IDI_GLDNELIX,
276+
"IDI_ANVIL", IDI_ANVIL,
277+
"IDI_MUSHROOM", IDI_MUSHROOM,
278+
"IDI_BRAIN", IDI_BRAIN,
279+
"IDI_FUNGALTM", IDI_FUNGALTM,
280+
"IDI_SPECELIX", IDI_SPECELIX,
281+
"IDI_BLDSTONE", IDI_BLDSTONE,
282+
"IDI_MAPOFDOOM", IDI_MAPOFDOOM,
283+
"IDI_LASTQUEST", IDI_LASTQUEST,
284+
"IDI_EAR", IDI_EAR,
285+
"IDI_HEAL", IDI_HEAL,
286+
"IDI_MANA", IDI_MANA,
287+
"IDI_IDENTIFY", IDI_IDENTIFY,
288+
"IDI_PORTAL", IDI_PORTAL,
289+
"IDI_ARMOFVAL", IDI_ARMOFVAL,
290+
"IDI_FULLHEAL", IDI_FULLHEAL,
291+
"IDI_FULLMANA", IDI_FULLMANA,
292+
"IDI_GRISWOLD", IDI_GRISWOLD,
293+
"IDI_LGTFORGE", IDI_LGTFORGE,
294+
"IDI_LAZSTAFF", IDI_LAZSTAFF,
295+
"IDI_RESURRECT", IDI_RESURRECT,
296+
"IDI_OIL", IDI_OIL,
297+
"IDI_SHORTSTAFF", IDI_SHORTSTAFF,
298+
"IDI_BARDSWORD", IDI_BARDSWORD,
299+
"IDI_BARDDAGGER", IDI_BARDDAGGER,
300+
"IDI_RUNEBOMB", IDI_RUNEBOMB,
301+
"IDI_THEODORE", IDI_THEODORE,
302+
"IDI_AURIC", IDI_AURIC,
303+
"IDI_NOTE1", IDI_NOTE1,
304+
"IDI_NOTE2", IDI_NOTE2,
305+
"IDI_NOTE3", IDI_NOTE3,
306+
"IDI_FULLNOTE", IDI_FULLNOTE,
307+
"IDI_BROWNSUIT", IDI_BROWNSUIT,
308+
"IDI_GREYSUIT", IDI_GREYSUIT,
309+
"IDI_BOOK1", IDI_BOOK1,
310+
"IDI_BOOK2", IDI_BOOK2,
311+
"IDI_BOOK3", IDI_BOOK3,
312+
"IDI_BOOK4", IDI_BOOK4,
313+
"IDI_BARBARIAN", IDI_BARBARIAN,
314+
"IDI_SHORT_BATTLE_BOW", IDI_SHORT_BATTLE_BOW,
315+
"IDI_RUNEOFSTONE", IDI_RUNEOFSTONE,
316+
"IDI_SORCERER_DIABLO", IDI_SORCERER_DIABLO,
317+
"IDI_ARENAPOT", IDI_ARENAPOT,
318+
"IDI_LAST", IDI_LAST,
319+
"IDI_NONE", IDI_NONE);
320+
321+
lua.new_enum("ItemEffectType",
322+
"IPL_TOHIT", IPL_TOHIT,
323+
"IPL_TOHIT_CURSE", IPL_TOHIT_CURSE,
324+
"IPL_DAMP", IPL_DAMP,
325+
"IPL_DAMP_CURSE", IPL_DAMP_CURSE,
326+
"IPL_TOHIT_DAMP", IPL_TOHIT_DAMP,
327+
"IPL_TOHIT_DAMP_CURSE", IPL_TOHIT_DAMP_CURSE,
328+
"IPL_ACP", IPL_ACP,
329+
"IPL_ACP_CURSE", IPL_ACP_CURSE,
330+
"IPL_FIRERES", IPL_FIRERES,
331+
"IPL_LIGHTRES", IPL_LIGHTRES,
332+
"IPL_MAGICRES", IPL_MAGICRES,
333+
"IPL_ALLRES", IPL_ALLRES,
334+
"IPL_SPLLVLADD", IPL_SPLLVLADD,
335+
"IPL_CHARGES", IPL_CHARGES,
336+
"IPL_FIREDAM", IPL_FIREDAM,
337+
"IPL_LIGHTDAM", IPL_LIGHTDAM,
338+
"IPL_STR", IPL_STR,
339+
"IPL_STR_CURSE", IPL_STR_CURSE,
340+
"IPL_MAG", IPL_MAG,
341+
"IPL_MAG_CURSE", IPL_MAG_CURSE,
342+
"IPL_DEX", IPL_DEX,
343+
"IPL_DEX_CURSE", IPL_DEX_CURSE,
344+
"IPL_VIT", IPL_VIT,
345+
"IPL_VIT_CURSE", IPL_VIT_CURSE,
346+
"IPL_ATTRIBS", IPL_ATTRIBS,
347+
"IPL_ATTRIBS_CURSE", IPL_ATTRIBS_CURSE,
348+
"IPL_GETHIT_CURSE", IPL_GETHIT_CURSE,
349+
"IPL_GETHIT", IPL_GETHIT,
350+
"IPL_LIFE", IPL_LIFE,
351+
"IPL_LIFE_CURSE", IPL_LIFE_CURSE,
352+
"IPL_MANA", IPL_MANA,
353+
"IPL_MANA_CURSE", IPL_MANA_CURSE,
354+
"IPL_DUR", IPL_DUR,
355+
"IPL_DUR_CURSE", IPL_DUR_CURSE,
356+
"IPL_INDESTRUCTIBLE", IPL_INDESTRUCTIBLE,
357+
"IPL_LIGHT", IPL_LIGHT,
358+
"IPL_LIGHT_CURSE", IPL_LIGHT_CURSE,
359+
"IPL_MULT_ARROWS", IPL_MULT_ARROWS,
360+
"IPL_FIRE_ARROWS", IPL_FIRE_ARROWS,
361+
"IPL_LIGHT_ARROWS", IPL_LIGHT_ARROWS,
362+
"IPL_THORNS", IPL_THORNS,
363+
"IPL_NOMANA", IPL_NOMANA,
364+
"IPL_FIREBALL", IPL_FIREBALL,
365+
"IPL_ABSHALFTRAP", IPL_ABSHALFTRAP,
366+
"IPL_KNOCKBACK", IPL_KNOCKBACK,
367+
"IPL_STEALMANA", IPL_STEALMANA,
368+
"IPL_STEALLIFE", IPL_STEALLIFE,
369+
"IPL_TARGAC", IPL_TARGAC,
370+
"IPL_FASTATTACK", IPL_FASTATTACK,
371+
"IPL_FASTRECOVER", IPL_FASTRECOVER,
372+
"IPL_FASTBLOCK", IPL_FASTBLOCK,
373+
"IPL_DAMMOD", IPL_DAMMOD,
374+
"IPL_RNDARROWVEL", IPL_RNDARROWVEL,
375+
"IPL_SETDAM", IPL_SETDAM,
376+
"IPL_SETDUR", IPL_SETDUR,
377+
"IPL_NOMINSTR", IPL_NOMINSTR,
378+
"IPL_SPELL", IPL_SPELL,
379+
"IPL_ONEHAND", IPL_ONEHAND,
380+
"IPL_3XDAMVDEM", IPL_3XDAMVDEM,
381+
"IPL_ALLRESZERO", IPL_ALLRESZERO,
382+
"IPL_DRAINLIFE", IPL_DRAINLIFE,
383+
"IPL_RNDSTEALLIFE", IPL_RNDSTEALLIFE,
384+
"IPL_SETAC", IPL_SETAC,
385+
"IPL_ADDACLIFE", IPL_ADDACLIFE,
386+
"IPL_ADDMANAAC", IPL_ADDMANAAC,
387+
"IPL_AC_CURSE", IPL_AC_CURSE,
388+
"IPL_LASTDIABLO", IPL_LASTDIABLO,
389+
"IPL_FIRERES_CURSE", IPL_FIRERES_CURSE,
390+
"IPL_LIGHTRES_CURSE", IPL_LIGHTRES_CURSE,
391+
"IPL_MAGICRES_CURSE", IPL_MAGICRES_CURSE,
392+
"IPL_DEVASTATION", IPL_DEVASTATION,
393+
"IPL_DECAY", IPL_DECAY,
394+
"IPL_PERIL", IPL_PERIL,
395+
"IPL_JESTERS", IPL_JESTERS,
396+
"IPL_CRYSTALLINE", IPL_CRYSTALLINE,
397+
"IPL_DOPPELGANGER", IPL_DOPPELGANGER,
398+
"IPL_ACDEMON", IPL_ACDEMON,
399+
"IPL_ACUNDEAD", IPL_ACUNDEAD,
400+
"IPL_MANATOLIFE", IPL_MANATOLIFE,
401+
"IPL_LIFETOMANA", IPL_LIFETOMANA,
402+
"IPL_INVALID", IPL_INVALID);
403+
404+
lua.new_enum("ItemSpecialEffectHf",
405+
"None", ItemSpecialEffectHf::None,
406+
"Devastation", ItemSpecialEffectHf::Devastation,
407+
"Decay", ItemSpecialEffectHf::Decay,
408+
"Peril", ItemSpecialEffectHf::Peril,
409+
"Jesters", ItemSpecialEffectHf::Jesters,
410+
"Doppelganger", ItemSpecialEffectHf::Doppelganger,
411+
"ACAgainstDemons", ItemSpecialEffectHf::ACAgainstDemons,
412+
"ACAgainstUndead", ItemSpecialEffectHf::ACAgainstUndead);
210413
}
211414

212415
} // namespace

0 commit comments

Comments
 (0)