Code: Select all
if( EffRange )
{
if( !Magic->HandleFieldEffects( mChar, tItem, id ) )
{
if( id < 0x4000 )
{
UI16 targTrig = tItem->GetScriptTrigger();
cScript *toExecute = JSMapping->GetScript( targTrig );
if( toExecute != NULL )
toExecute->OnCollide( mSock, mChar, tItem );
}
}
HandleObjectCollisions( mSock, mChar, tItem, type );
Magic->GateCollision( mSock, mChar, tItem, type );
}
Code: Select all
if( EffRange )
{
if( !Magic->HandleFieldEffects( mChar, tItem, id ) )
{
if( id < 0x4000 )
{
UI16 targTrig = tItem->GetScriptTrigger();
cScript *toExecute = JSMapping->GetScript( targTrig );
if( toExecute != NULL )
{
toExecute->OnCollide( mSock, mChar, tItem );
}
else if( JSMapping->GetEnvokeByType()->Check( static_cast<UI16>(type) ) )
{
envTrig = JSMapping->GetEnvokeByType()->GetScript( static_cast<UI16>(type) );
cScript *envExecute = JSMapping->GetScript( envTrig );
envExecute->OnCollide( mSock, mChar, tItem );
}
else if( JSMapping->GetEnvokeByID()->Check( id ) )
{
envTrig = JSMapping->GetEnvokeByID()->GetScript( id );
cScript *envExecute = JSMapping->GetScript( envTrig );
envExecute->OnCollide( mSock, mChar, tItem );
}
}
}
HandleObjectCollisions( mSock, mChar, tItem, type );
Magic->GateCollision( mSock, mChar, tItem, type );
}
Edit:
I nearly forgot, you also need to add this to the beginning of the HandleItemCollision function:
Code: Select all
UI16 envTrig = 0;