Question is : would a SD2 hook be really useful? For something like 2 or 3 spells...
Why not using the existing spell_scripts / db_script_string tables :
#define SCRIPT_COMMAND_FIELD_SET 2 // source = any, datalong = field_id, datalog2 = value
#define SCRIPT_COMMAND_MOVE_TO 3 // source = Creature, datalog2 = time, x/y/z
#define SCRIPT_COMMAND_FLAG_SET 4 // source = any, datalong = field_id, datalog2 = bitmask
...
#define SCRIPT_COMMAND_CREATE_ITEM 17 // source or target must be player, datalong = item entry, datalong2 = amount
#define SCRIPT_COMMAND_DESPAWN_SELF 18 // source or target must be creature, datalong = despawn delay
#define SCRIPT_COMMAND_PLAY_MOVIE 19 // target can only be a player, datalog = movie id
We could add a "simple"
#define SCRIPT_COMMAND_RANDOM_TALK 20 //source = WorldObject, target = any/none, datalong = type (say, yell, etc),
//datalong2/3/4/dataint = db_script_string entries (a random one will be chosen)