]-[ydrobomb
a script for mIRC

This is supposed to be like the versions.txt that is included with each
new release of mIRC. As I release each version, you can see immediately
the problems I've solved, and the new one's i've created. :)

Happy chatting,
Einstein
<sdl@iamerica.net>
---------------------------------------------------------------------------
Version 1.0
Compatible with: mIRC 4.7
-=ORIGINAL BETA RELEASE=-
---------------------------------------------------------------------------
Version 1.2
Compatible with: mIRC 4.7 - 4.72 (not guaranteed for later versions)
Completed: 1-19-97
Released: 1-21-97

Bugfixes:
Fixed clone detect's tendency to go haywire when it doesn't have users'
addresses. If a clone detect is run in a channel before the addresses
have come in, the detect is delayed until every channel member is in the
IAL.
Clone detect now does not work in channels larger than 70 users, this
helps to prevent lockups.
	(Note: the 70-user limit was tested on my machine, a 486 DX2/50.
         If it works on mine, it'll work on your Pentium. If you really
         think your machine can handle more users, feel free to modify
         the script. Remember, though: the number of operations the clone
         detect does is exponential, that is, n!, where n is the number of
         nicks on the channel. This means the computer has to do over
         77,000,000,000,000,000,000,000,000,000,000,000,000 times more
         operations on a 100-user channel than on a 70-user one. Keep
         this in mind if you choose to modify.)

	(Subnote: sorry for the mathnerd talk. What I mean by this is:
	 ALTER THIS FEATURE AT YOUR OWN RISK!)       

Added features:
Port Scanner - does a /stats l and analyzes the returns to find the best
               port on the server, also lists all available ports.
               Thanx to LoKi128 for the concept. Mess around with this,
               some servers have ports they don't tell you about...
Channel CTCP detect - shows when a user sends a CTCP to the entire channel.
                      Good for seeing channel pings and/or malicious CTCP's
                      like DO and DCC SEND.
Stealth mode chanping - a way around the above feature. Sends a PING to all
                        users in a channel instead of the channel itself.
Direct Ping & Trace Route - interfaces with Win95's built-in utilities
                PING and TRACERT.  Only works with Win95. Useful to
                determine lag along a DCC connection.
Mail client - logs in to your POP3 server and checks your mail.
/rev command - cute feature, speaks backward

Improved:
Method of getting addresses upon joining a channel. Now uses /who instead of
mass /userhost. No longer shows users' addresses on join.
Method of determining idle time. Now uses $idle instead of /whois.
Ban lister. Now shows the time of ban, also the table display was improved
slightly.
---------------------------------------------------------------------------
]-[ydrobomb 2.0

Completed: 2-6-97
Released: 2-7-97

Improved:
On Join Clone warning now in bold - more attention getting. Also displays
address without asterisks.
Other displays spruced up to use bold for attention-getting purposes
Self Ban protect now uses ISWM to catch ALL banmasks that match you.
Note that this will deop people who ban with masks like *!*@*
Moved more channel-associated warnings into the channel's window instead
of the active window. Examples: on join clone, perv detect "pass"
notification

Added:
Hyperaccurate pings. This uses $ticks instead of $ctime to give a more
precise ping reply.
Titlebar updater - shows your server lag, idle, time, and wether you
are away.
Channel statistics command. Try /stat for the current chan or /chanstat
#channel. Displays number of users, ops, nonops, away, and average number
of hops.
DCC CHAT flood protect. If a DCC CHAT registers 100 lines received in under
a minute, a flood is assumed and the chat is closed.
Speech with the /speak command for important events such as perv detects,
on join clone detects, and pages. You must have Text Assist or Monolog
to run this feature. If you disable it, page.wav will be used instead of
speech for pages.
CTCP Wall feature - simple script, ignores all CTCPs. Useful when being
flooded.

Removed:
Mail client. Was taking up too much space in the script for limited reward.

Fixed:
Perv Detect not tripping on unrecognized users when On Join Clone Detect
is on. Bug was caused by a misrouted if/else pair.
Behind the Back bug fixed - now works even if the behinded person is at the
top of the list.
Channel Flood Protect is now a lot less skittish, more reliable and won't
kick users that don't deserve it.
---------------------------------------------------------------------------
]-[ydrobomb 2.0 bug fix

Completed: 2-8-97
Released: 2-8-97

Fixed:
Added extra safeguards into on join clone detect to keep it from spazzing
out in certain situations.
Replaced Channel Flood Protect with a variable-driven system; runs much
more efficiently and (I HOPE) won't have the unreasoned kick problem.
Also kicks for mass notice as well as mass speak and action. No longer
uses the $len($parms) restriction which kicked users for too-long messages.

---------------------------------------------------------------------------

]-[ydrobomb 2.2

Completed: 4-20-97
Released: 4-20-97

Compatible with mIRC 5.0 or better ONLY. Older versions will not work.

Fixed:
CTCP wall feature. Typo was causing it to ignore channel text.
Perv Detect's not being able to be turned off. Was caused by a rennovation
to an event handler in which I left out the option to switch it off.
The Show Channels segment of Perv Detect not being able to be turned off.
Perv Detect no longer triggers to channels such as #quebec!, now must
start with an !. Caused by another, unrelated typo.
Pager not noticing people when it's off.
Used ON ERROR to check for certain types of disconnects.
DCC CHAT protect now works. Bug in previous version was caused by a variable
not being evaluated as planned.
Problems with function key options not being displayed with Perv Detect
fixed.
Switched parameters in all $left and $right identifiers - 5.0 changed the
requirements for these.

Added:
SNOTICE netsplit detector. Sets you to +s but hides server messages,
echoes notices about net breaks/junctions. If you want to go +s and
not have it hidden, switch this off and go +s manually.
Filter kicks. Type /fkick nick [number] where number is the mask number.
Useful mask numbers:
2 - kicks all clones
4 - kicks all from the same ISP
/rwhois command. Type /rwhois [nick] to request /whois information from that
nick's server. Useful in finding idle times.
IP mismatch detector. When you log on, it checks your true IP address
against that that mIRC has stored. If there's a conflict, it warns you
that your DCC will not work. Can also be set to display IP matches.
CTCP wall can be set to engage automatically upon receipt of too many
CTCPs from ANY IP address. This, when set to a low enough value (5 should be
appropriate) should hold out against the 7th Sphere FloodNet or any other
distributed-IP (non-clone) CTCP flood.
Topic Protection added (this is actually a rescript of a feature that was in
beta versions of ]-[ydro but was taken out).

Improved:
Auto-Away toggle is now where it belongs, under the Away popup section.
ChanStat has been marginally improved, fixing one bug when you are the
only user on the channel. Also displays basic channel info like topic,
mode, etc.
Added $ticsec (ticks to seconds conversion) identifier. This should save
some coding space as I plan to use it more and more in future versions.
Added several time-to-process indicators on certain features.

---------------------------------------------------------------------------

If you have any bug reports or features you'd like to see added or improved,
send email to <sdl@iamerica.net>. If you'd like the communication to be
private, a copy of my PGP public key is in every release of ]-[ydro, 2.2
or higher.
Please note. ]-[ydrobomb will NEVER contain:
-floods (of any kind)
-mass invites
-backdoors
-any other bad evil thing
:)
Einstein