ON $*:TEXT:/^[!@.]dv*/i:#:{ if ($2 == $null) && ($address($nick,2) == $address($me,2)) { mode $chan -v $nick } else { if ($2 != $null) && ($nick ishop $chan) || ($nick isop $chan) || ($address($nick,2) == $address($me,2)) { mode $chan -v $2 } } } ON $*:TEXT:/^[!@.]dh*/i:#:{ if ($2 == $null) && ($address($nick,2) == $address($me,2)) { mode $chan -h $nick } else { if ($2 != $null) && ($nick isop $chan) || ($address($nick,2) == $address($me,2)) { mode $chan -h $2 } } } ON $*:TEXT:/^[!@.]do*/i:#:{ if ($2 == $null) && ($address($nick,2) == $address($me,2)) { mode $chan -o $nick } else { if ($2 != $null) && ($nick isop $chan) || ($address($nick,2) == $address($me,2)) { mode $chan -o $2 } } } ON $*:TEXT:/^[!@.]v*/i:#:{ if ($2 == $null) && ($address($nick,2) == $address($me,2)) { mode $chan +v $nick } else { if ($2 != $null) && ($nick ishop $chan) || ($nick isvo $chan) || ($nick isop $chan) || ($address($nick,2) == $address($me,2)) { mode $chan +v $2 } } } ON $*:TEXT:/^[!@.]h*/i:#:{ if ($2 == $null) && ($address($nick,2) == $address($me,2)) { mode $chan +h $nick } else { if ($2 != $null) && ($nick ishop $chan) || ($nick isop $chan) || ($address($nick,2) == $address($me,2)) { mode $chan +h $2 } } } ON $*:TEXT:/^[!@.]o*/i:#:{ if ($2 == $null) && ($address($nick,2) == $address($me,2)) { mode $chan +o $nick } else { if ($2 != $null) && ($nick isop $chan) || ($address($nick,2) == $address($me,2)) { mode $chan +o $2 } } }