Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » Finished MUD Scripts
_Drax_
Newbie


Joined: 07 Jan 2004
Posts: 3
Location: Canada

PostPosted: Thu Jan 29, 2004 5:06 pm   

ROM Damage script
 
This script was written for a mud called Dark and Shattered Lands (DSL) but should work with most ROM based muds... at least I think it should... [8D]

It interprets the damage messages from the mud and shows you the potential range of the damage being done. It also keeps track of the median damage and displays that in various ways... calculating how much damage is done in a round and in a tick and per kill and the current damage for all targets. You can use it on a saved log pretty easily or have it running during actual combat. Despite its length, it only actually uses 11 triggers and runs very efficiently. A friend of mine tested it with an Imm casting lagless chain lightning and only barely noticed a delay when casting the spell 10 times in a round.

It colors the damage messages, as per DSLs scheme. If your mud has different colors they may look a little odd.

It assumes that the following damage messages (taken from the ROM code) are used:
dam == 0 miss
dam <= 4 scratches
dam <= 8 grazes
dam <= 12 hits
dam <= 16 injures
dam <= 20 wounds
dam <= 24 mauls
dam <= 28 decimates
dam <= 32 devastates
dam <= 36 maims
dam <= 40 MUTILATES
dam <= 44 DISEMBOWELS
dam <= 48 DISMEMBERS
dam <= 52 MASSACRES
dam <= 56 MANGLES
dam <= 60 *** DEMOLISHES ***
dam <= 75 *** DEVASTATE ***
dam <= 100 === OBLITERATE ===
dam <= 125 >>> ANNIHILATE <<<
dam <= 150 <<< ERADICATE >>>
dam > 150 does UNSPEAKABLE things to

In order to have it run properly I needed a median for UNSPEAKABLE damage and have assumed it to be 165. That will be grossly inaccurate in a lot of situations though.

I also took pains to make it compatible with as many versions of zMUD as possible. You will need to have zMUD 6.xx though, as earlier versions just don't have the needed commands and functions.

Import it as an ASCII script. You should get an echo after it's been installed. Turn it on by typing 'Dam' then type 'DamHelp' to see how to use it.

Enjoy.

