In this article, we walk through creating some aliases and triggers that will allow you to track any wish protections (such as from web, marbu, dirt kick, etc.).
Tracking wish protection
If you’d like to see the payoff for your well-spent quest points, you can add the following alias to print your protection stats.
Copy the following XML, and then hit Ctrl-Shift-9 in MUSHClient to open the Aliases page. Click the Paste button and your new alias will be created:
<aliases>
<alias
match=”protectionstats”
enabled=”y”
send_to=”12″
sequence=”100″
>
<send>Note(GetVariable(‘n_levels’) .. ” levels recorded so far.”)
Note(GetVariable(‘n_dirt’) .. ” dirt attacks prevented.”)
Note(GetVariable(‘n_web’) .. ” web attacks prevented.”)
Note(GetVariable(‘n_marbu’) .. ” marbu attacks prevented.”)
Note(GetVariable(‘n_teleport’) .. ” teleports prevented.”)
Note(GetVariable(‘n_vorpal’) .. ” vorpals prevented.”)</send>
</alias>
</aliases>
Note: if you don’t have any of the above wishes, this would be a good opportunity to track the attacks that DO affect you! Then just remove the “prevented” word in the above alias, and your report will make sense.
Next, we’ll start filling in those variables.
Creating a level up trigger
Copy the following XML, and then hit Ctrl-Shift-8 in MUSHClient to open the Triggers page. Click Paste and your new trigger will be created:
<triggers>
<trigger
clipboard_arg=”1″
enabled=”y”
expand_variables=”y”
match=”You raise a level! You are now level *.”
send_to=”12″
sequence=”100″
>
<send>– Search for equipment
SetVariable(‘level’, %1)
SetVariable(‘tierlevel’, GetVariable(‘level’) + 10)
Execute(‘dinv search level ‘ .. GetVariable(‘tierlevel’))
Note(‘New level: ‘ .. GetVariable(‘level’) .. ‘. Searched for gear at level ‘ .. GetVariable(‘tierlevel’))
— Set n_levels
if GetVariable(‘n_levels’) == nil then
SetVariable(‘n_levels’, 0)
end
SetVariable(‘n_levels’, tonumber(GetVariable(‘n_levels’)) + 1)</send>
</trigger>
</triggers>
Now, I threw in a bonus here, which will search for any equipment at your new level, each time you level up. To ensure it works, create a variable called ‘tierlevel’ with your tier (0, 1, etc.). If you don’t have dinv installed, or don’t want to use this portion, simply remove the top section of the <send> block, and only keep the part below “Set n_levels”.
This trigger will start tracking the number of levels you have risen from the time you created the trigger.
Creating the protection triggers
Now you can create the following triggers (using the same Paste method above):
Dirt Kick
<triggers>
<trigger
custom_colour=”11″
enabled=”y”
group=”detections”
make_underline=”y”
match=”Unseen * dirt*”
send_to=”12″
sequence=”100″
>
<send>if GetVariable(‘n_dirt’) == nil then
SetVariable(‘n_dirt’, 0)
end
SetVariable(‘n_dirt’, tonumber(GetVariable(‘n_dirt’)) + 1)
Note(GetVariable(‘n_dirt’) .. ” dirt attacks avoided in ” .. GetVariable(‘n_levels’) .. ” levels!”)</send>
</trigger>
</triggers>
I no longer know the text that would appear if you actually got dirt kicked in your eyes, but I’m hoping someone will provide an example in case you don’t have the wish and want to track how many times you’ve had your eyes dirt-kicked.
Vorpal
If you don’t have the novorpal wish, you can track it here:
<triggers>
<trigger
custom_colour=”1″
enabled=”y”
group=”detections”
make_underline=”y”
match=”* DECAPITATES you!*”
regexp=”n”
send_to=”12″
sequence=”100″
>
<send>if GetVariable(‘n_vorpal’) == nil then
SetVariable(‘n_vorpal’, 0)
end
SetVariable(‘n_vorpal’, tonumber(GetVariable(‘n_vorpal’)) + 1)
Note(GetVariable(‘n_vorpal’) .. ” vorpal attacks in ” .. GetVariable(‘n_levels’) .. ” levels!”)</send>
</trigger>
</triggers>
If you do have the novorpal wish, track protections with this:
<triggers>
<trigger
custom_colour=”1″
enabled=”y”
group=”detections”
make_underline=”y”
match=”^Unseen (.*?) (head|decapitat)(.*?)$”
regexp=”y”
send_to=”12″
sequence=”100″
>
<send>if GetVariable(‘n_vorpal’) == nil then
SetVariable(‘n_vorpal’, 0)
end
SetVariable(‘n_vorpal’, tonumber(GetVariable(‘n_vorpal’)) + 1)
Note(GetVariable(‘n_vorpal’) .. ” vorpal attacks avoided in ” .. GetVariable(‘n_levels’) .. ” levels!”)</send>
</trigger>
</triggers>
Web
<triggers>
<trigger
custom_colour=”1″
enabled=”y”
group=”detections”
make_underline=”y”
match=”Unseen * web*”
send_to=”12″
sequence=”100″
>
<send>if GetVariable(‘n_web’) == nil then
SetVariable(‘n_web’, 0)
end
SetVariable(‘n_web’, tonumber(GetVariable(‘n_web’)) + 1)
Note(GetVariable(‘n_web’) .. ” web attacks in ” .. GetVariable(‘n_levels’) .. ” levels!”)</send>
</trigger>
</triggers>
Marbu
If you don’t have the nomarbu wish, you can track it here:
<triggers>
<trigger
custom_colour=”7″
enabled=”y”
group=”detections”
make_underline=”y”
match=”* poison * your eyes stream in agony*”
send_to=”12″
sequence=”100″
>
<send>if GetVariable(‘n_marbu’) == nil then
SetVariable(‘n_marbu’, 0)
end
SetVariable(‘n_marbu’, tonumber(GetVariable(‘n_marbu’)) + 1)
Note(GetVariable(‘n_marbu’) .. ” marbu attacks in ” .. GetVariable(‘n_levels’) .. ” levels!”)</send>
</trigger>
</triggers>
If you do have the nomarbu wish, track it this way:
<triggers>
<trigger
custom_colour=”7″
enabled=”y”
group=”detections”
make_underline=”y”
match=”Unseen* poison *”
send_to=”12″
sequence=”100″
>
<send>if GetVariable(‘n_marbu’) == nil then
SetVariable(‘n_marbu’, 0)
end
SetVariable(‘n_marbu’, tonumber(GetVariable(‘n_marbu’)) + 1)
Note(GetVariable(‘n_marbu’) .. ” marbu attacks in ” .. GetVariable(‘n_levels’) .. ” levels!”)</send>
</trigger>
</triggers>
Teleport
I’ve never encountered this one, but so far this is my guess for preventing a teleport:
<triggers>
<trigger
custom_colour=”1″
enabled=”y”
group=”detections”
make_underline=”y”
match=”Unseen * teleport*”
send_to=”12″
sequence=”100″
>
<send>if GetVariable(‘n_teleport’) == nil then
SetVariable(‘n_teleport’, 0)
end
SetVariable(‘n_teleport’, tonumber(GetVariable(‘n_teleport’)) + 1)
Note(GetVariable(‘n_teleport’) .. ” teleport attacks in ” .. GetVariable(‘n_levels’) .. ” levels!”)</send>
</trigger>
</triggers>
Summing up
Once you’ve created either the positive or negative detection triggers, you can run your “protectionstats” alias to see how many things have been either done to you or stopped from being done to you, compared with the number of levels. An example of my output is:
154 levels recorded so far.
130 dirt attacks prevented.
78 web attacks prevented.
44 marbu attacks.
0 teleports prevented.
0 vorpals prevented.
Due to this, I suspect my teleport and vorpal prevention triggers may be off, but I’ll correct it as necessary.