mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-16 05:11:29 +00:00
Merge pull request #477 from KinglyKrab/master
Added GetMeleeMitigation() to Perl and Lua for Mobs (Clients/NPCs).
This commit is contained in:
commit
f883e085e3
@ -6,6 +6,8 @@ Natedog: Updated item table fields and added a few missing fields for evolving i
|
|||||||
items in your shared bank. (but item field located on items table)
|
items in your shared bank. (but item field located on items table)
|
||||||
-NYI - SkillModMax: Max skill point modification from the percent mods. EX:
|
-NYI - SkillModMax: Max skill point modification from the percent mods. EX:
|
||||||
100% 2HSlashing (Max 50) - can only increase 2hslash by 50 MAX! (item field located though)
|
100% 2HSlashing (Max 50) - can only increase 2hslash by 50 MAX! (item field located though)
|
||||||
|
Kinglykrab: Added GetMeleeMitigation() for NPCs and Clients in Perl and Lua.
|
||||||
|
- This allows you to check total item, spell, and AA melee mitigation contribution.
|
||||||
|
|
||||||
== 12/19/2015 ==
|
== 12/19/2015 ==
|
||||||
Kinglykrab: Added many methods to Perl and Lua, list below:
|
Kinglykrab: Added many methods to Perl and Lua, list below:
|
||||||
|
|||||||
@ -1976,6 +1976,11 @@ bool Lua_Mob::IsAmnesiad() {
|
|||||||
return self->IsAmnesiad();
|
return self->IsAmnesiad();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32 Lua_Mob::GetMeleeMitigation() {
|
||||||
|
Lua_Safe_Call_Int();
|
||||||
|
return self->GetMeleeMitigation();
|
||||||
|
}
|
||||||
|
|
||||||
luabind::scope lua_register_mob() {
|
luabind::scope lua_register_mob() {
|
||||||
return luabind::class_<Lua_Mob, Lua_Entity>("Mob")
|
return luabind::class_<Lua_Mob, Lua_Entity>("Mob")
|
||||||
.def(luabind::constructor<>())
|
.def(luabind::constructor<>())
|
||||||
@ -2317,7 +2322,8 @@ luabind::scope lua_register_mob() {
|
|||||||
.def("IsPet", (bool(Lua_Mob::*)(void))&Lua_Mob::IsPet)
|
.def("IsPet", (bool(Lua_Mob::*)(void))&Lua_Mob::IsPet)
|
||||||
.def("HasPet", (bool(Lua_Mob::*)(void))&Lua_Mob::HasPet)
|
.def("HasPet", (bool(Lua_Mob::*)(void))&Lua_Mob::HasPet)
|
||||||
.def("IsSilenced", (bool(Lua_Mob::*)(void))&Lua_Mob::IsSilenced)
|
.def("IsSilenced", (bool(Lua_Mob::*)(void))&Lua_Mob::IsSilenced)
|
||||||
.def("IsAmnesiad", (bool(Lua_Mob::*)(void))&Lua_Mob::IsAmnesiad);
|
.def("IsAmnesiad", (bool(Lua_Mob::*)(void))&Lua_Mob::IsAmnesiad)
|
||||||
|
.def("GetMeleeMitigation", (int32(Lua_Mob::*)(void))&Lua_Mob::GetMeleeMitigation);
|
||||||
}
|
}
|
||||||
|
|
||||||
luabind::scope lua_register_special_abilities() {
|
luabind::scope lua_register_special_abilities() {
|
||||||
|
|||||||
@ -377,6 +377,7 @@ public:
|
|||||||
bool HasPet();
|
bool HasPet();
|
||||||
bool IsSilenced();
|
bool IsSilenced();
|
||||||
bool IsAmnesiad();
|
bool IsAmnesiad();
|
||||||
|
int32 GetMeleeMitigation();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -5682,3 +5682,11 @@ void Mob::SetCurrentSpeed(int in){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32 Mob::GetMeleeMitigation() {
|
||||||
|
int32 mitigation = 0;
|
||||||
|
mitigation += spellbonuses.MeleeMitigationEffect;
|
||||||
|
mitigation += itembonuses.MeleeMitigationEffect;
|
||||||
|
mitigation += aabonuses.MeleeMitigationEffect;
|
||||||
|
return mitigation;
|
||||||
|
}
|
||||||
@ -752,6 +752,7 @@ public:
|
|||||||
inline bool GetInvul(void) { return invulnerable; }
|
inline bool GetInvul(void) { return invulnerable; }
|
||||||
inline void SetExtraHaste(int Haste) { ExtraHaste = Haste; }
|
inline void SetExtraHaste(int Haste) { ExtraHaste = Haste; }
|
||||||
virtual int GetHaste();
|
virtual int GetHaste();
|
||||||
|
int32 GetMeleeMitigation();
|
||||||
|
|
||||||
uint8 GetWeaponDamageBonus(const Item_Struct* weapon, bool offhand = false);
|
uint8 GetWeaponDamageBonus(const Item_Struct* weapon, bool offhand = false);
|
||||||
uint16 GetDamageTable(SkillUseTypes skillinuse);
|
uint16 GetDamageTable(SkillUseTypes skillinuse);
|
||||||
|
|||||||
@ -8981,6 +8981,33 @@ XS(XS_Mob_IsAmnesiad) {
|
|||||||
XSRETURN(1);
|
XSRETURN(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XS(XS_Mob_GetMeleeMitigation);
|
||||||
|
XS(XS_Mob_GetMeleeMitigation) {
|
||||||
|
dXSARGS;
|
||||||
|
if (items != 1)
|
||||||
|
Perl_croak(aTHX_ "Usage: Mob::GetMeleeMitigation(THIS)");
|
||||||
|
{
|
||||||
|
Mob* THIS;
|
||||||
|
int32 RETVAL;
|
||||||
|
dXSTARG;
|
||||||
|
|
||||||
|
if (sv_derived_from(ST(0), "Mob")) {
|
||||||
|
IV tmp = SvIV((SV*)SvRV(ST(0)));
|
||||||
|
THIS = INT2PTR(Mob*, tmp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Perl_croak(aTHX_ "THIS is not of type Mob");
|
||||||
|
|
||||||
|
if (THIS == nullptr)
|
||||||
|
Perl_croak(aTHX_ "THIS is nullptr, avoiding crash.");
|
||||||
|
|
||||||
|
RETVAL = THIS->GetMeleeMitigation();
|
||||||
|
XSprePUSH;
|
||||||
|
PUSHi((IV)RETVAL);
|
||||||
|
}
|
||||||
|
XSRETURN(1);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
#endif
|
#endif
|
||||||
@ -9313,6 +9340,7 @@ XS(boot_Mob)
|
|||||||
newXSproto(strcpy(buf, "HasPet"), XS_Mob_HasPet, file, "$");
|
newXSproto(strcpy(buf, "HasPet"), XS_Mob_HasPet, file, "$");
|
||||||
newXSproto(strcpy(buf, "IsSilenced"), XS_Mob_IsSilenced, file, "$");
|
newXSproto(strcpy(buf, "IsSilenced"), XS_Mob_IsSilenced, file, "$");
|
||||||
newXSproto(strcpy(buf, "IsAmnesiad"), XS_Mob_IsAmnesiad, file, "$");
|
newXSproto(strcpy(buf, "IsAmnesiad"), XS_Mob_IsAmnesiad, file, "$");
|
||||||
|
newXSproto(strcpy(buf, "GetMeleeMitigation"), XS_Mob_GetMeleeMitigation, file, "$");
|
||||||
XSRETURN_YES;
|
XSRETURN_YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user