#DELCLASS Damn_Dam
#CLASS {Damn_Dam} {disable}
#ALIAS Dam+ {#IF @tog_plus {#VAR tog_plus 0;#SAY Drax's Damn Dam Script - Damage updates OFF} {#VAR tog_plus 1;#SAY Drax's Damn Dam Script - Damage updates ON}}
#ALIAS DamReport {#SAY "";#SAY {@r_head};#LOOP %numitems( @y_targets) {rep_all %i};#SAY ""}
#ALIAS DamTick {#IF @tog_tick {#VAR tog_tick 0;#SAY Drax's Damn Dam Script - Tick Reports OFF} {#VAR tog_tick 1;#SAY Drax's Damn Dam Script - Tick Reports ON}}
#ALIAS DamPrompt {#IF %trigger( Damn_Dam|Prompt) {#T- Damn_Dam|Prompt;#SAY Drax's Damn Dam Script - Prompts will NOT be gagged} {#T+ Damn_Dam|Prompt;#SAY Drax's Damn Dam Script - Prompts WILL be gagged}}
#ALIAS DamHelp {#SAY "";#SAY {%ansi( 15)Drax's Damn Dam Script - %ansi( 12)HELP!};#SAY {%ansi( 13)%repeat( "_", 22)%ansi( 15) "Commands" %ansi( 13)%repeat( "_", 22)};#SAY {%ansi( 14)Dam %ansi( 11)%repeat(" ",6)"- Toggle the whole script on and off. The script must be switched ON before any of these other commands will work (including the help you're reading now!)"};#SAY {%ansi( 14)DamReport %ansi( 11)"- Give a full damage report for all targets. You'll only get one if you type this command."};#SAY {%ansi( 14)DamTeam %ansi( 11) " - Display information for several targets as a Team, using their number as shown in 'DamReport'. This is basically for CWars but will work for any number and combination of targets. Syntax is: 'DamTeam # # # #'"};damhelp2}
#ALIAS damhelp2 {#SAY {%ansi( 14)Dam+ %ansi( 11)%repeat(" ",5)"- Toggle mini damage reports on and off. If switched ON you will get a mini report any time damage is exchanged for everyone involved. Format: <damage this round> (<current damage>)"};#SAY {%ansi( 14)DamTick %ansi( 11)%repeat(" ",2)"- Toggle tick damage reports on and off. If switched ON you will get a mini report at each tick for everyone who exchanged damage during that tick."};#SAY {%ansi( 14)DamHits %ansi( 11)%repeat(" ",2)"- Toggle whether or not the number of hits will be displayed. Toggling this off will reduce spam considerably, shortening the reports you get. The number of hits exchanged will be tracked whether you see them or not, making it possible to toggle them on at the end of a fight to see the number. Misses get counted in this number and the script makes no distinction between weapon hits and spells."};#SAY {%ansi( 14)DamClear %ansi( 11)" - Reset the script to 0."};damhelp3}
#ALIAS damhelp3 {#SAY {%ansi( 14)DamRemove %ansi( 11)"- Remove a target from the script by its number as shown in 'DamReport'. This can also clear data for 'You', #1. Syntax is 'DamRemove #'"};#SAY {%ansi( 14)DamPrompt %ansi( 11)"- Toggle the gagging of your prompt on and off. In order to get tick reports you must have your prompt enabled on DSL. This option is here so that you can get tick reports in a log without having your prompt in the log. All triggers associated with this command are in the 'Prompt' subclass. You may need to modify or add to them in order to correctly gag your particular prompt."};#SAY {%ansi( 14)DamHelp %ansi( 11)%repeat(" ",2)"- The help you're reading now."};#SAY {%ansi( 13)%repeat( "_", 54)};#SAY ""}
#ALIAS DamRemove {#IF %eval( %isnumber( %1)&(%1<=%numitems( @y_targets))&(%1>0)) {#IF %eval( %1==1) {res_you} {#SAY {Drax's Damn Dam Script - Removed %ansi( 15)%item( @y_targets, %1)};#DELNITEM y_targets %1;#DELNITEM x_dam_tak %1;#DELNITEM x_dam_dlt %1;#DELNITEM y_dam_tak %1;#DELNITEM y_dam_dlt %1;#DELNITEM y_kill_tak %1;#DELNITEM y_kill_dlt %1;#DELNITEM y_tick_tak %1;#DELNITEM y_tick_dlt %1;#DELNITEM y_kills %1;#DELNITEM y_dam_atk %1;#DELNITEM y_dam_rcv %1;#DELNITEM y_kill_atk %1;#DELNITEM y_kill_rcv %1;#DELNITEM y_tick_atk %1;#DELNITEM y_tick_rcv %1}} {#SAY {Drax's Damn Dam Script - WTF?}}}
#ALIAS DamClear {#SAY Drax's Damn Dam Script - Data Cleared;#VAR x_dam_tak {0};#VAR x_dam_dlt {0};#VAR y_dam_tak {0};#VAR y_dam_dlt {0};#VAR y_targets {You};#VAR y_kills {0};#VAR y_kill_tak {0};#VAR y_kill_dlt {0};#VAR y_tick_dlt {0};#VAR y_tick_tak {0};#VAR y_ticks {0};#VAR y_tick {%secs};#VAR y_time {%secs};#VAR stack_round {};#VAR stack_tick {};#VAR x_dam_atk {0};#VAR x_dam_rcv {0};#VAR y_dam_atk {0};#VAR y_dam_rcv {0};#VAR y_kill_atk {0};#VAR y_kill_rcv {0};#VAR y_tick_atk {0};#VAR y_tick_rcv {0}}
#ALIAS DamTeam {#IF %eval( (%max( %replace( %-1, " ", ",")) > %numitems( @y_targets)) | (%min( %replace( %-1, " ", ",")) < 1) | !%isnumber( %eval( %replace( %-1, " ", "+")))) { #SAY {Drax's Damn Dam Script - DamTeam Bad Range}} {#VAR x_dam_tak 0;#VAR x_dam_dlt 0;#VAR x_dam_atk 0;#VAR x_dam_rcv 0;#VAR stack_round 0;#EXEC %concat( "add_team ", %replace( %-1, " ", ";add_team "));#SAY "";rep_team %-1;#SAY %ansi( 14)%if( @tog_hits, %repeat( "-", 105), %repeat( "-", 81));#SAY {@r_head};#EXEC %concat( "rep_all ", %replace( %-1, " ", ";rep_all "));#SAY "";res_var x_dam_tak;res_var x_dam_dlt;res_var x_dam_atk;res_var x_dam_rcv;#VAR stack_round {}}}
#ALIAS DamHits {#IF @tog_hits {#VAR tog_hits 0;#SAY {Drax's Damn Dam Script - Number of hits will NOT be shown}} {#VAR tog_hits 1;#SAY {Drax's Damn Dam Script - Number of hits WILL be shown}}}
#ALIAS add_dam {#T+ dam_rnd;dam_dam x_dam_dlt %1 %item( @Dam_Med, %3);dam_dam x_dam_tak %2 %item( @Dam_Med, %3);dam_dam x_dam_atk %1 1;dam_dam x_dam_rcv %2 1;#ADDITEM stack_round {_do_ %if( %1<10, 0)%1};#ADDITEM stack_round {_do_ %if( %2<10, 0)%2};#ADDITEM stack_tick {_do_ %item( @y_targets, %1)};#ADDITEM stack_tick {_do_ %item( @y_targets, %2)}}
#ALIAS add_target {#IF !%ismember( %1, @y_targets) {#ADDITEM y_targets %1;add_var x_dam_dlt;add_var x_dam_tak;add_var y_dam_dlt;add_var y_dam_tak;add_var y_kills;add_var y_kill_tak;add_var y_kill_dlt;add_var y_tick_tak;add_var y_tick_dlt;add_var x_dam_atk;add_var x_dam_rcv;add_var y_dam_atk;add_var y_dam_rcv;add_var y_kill_atk;add_var y_kill_rcv;add_var y_tick_atk;add_var y_tick_rcv}}
#ALIAS add_round {#EXEC %replace( %sort( %replace( @stack_round, "_do_", "rep_round")), "|", ";");res_var x_dam_tak;res_var x_dam_dlt;res_var x_dam_atk;res_var x_dam_rcv;#VAR stack_round {};#IF @tog_plus {#SAY ""}}
#ALIAS add_tick {#ADD y_ticks 1;#IF %eval( %numitems( @stack_tick) & @tog_tick) {#SAY {%ansi( 13)"TICK "%ansi( 15)@jus(@y_ticks,3)%ansi( 13)"-"%ansi( 15)@r_time(%eval(@y_tick - %if(@y_tick>%secs,86400000,0)),%secs,1)%ansi( 13) "Running" %ansi( 15)@r_time(%eval(@y_time - %if(@y_time>%secs,86400000,0)),%secs)%ansi( 14)"|"%if( @tog_hits, %ansi( 13)%repeat(" ",3)"This Tick"%repeat(" ",4)%ansi( 15)"("%ansi( 13)%repeat(" ",3)"Total"%repeat(" ",2)%ansi( 15)")"%ansi( 14)"|"%ansi( 13)%repeat(" ",3)"This Tick"%repeat(" ",4)%ansi( 15)"("%ansi( 13)%repeat(" ",3)"Total"%repeat(" ",2)%ansi( 15)")", %ansi( 13)" This Tick"%repeat(" ",2)%ansi( 15)"("%ansi( 13)" Total"%ansi( 15)")"%ansi( 14)"|"%ansi( 13)" This Tick"%repeat(" ",2)%ansi( 15)"("%ansi( 13)" Total"%ansi( 15)")")%ansi( 14)"|" %ansi( 13)"Tick" %ansi( 15)"("%ansi( 13)"Total"%ansi( 15)")"};#EXEC {%replace( %replace( %expand( @stack_tick, 1), "|", ";"), "_do_", "rep_tick")};#SAY ""};res_var y_tick_dlt;res_var y_tick_tak;res_var y_tick_atk;res_var y_tick_rcv;#VAR y_tick %secs;#VAR stack_tick {}}
#ALIAS add_kill {dam_dam y_kills %1 1;dam_dam y_kill_tak %1 %eval( %item( @x_dam_tak, %1) + %item( @y_dam_tak, %1));dam_dam y_kill_dlt %1 %eval( %item( @x_dam_dlt, %1) + %item( @y_dam_dlt, %1));dam_dam y_kill_atk %1 %eval( %item( @x_dam_atk, %1) + %item( @y_dam_atk, %1));dam_dam y_kill_rcv %1 %eval( %item( @x_dam_rcv, %1) + %item( @y_dam_rcv, %1))}
#ALIAS add_team {#ADD x_dam_dlt %eval( %item( @y_kill_dlt, %1)+%item( @y_dam_dlt, %1));#ADD x_dam_tak %eval( %item( @y_kill_tak, %1)+%item( @y_dam_tak, %1));#ADD x_dam_atk %eval( %item( @y_kill_atk, %1)+%item( @y_dam_atk, %1));#ADD x_dam_rcv %eval( %item( @y_kill_rcv, %1)+%item( @y_dam_rcv, %1));#ADD stack_round %item( @y_kills, %1)}
#ALIAS add_var {#VAR %1 %additem( 0, @%1)}
#ALIAS dam_dam {#VAR %1 %replaceitem( %eval( %item( @%1, %2)+%3), %2, @%1)}
#ALIAS do_dam {#IF !%eval( %ismember( %1, @Bad_Targets) | %ismember( %2, @Bad_Targets)) {add_target %1;#IF (%2=="Him") {add_dam %ismember( %1, @y_targets) %ismember( %1, @y_targets) %3} {add_target %2;add_dam %ismember( %1, @y_targets) %ismember( %2, @y_targets) %3}}}
#ALIAS pass_dam {dam_dam y_dam_tak %1 %item( @x_dam_tak, %1);dam_dam y_dam_dlt %1 %item( @x_dam_dlt, %1);dam_dam y_tick_tak %1 %item( @x_dam_tak, %1);dam_dam y_tick_dlt %1 %item( @x_dam_dlt, %1);dam_dam y_dam_atk %1 %item( @x_dam_atk, %1);dam_dam y_dam_rcv %1 %item( @x_dam_rcv, %1);dam_dam y_tick_atk %1 %item( @x_dam_atk, %1);dam_dam y_tick_rcv %1 %item( @x_dam_rcv, %1)}
#ALIAS rep_round {#IF @tog_plus {#SAY @r_round(%1)}}
#ALIAS rep_tick {#IF %ismember( "%-1", @y_targets) {#SAY @r_tick(%ismember("%-1",@y_targets))}}
#ALIAS rep_all {#SAY @r_all(%1)}
#ALIAS rep_team {#SAY {@r_team(%numwords( %-1),@stack_round,@x_dam_dlt,@x_dam_tak,@x_dam_atk,@x_dam_rcv)}}
#ALIAS res_var {#VAR %1 %concat( 0, %repeat( "|0", %eval( %numitems( @y_targets)-1)))}
#ALIAS res_tar {#VAR y_dam_dlt %replaceitem( %eval( 0-%item( @x_dam_dlt, %1)), %1, @y_dam_dlt);#VAR y_dam_tak %replaceitem( %eval( 0-%item( @x_dam_tak, %1)), %1, @y_dam_tak);#VAR y_dam_atk %replaceitem( %eval( 0-%item( @x_dam_atk, %1)), %1, @y_dam_atk);#VAR y_dam_rcv %replaceitem( %eval( 0-%item( @x_dam_rcv, %1)), %1, @y_dam_rcv)}
#ALIAS res_you {#SAY {Drax's Damn Dam Script - Cleared data for %ansi( 15)You!};#VAR y_dam_tak %replaceitem( 0, 1, @y_dam_tak);#VAR y_dam_dlt %replaceitem( 0, 1, @y_dam_dlt);#VAR y_kill_tak %replaceitem( 0, 1, @y_kill_tak);#VAR y_kill_dlt %replaceitem( 0, 1, @y_kill_dlt);#VAR y_tick_tak %replaceitem( 0, 1, @y_tick_tak);#VAR y_tick_dlt %replaceitem( 0, 1, @y_tick_dlt);#VAR y_kills %replaceitem( 0, 1, @y_kills);#VAR y_dam_atk %replaceitem( 0, 1, @y_dam_atk);#VAR y_dam_rcv %replaceitem( 0, 1, @y_dam_rcv);#VAR y_kill_atk %replaceitem( 0, 1, @y_kill_atk);#VAR y_kill_rcv %replaceitem( 0, 1, @y_kill_rcv);#VAR y_tick_atk %replaceitem( 0, 1, @y_tick_atk);#VAR y_tick_rcv %replaceitem( 0, 1, @y_tick_rcv)}
#VAR Conditions {is in excellent condition|has a few scratches|has some small wounds and bruises|has quite a few wounds|has some big nasty wounds and scratches|looks pretty hurt|is in awful condition}
#VAR Dam_In {misses|scratches|grazes|hits|injures|wounds|mauls|decimates|devastates|maims|MUTILATES|DISEMBOWELS|DISMEMBERS|MASSACRES|MANGLES|*** DEMOLISHES ***|*** DEVASTATES ***|=== OBLITERATES ===|>>> ANNIHILATES <<<|<<< ERADICATES >>>|does UNSPEAKABLE things to}
#VAR Dam_In_ {miss|scratch|graze|hit|injure|wound|maul|decimate|devastate|maim|MUTILATE|DISEMBOWEL|DISMEMBER|MASSACRE|MANGLE|*** DEMOLISH ***|*** DEVASTATE ***|=== OBLITERATE ===|>>> ANNIHILATE <<<|<<< ERADICATE >>>|do UNSPEAKABLE things to}
#FUNC Dam_Out {%e[33mmisses%e[0m|%e[32mscratches%e[0m|%e[32mgrazes%e[0m|%e[32mhits%e[0m|%e[32minjures%e[0m|%e[32mwounds%e[0m|%e[32mmauls%e[0m|%e[32mdecimates%e[0m|%e[32mdevastates%e[0m|%e[32mmaims%e[0m|%e[1:33mMUTILATES%e[0m|%e[1:33mDISEMBOWELS%e[0m|%e[1:33mDISMEMBERS%e[0m|%e[1:33mMASSACRES%e[0m|%e[1:33mMANGLES%e[0m|*** %e[1:31mDEMOLISHES%e[0m ***|*** %e[1:31mDEVASTATES%e[0m ***|=== %e[1:31mOBLITERATES%e[0m ===|>>> %e[1:31mANNIHILATES%e[0m <<<|<<< %e[1:31mERADICATES%e[0m >>>|does %e[1:31mU%e[1:37mN%e[1:31mS%e[1:37mP%e[1:31mE%e[1:37mA%e[1:31mK%e[1:37mA%e[1:31mB%e[1:37mL%e[1:31mE%e[0m things to}
#FUNC Dam_Out_ {%e[33mmiss%e[0m|%e[32mscratch%e[0m|%e[32mgraze%e[0m|%e[32mhit%e[0m|%e[32minjure%e[0m|%e[32mwound%e[0m|%e[32mmaul%e[0m|%e[32mdecimate%e[0m|%e[32mdevastate%e[0m|%e[32mmaim%e[0m|%e[1:33mMUTILATE%e[0m|%e[1:33mDISEMBOWEL%e[0m|%e[1:33mDISMEMBER%e[0m|%e[1:33mMASSACRE%e[0m|%e[1:33mMANGLE%e[0m|*** %e[1:31mDEMOLISH%e[0m ***|*** %e[1:31mDEVASTATE%e[0m ***|=== %e[1:31mOBLITERATE%e[0m ===|>>> %e[1:31mANNIHILATE%e[0m <<<|<<< %e[1:31mERADICATE%e[0m >>>|do %e[1:31mU%e[1:37mN%e[1:31mS%e[1:37mP%e[1:31mE%e[1:37mA%e[1:31mK%e[1:37mA%e[1:31mB%e[1:37mL%e[1:31mE%e[0m things to}
#VAR Dam_Echo {0|1-4|5-8|9-12|13-16|17-20|21-24|25-28|29-32|33-36|37-40|41-44|45-48|49-52|53-56|57-60|61-75|76-100|101-125|126-150|151+}
#VAR Dam_Med {0|5|13|21|29|37|45|53|61|69|77|85|93|101|109|117|136|176|226|276|330}
#VAR Toast_Mes {got offed by|got killed by|got toasted by|got RAMPAGED by|got ROCKED by|got ***DESTROYED*** by}
#VAR Bad_Targets {The ground ... dead|His charge at you}
#VAR stack_round {}
#VAR stack_tick {}
#VAR tog_tick {1}
#VAR tog_plus {1}
#VAR tog_hits {0}
#VAR x_dam_tak {0}
#VAR x_dam_dlt {0}
#VAR y_targets {You}
#VAR y_time {1}
#VAR y_tick {1}
#VAR y_ticks {0}
#VAR y_dam_tak {0}
#VAR y_dam_dlt {0}
#VAR y_kills {0}
#VAR y_kill_tak {0}
#VAR y_kill_dlt {0}
#VAR y_tick_tak {0}
#VAR y_tick_dlt {0}
#VAR x_dam_atk {0}
#VAR x_dam_rcv {0}
#VAR y_dam_atk {0}
#VAR y_dam_rcv {0}
#VAR y_tick_atk {0}
#VAR y_tick_rcv {0}
#VAR y_kill_atk {0}
#VAR y_kill_rcv {0}
#FUNC jus {%if( %3, "%1"%repeat( " ", %eval( %2-%len( "%1"))), %repeat( " ", %eval( %2-%len( "%1")))"%1")}
#FUNC r_time {%if( %3, "", %if( %eval( (%2-%1)/360000060)<10, 0)%eval( (%2-%1)/360000060):%if( %eval( (%2-%1)/6000060)<10, 0))%eval( (%2-%1)/6000060):%if( %eval( (%2-%1)/100060) < 10, 0)%eval( (%2-%1)/100060)}
#FUNC r_round {@r_name(%1) @jus(%item(@y_kills,%1),3)%ansi( 14)"|"@r_dlt(%1)%ansi( 14)"|"@r_tak(%1)%ansi( 14)"|"@r_pct(%item(@y_dam_dlt,%1),%item(@y_dam_tak,%1))}
#FUNC r_death {@r_death2(%eval(%item(@x_dam_dlt,%1)/2),%eval((%item(@x_dam_dlt,%1)+%item(@y_dam_dlt,%1))/2),%eval(%item(@x_dam_tak,%1)/2),%eval((%item(@x_dam_tak,%1)+%item(@y_dam_tak,%1))/2),%item(@x_dam_atk,%1),%eval(%item(@y_dam_atk,%1)+%item(@x_dam_atk,%1)),%item(@x_dam_rcv,%1),%eval(%item(@y_dam_rcv,%1)+%item(@x_dam_rcv,%1)))}
#FUNC r_tak {%ansi( 7)"Taken" %if(@tog_hits,%ansi( 4)@jus(%item(@x_dam_rcv,%1),2)%ansi( 7)":")%ansi( 12)@jus(%eval(%item(@x_dam_tak,%1)/2),4) %ansi( 15)"("%if(@tog_hits,%ansi( 4)@jus(%item(@y_dam_rcv,%1),3)%ansi( 7)":")%ansi( 12)@jus(%eval(%item(@y_dam_tak,%1)/2),6)%ansi( 15)")"}
#FUNC r_dlt {%ansi( 7)"Dealt" %if(@tog_hits,%ansi( 3)@jus(%item(@x_dam_atk,%1),2)%ansi( 7)":")%ansi( 11)@jus(%eval(%item(@x_dam_dlt,%1)/2),4) %ansi( 15)"("%if(@tog_hits,%ansi( 3)@jus(%item(@y_dam_atk,%1),3)%ansi( 7)":")%ansi( 11)@jus(%eval(%item(@y_dam_dlt,%1)/2),6)%ansi( 15)")"}
#FUNC r_name {%if( %item( @y_kills, %1), %ansi( 6), %ansi( 14))@jus(%left(%item(@y_targets,%1),26),26,1)}
#FUNC r_kill {%if( %1, %ansi( 6)@jus(%1,2) %if( @tog_hits, %ansi( 3)@jus(%eval(%4/%1),3)%ansi( 7)":")%ansi( 11)@jus(%eval(%2/%1),5)%if( @tog_hits, %ansi( 7)"/"%ansi( 4)@jus(%eval(%5/%1),3)%ansi( 7)":"," ")%ansi( 12)@jus(%eval(%3/%1),5), %ansi( 7)%if( @tog_hits, " 0 ---------/---------", " 0 ----- -----"))}
#FUNC r_pct {%ansi( 10)%if( %eval( (%1<1)&(%2<1)), " ?? ", %if( %eval( %1<1), " -- ", %if( %eval( %2<1), " ++ ", @jus(%eval( %1*100/%2),4))))"%"}
#FUNC r_dam {%replace( %item( @Dam_Out, %ismember( %1, @Dam_In)), ":", ";")}
#FUNC r_tick {@r_name(%1) @jus(%item(@y_kills,%1),3)%ansi( 14)"|"%ansi( 7)"Dealt" %if(@tog_hits,%ansi( 3)@jus(%item(@y_tick_atk,%1),3)%ansi( 7)":")%ansi( 11)@jus(%eval(%item(@y_tick_dlt,%1)/2),5) %ansi( 15)"("%if(@tog_hits,%ansi(3)@jus(%eval(%item(@y_dam_atk,%1)+%item(@y_kill_atk,%1)),3)%ansi( 7)":")%ansi( 11)@jus(%eval((%item(@y_dam_dlt,%1)+%item(@y_kill_dlt,%1))/2),6)%ansi( 15)")"%ansi( 14)"|"%ansi( 7)"Taken" %if(@tog_hits,%ansi( 4)@jus(%item(@y_tick_rcv,%1),3)%ansi( 7)":")%ansi( 12)@jus(%eval(%item(@y_tick_tak,%1)/2),5) %ansi( 15)"("%if(@tog_hits,%ansi(4)@jus(%eval(%item(@y_dam_rcv,%1)+%item(@y_kill_rcv,%1)),3)%ansi( 7)":")%ansi( 12)@jus(%eval((%item(@y_dam_tak,%1)+%item(@y_kill_tak,%1))/2),6)%ansi( 15)")"%ansi( 14)"|"@r_pct(%item(@y_tick_dlt,%1),%item(@y_tick_tak,%1)) %ansi( 15)"("@r_pct(%eval(%item(@y_dam_dlt,%1)+%item(@y_kill_dlt,%1)),%eval(%item(@y_dam_tak,%1)+%item(@y_kill_tak,%1)))%ansi( 15)")"}
#FUNC r_echo {%ansi( 15)"("%ansi( 12)%item( @Dam_Echo, %ismember( %1, @Dam_In))%ansi( 15)")"}
#FUNC r_echo_ {%ansi( 15)"("%ansi( 12)%item( @Dam_Echo, %ismember( %1, @Dam_In_))%ansi( 15)")"}
#FUNC r_dam_ {%replace( %item( @Dam_Out_, %ismember( %1, @Dam_In_)), ":", ";")}
#FUNC r_death2 {%ansi( 7)Dealt %if(@tog_hits,%ansi( 3)@jus(%5,2)%ansi( 15)":")%ansi( 11)@jus(%1,4) %ansi( 15)"("%if(@tog_hits,%ansi( 3)@jus(%6,3)%ansi( 15)":")%ansi( 11)@jus(%2,6)%ansi( 15)")"%ansi( 14)"|"%ansi( 7)"Taken" %if(@tog_hits,%ansi( 4)@jus(%7,2)%ansi( 15)":")%ansi( 12)@jus(%3,4) %ansi( 15)"("%if(@tog_hits,%ansi( 4)@jus(%8,3)%ansi( 15)":")%ansi( 12)@jus(%4,6)%ansi( 15)")"%ansi( 14)"|"@r_pct(%2,%4)}
#FUNC r_all2 {%if(@tog_hits,%ansi( 3)@jus(%eval(%6+%8),3)%ansi( 15)":")%ansi( 11)@jus(%eval((%1+%4)/2),6)%if(@tog_hits,%ansi( 15)"/"%ansi( 4)@jus(%eval(%7+%9),3)%ansi( 15)":"," ")%ansi( 12)@jus(%eval((%2+%5)/2),6)%ansi( 14)"|"%if(@tog_hits,%ansi( 3)@jus(%6,3)%ansi( 7)":")%ansi( 11)@jus(%eval(%1/2),6)%if(@tog_hits,%ansi( 15)"/"%ansi( 4)@jus(%7,3)%ansi( 7)":"," ")%ansi( 12)@jus(%eval(%2/2),6)%ansi( 14)"|"@r_kill(%3,%eval(%4/2),%eval(%5/2),%8,%9)%ansi( 14)"|" @r_pct(%eval(%1+%4),%eval(%2+%5))}
#FUNC r_all {%ansi( 15)@jus(%1,2) @r_name(%1) %ansi( 14)"|"@r_all2(%item(@y_dam_dlt,%1),%item(@y_dam_tak,%1),%item(@y_kills,%1),%item(@y_kill_dlt,%1),%item(@y_kill_tak,%1),%item(@y_dam_atk,%1),%item(@y_dam_rcv,%1),%item(@y_kill_atk,%1),%item(@y_kill_rcv,%1))}
#FUNC r_team {" "%ansi( high, magenta, under)" -<( Full Team )>- "%ansi( 15)" Dead" %if( %2, %ansi( 6), %ansi( 14))@jus(%2,3) %ansi( 14)"|" %ansi( 15)"Avg" %if(@tog_hits,%ansi( 3)@jus(%eval(%5/%1),4)%ansi( 7)":")%ansi( 11)@jus(%eval(%3/2/%1),6) %if(@tog_hits,%ansi( 15)"/ "%ansi( 4)@jus(%eval(%6/%1),4)%ansi( 7)":")%ansi( 12)@jus(%eval(%4/2/%1),6) %ansi( 14)"|" %ansi( 15)"Total " %if(@tog_hits,%ansi( 3)@jus(%5,4)%ansi( 7)":")%ansi( 11)@jus(%eval(%3/2),6) %if(@tog_hits,%ansi( 15)"/ "%ansi( 4)@jus(%6,4)%ansi( 7)":")%ansi( 12)@jus(%eval(%4/2),6) %ansi( 14)"|" @r_pct(%3,%4)}
#FUNC r_head {%ansi( 13)"Running - "%ansi( 15)@r_time(%eval(@y_time - %if(@y_time>%secs,86400000,0)),%secs)%ansi( 13)" - "%ansi( 15)@jus(@y_ticks,3)%ansi( 13)" Ticks"%ansi( 14)"|"%ansi( 13)%if(@tog_hits,%repeat(" ",8)"Total"%repeat(" ",8)%ansi( 14)"|"%ansi( 13)%repeat(" ",7)"Current"%repeat(" ",7)%ansi( 14)"|"%ansi( 13)%repeat(" ",4)"Dead & Average"%repeat(" ",4)%ansi( 14)"|"%ansi( 13)"Percent",%repeat(" ",4)"Total"%repeat(" ",4)%ansi( 14)"|"%ansi( 13)%repeat(" ",3)"Current"%repeat(" ",3)%ansi( 14)"|"%ansi( 13)"Dead & Average"%ansi( 14)"|"%ansi( 13)"Percent")}
#TRIGGER "dam_rnd" {^$} {#T- dam_rnd;#EXEC {%replace( %replace( @stack_round, "|", ";"), "_do_", "pass_dam")};add_round} "" {disable}
#TRIGGER {^* ({got offed by|got killed by|got toasted by|got RAMPAGED by|got ROCKED by|got ***DESTROYED*** by}) *$} {#SUB {%trigger %ansi(15)"["%ansi(12)%case(%ismember(%param1,@Toast_Mes),"1 - 20%","20 - 25%","25 - 33%","33 - 50%","50 - 66%","66 - 100%")%ansi(15)"]"}}
#TRIGGER {^(*) ({is in excellent condition|has a few scratches|has some small wounds and bruises|has quite a few wounds|has some big nasty wounds and scratches|looks pretty hurt|is in awful condition})[. ]$} {#T- dam_rnd;add_target %proper( %param1);#EXEC {%replace( %replace( @stack_round, "|", ";"), "_do_", "pass_dam")};#SUB {%ansi(%case( %ismember( %param2, @Conditions), 15, 10, 2, 6, 14, 12, 4))%case( %ismember( %param2, @Conditions), "[100%]", "[90-99%]", "[75-89%]", "[50-74%]", "[30-49%]", "[15-29%]", "[0-14%]") %trigger %ansi(14)| @r_tak(%ismember(%proper( %param1),@y_targets))};add_round}
#TRIGGER {^({@y_targets}) is DEAD~!~!$} {add_kill %ismember( %proper( %param1), @y_targets);#SUB {%ansi(12)%trigger" - " @r_death(%ismember(%proper(%param1),@y_targets))};res_tar %ismember( %proper( %param1), @y_targets)}
#TRIGGER {^~[ (*) ~] ({@y_targets}) is DEAD~!~!$} {add_kill %ismember( %proper( %param2), @y_targets);#SUB {~[ %param1 ~] %ansi(12)%param2 is DEAD!! %ansi(15)" - " @r_death(%ismember(%proper(%param2),@y_targets))};res_tar %ismember( %proper( %param2), @y_targets)}
#TRIGGER {^You ({miss|scratch|graze|hit|injure|wound|maul|decimate|devastate|maim|MUTILATE|DISEMBOWEL|DISMEMBER|MASSACRE|MANGLE|*** DEMOLISH ***|*** DEVASTATE ***|=== OBLITERATE ===|>>> ANNIHILATE <<<|<<< ERADICATE >>>|do UNSPEAKABLE things to}) (*)[!.]$} {#SUB {You @r_dam_(%param1) %param2. @r_echo_(%param1)};do_dam You %proper( %param2) %ismember( %param1, %expand( @Dam_In, 1))} "" {case|notrig}
#TRIGGER {^Your ([A-z ]) ({misses|scratches|grazes|hits|injures|wounds|mauls|decimates|devastates|maims|MUTILATES|DISEMBOWELS|DISMEMBERS|MASSACRES|MANGLES|*** DEMOLISHES ***|*** DEVASTATES ***|=== OBLITERATES ===|>>> ANNIHILATES <<<|<<< ERADICATES >>>|does UNSPEAKABLE things to}) (*)[!.]$} {#SUB {Your %param1 @r_dam(%param2) %param3. @r_echo(%param2)};do_dam You %proper( %param3) %ismember( %param2, %expand( @Dam_In, 1))} "" {case|notrig}
#TRIGGER {^([A-Za-z'~- ])'s ([A-z ]) ({misses|scratches|grazes|hits|injures|wounds|mauls|decimates|devastates|maims|MUTILATES|DISEMBOWELS|DISMEMBERS|MASSACRES|MANGLES|*** DEMOLISHES ***|*** DEVASTATES ***|=== OBLITERATES ===|>>> ANNIHILATES <<<|<<< ERADICATES >>>|does UNSPEAKABLE things to}) (*)[.!]$} {#SUB {%param1's %param2 @r_dam(%param3) %param4. @r_echo(%param3)};do_dam %proper( %param1) %proper( %param4) %ismember( %param3, %expand( @Dam_In, 1))} "" {case|notrig}
#TRIGGER {^(%x) ({misses|scratches|grazes|hits|injures|wounds|mauls|decimates|devastates|maims|MUTILATES|DISEMBOWELS|DISMEMBERS|MASSACRES|MANGLES|*** DEMOLISHES ***|*** DEVASTATES ***|=== OBLITERATES ===|>>> ANNIHILATES <<<|<<< ERADICATES >>>|does UNSPEAKABLE things to}) (*)[.!]$} {#SUB {%param1 @r_dam(%param2) %param3. @r_echo(%param2)};do_dam %proper( %param1) %proper( %param3) %ismember( %param2, %expand( @Dam_In, 1))} "" {case}
#TRIGGER {^~[ (*) ~] (*)'s ([A-z ]) ({misses|scratches|grazes|hits|injures|wounds|mauls|decimates|devastates|maims|MUTILATES|DISEMBOWELS|DISMEMBERS|MASSACRES|MANGLES|*** DEMOLISHES ***|*** DEVASTATES ***|=== OBLITERATES ===|>>> ANNIHILATES <<<|<<< ERADICATES >>>|does UNSPEAKABLE things to}) (*)[.!]$} {#SUB {~[ %param1 ~] %param2's %param3 @r_dam(%param4) %param5. @r_echo(%param4)};do_dam %proper( %param2) %proper( %param5) %ismember( %param4, %expand( @Dam_In, 1))} "" {case|notrig}
#TRIGGER {^~[ (*) ~] (%x) ({misses|scratches|grazes|hits|injures|wounds|mauls|decimates|devastates|maims|MUTILATES|DISEMBOWELS|DISMEMBERS|MASSACRES|MANGLES|*** DEMOLISHES ***|*** DEVASTATES ***|=== OBLITERATES ===|>>> ANNIHILATES <<<|<<< ERADICATES >>>|does UNSPEAKABLE things to}) (*)[.!]$} {#SUB {~[ %param1 ~] %param2 @r_dam(%param3) %param4. @r_echo(%param3)};do_dam %proper( %param2) %proper( %param4) %ismember( %param3, %expand( @Dam_In, 1))} "" {case}
#CLASS {Damn_Dam|Prompt} {disable}
#TRIGGER {%d:[03]0[ap]m} {#GAG;#NOOP "The trigger pattern '%d:[03]0[ap]m' will match the time '%t' in your prompt"}
#TRIGGER {^Timer now at %d secs.$} {#GAG}
#TRIGGER {^TICK IN %d SECONDS.$} {#GAG}
#CLASS 0
#ALIAS Dam {#IF %trigger( Damn_Dam) {#T- Damn_Dam;#SAY Drax's Damn Dam Script - OFF} {#T+ Damn_Dam;#SAY Drax's Damn Dam Script - ON}}
#T- Damn_Dam|Prompt
#T- Damn_Dam
#SAY {Drax's Damn Dam Script - Installed v 1.00}
Reply with quote
nexela
Wizard


Joined: 15 Jan 2002
Posts: 1644
Location: USA

PostPosted: Sat Jan 31, 2004 9:23 am   
 
Ohhh a help file!
Reply with quote
_Drax_
Newbie


Joined: 07 Jan 2004
Posts: 3
Location: Canada

PostPosted: Sat Jan 31, 2004 4:59 pm   
 
It seemed appropriate after I got to a certain point in writing it and realized just how many user aliases there were to keep track of. If I was writing it just for my own use I wouldn't have bothered... but I was writing it to be used by a lot of people.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » Finished MUD Scripts All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net