Guitar, I think you should concentrate on your schoolwork...:P You were being absentminded. You have two regexes, in case you didn't notice. This is my take on your example:
on $*:text:/^[!.]gift$/Si:#:{
if !%f {
inc -u5 %f
.describe # Gives $nick a $replace($r(1,4),1,Tree,2,$nick(#,$r(1,$nick(#,0))),3,Cookie!,4,coal)
}
}