1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-12-25 14:15:46 +00:00

Script interface:

- Add entity_doElementInteraction()
- Add avatar_setElementEffectMult()
- Change entity_isUnderWater(): Can now supply an override position.
This commit is contained in:
fgenesis 2013-09-24 17:02:06 +02:00
parent 6f9063ce6d
commit 0df586874d

View file

@ -3572,7 +3572,7 @@ luaFunc(entity_isUnderWater)
bool b = false;
if (e)
{
b = e->isUnderWater();
b = e->isUnderWater(Vector(lua_tonumber(L, 2), lua_tonumber(L, 3)));
}
luaReturnBool(b);
}
@ -5146,6 +5146,31 @@ luaFunc(entity_applySurfaceNormalForce)
luaReturnNil();
}
luaFunc(entity_doElementInteraction)
{
Entity *e = entity(L);
if (e)
{
float mult = lua_tonumber(L, 2);
float touchWidth = lua_tonumber(L, 3);
if (!touchWidth)
touchWidth = 16;
ElementUpdateList& elems = dsq->game->elementUpdateList;
for (ElementUpdateList::iterator it = elems.begin(); it != elems.end(); ++it)
{
(*it)->doInteraction(e, mult, touchWidth);
}
}
luaReturnNil();
}
luaFunc(avatar_setElementEffectMult)
{
dsq->game->avatar->elementEffectMult = lua_tonumber(L, 1);
luaReturnNil();
}
luaFunc(flingMonkey)
{
Entity *e = entity(L);
@ -8636,6 +8661,9 @@ static const struct {
luaRegister(entity_adjustPositionBySurfaceNormal),
luaRegister(entity_applySurfaceNormalForce),
luaRegister(entity_doElementInteraction),
luaRegister(avatar_setElementEffectMult),
luaRegister(createBeam),
luaRegister(beam_setAngle),
luaRegister(beam_setDamage),