With your old OnNPCDeath:
Sub OnNPCDeath(Index, Map, NPCNum, NPCIndex)
Call BattleMsg(Index, "You killed a " & GetNpcName(NPCNum) & ".", BRIGHTRED, 0)
MapNpcNum = GetMapNpcNumber(Map, NPCNum)
Select Case NPCNum
Case 1
Call SpellAnim(SpellNum, Map, GetNpcX(Map, MapNpcNum), GetNpcY(Map, MapNpcNum))
Call PlaySound(index, "filename.wav")
End Select
End Sub
Change SpellNum to the number of the spell to play.
Case 1 means NPC number one, if you don't make a case then no animation or sound will play.
If you wanted to add another:
Case N
Call SpellAnim(SpellNum, Map, GetNpcX(Map, MapNpcNum), GetNpcY(Map, MapNpcNum))
Call PlaySound(index, "filename.wav")
Change SpellNum to the spell number, again.