Damage Done Script

Other clients used. jmc/tinyfuge, ect.

Damage Done Script

Postby Thraxas » Sun Feb 18, 2007 7:46 pm

Up front I'll say I found creating this more fun than the product will be useful.
No one seems to have posted many scripts for a while so I thought I would.

This is a little bit of scripting that I've created and works nicely to whine the actual and exact damage you do in each round of combat
It will accurately calculate the damage done by any anything you do that you get xp for
This includes weapon damage, spell damage, proc damage, chop damage, kicks, bashes, broadsides, flails, deathblows etc.
This does not include damage done by pets
This is inaccurate in last round of battle when mob may not have all the hp to lose that you damage does.

The basis of this script is that xp gained from damage done = mob level * actual damage done
Therefore you need to know mob level, this script works out this calc for all levels and sees which levels show damage as a whole number.
if a decimal is found on the damage done, this level is deemed wrong and discarded for the calcs in the next round, thereby it will iteratively work out the mobs level during combat.
Note: If a mob is level 40 then all whole divisors of 40 (20 10 8 5 4 2 1) could also be right to this method, for this reason I limit the script to looking at mob levels 20+

I've used it sucessfully in my client (AL Client) the bare bones are below and should be enough for you to reconstruct, they rely on you having your current xp in your prompt.

The effect is a whine somthing like:

Damage Report: [20]: 14 [30] 21

where the 20 and 30 are the possible levels the mob could be, this normally starts in round one at 3-5 levels after 3 rounds is reduced down to one, the mobs actual level. (the 14 and 21 are the damage done)

Let me know if you find useful or any additions I could make to it.

Thraxas


alias (triggered at start of fight) _fightstart:
#if (autodam = 1) {_gainreset}

Note: I have a load of other stuff in _fightstart this is only pertinent bit, autodam is a toggle variable to switch whole process on and off.

alias _gainreset:
#set gd[20] = 1;
#set gd[21] = 1;
... etc ...
#set gd[44] = 1;
#set gd[45] = 1

Note: I'd love to use a for loop here but my client dosen't support them

alias (triggered at prompt) _gainprom:
#set myxpprom = (myxp - myxplast)/1;

Note: myxpprom is xp gain between this and last prompt, myxp is xp shown in prompt this round, myxplast is xp from prompt in previous round

#if (autodam = 1)
{#set gdrep Damage Report: ;
#if (myxp > myxplast)
{#if (gd[20] = 1) {_gaindam myxplast myxp 20};
#if (gd[21] = 1) {_gaindam myxplast myxp 21};
... etc ...
#if (gd[44] = 1) {_gaindam myxplast myxp 44};
#if (gd[45] = 1) {_gaindam myxplast myxp 45};
};
#print $gdrep$
}

alias _gaindam:
#set num1 = %1;
#set num2 = %2;
#set lvl1 = %3;
#set dnum = num2 - num1;
#set dnumdiv = dnum / lvl1;
#set dnummul = dnumdiv * lvl1;
#set ddnum = dnum - dnummul;
#if (ddnum > 0) {#set gd[%3] = 0};
#else {
#set ddam = dnumdiv;
#strcat(gdrep," [");
#strcat(gdrep,lvl1);
#strcat(gdrep,"]: ");
#strcat(gdrep,ddam)
}

Additional Notes:
1. #strcat is a string concatenation function to build a string up with text variables
2. #print sends a string to my client as though its come from the mud
3. #set and #unset are to set variable values
4. #if #else well if you don't know I ain't going to teach you in this post
all other stuff here is standard stuff I think
Thraxas
Triple 40 Poster
 
Posts: 384
Joined: Tue Feb 13, 2007 10:23 am
Status: Offline

Damage Done Script

Postby Avatar » Tue Feb 20, 2007 1:40 am

Very nice.

I've had a more basic script performing a similar function, but I like how you determine and discard the unlikely mob levels.

Do you often heal yourself or others during fights?

I haven't had much time online lately, but I'm interested in trying to implement this using VB script. My skills aren't up to it yet, so it would be a learning experience.
User avatar
Avatar
Triple 40 Poster
 
Posts: 487
Joined: Sat Feb 21, 2004 1:09 am
Status: Offline

Re: Damage Done Script

Postby Thraxas » Tue Feb 20, 2007 3:38 pm

[quote="Avatar":zo4nf7zh]
I've had a more basic script performing a similar function, but I like how you determine and discard the unlikely mob levels.
[/quote:zo4nf7zh]

its there in the script

#if (gd[x] = 1) {_gaindam myxplast myxp x}
is run for each level 20 - 42 where x is the possible mob level

At fight start gd[x] = 1 for every level so the _gaindam script will run for each level,

during each round the following is run for each level being tested:

#set dnum = num2 - num1;
#set dnumdiv = dnum / lvl1;
#set dnummul = dnumdiv * lvl1;
#set ddnum = dnum - dnummul;
#if (ddnum > 0) {#set gd[%3] = 0}

dnum = xp change in round
dnumdiv = the xp over possible mob level (i.e the possible damage done) note that as this is effectively a unix script the result is an integer i.e. no decimal point always rounded down.
dnummul = the reverse of this calculation this is done to test for a remainer on the division, if dnummul = dnum then there is no remainder.
The point of this is that is there is a remainder then then that cannot possibly be the mob level.

If there is a remainder i.e. ddnum > 0 then set gd[x] to 0, this means that next round this level will be ignored (see above >>> #if (gd[x] = 1) {_gaindam myxplast myxp x})

To labour the point take an example just testing levels 20-25:

in this way 100xp can be gained in round 1:

100/20 = 5 = whole number => level 20 is possible gd[20] stays at 1
100/21 = 4 plus a bit = not a whole number => level 21 is not possible gd[21] is now set to 0
same for lvls 22 23 24,
100/25 = 4 = whole number => level 25 is possible gd[25] stays at 1

the whine looks like Damage Report: [20] 5 [25] 4

in round 2 75 xp is gained:

75/20 = 3 plus a bit = not a whole number => level 20 is no longer possible gd[20] is set to 0
levels 21 - 24 are not tested as gd[21] etc now = 0
75/25 = 3 = whole number => level 25 is possible gd[25] stays at 1

the whine looks like Damage Report: [25] 3

in any subsequent round only lvl 25 is tested

I hope this helps.

[quote="Avatar":zo4nf7zh]
Do you often heal yourself or others during fights?
[/quote:zo4nf7zh]

no I normally run solo with juju pets and eudaemon supplimented with infusions.
Thraxas
Triple 40 Poster
 
Posts: 384
Joined: Tue Feb 13, 2007 10:23 am
Status: Offline

Postby Assirian » Tue Apr 08, 2008 6:24 am

<859 362 228 309540203>
You massacre a troll warrior to small fragments with your pound.
A troll warrior misses you with his rake.
A troll warrior rakes you very hard.
A troll warrior rakes you extremely hard.
A troll warrior massacres you to small fragments with his rake.
A troll warrior massacres you to small fragments with his rake.
You massacre a troll warrior to small fragments with your pound.
You massacre a troll warrior to small fragments with your pound.
A troll warrior wipes his boots in your face.

<758 362 228 309541485>

309541485-309540203=1485-0203=1282

the mob is about 36 lvl, so damage is ~ 36
but 3 massacres have to deal >= 60 dam!
What is wrong? :)
Assirian
40 Prime Poster
 
Posts: 51
Joined: Sun Feb 05, 2006 10:20 am
Status: Offline

Postby jezer » Tue Apr 08, 2008 6:54 am

[quote="Assirian":2fbh3xbf]the mob is about 36 lvl, so damage is ~ 36
but 3 massacres have to deal >= 60 dam!
What is wrong? :)[/quote:2fbh3xbf]

Whats wrong?!? The new changes to warrior class have made you over powered! :twisted:
User avatar
jezer
Hall of Fame Avatar Poster
 
Posts: 1433
Joined: Mon Oct 17, 2005 4:08 am
Status: Offline

Postby Assirian » Tue Apr 08, 2008 7:23 am

[quote:2rcfj09d] The new changes to warrior class have made you over powered![/quote:2rcfj09d]
this one is not wrong :)) this have to be happen.. 8\
Assirian
40 Prime Poster
 
Posts: 51
Joined: Sun Feb 05, 2006 10:20 am
Status: Offline

Postby Thraxas » Tue Apr 08, 2008 8:21 am

Whats wrong?
I believe changes were introduced in one of the last few reboots that introduce a random element into the xp calc tjis script is based on.
whY? no idea, but i'd speculate that either dam knowledge is about to be introduced as a skill, or dam is about to be (or has been) capped and THEYdidn't want us to know.
Thraxas
Triple 40 Poster
 
Posts: 384
Joined: Tue Feb 13, 2007 10:23 am
Status: Offline

Postby *juggleblood* » Tue Apr 08, 2008 10:02 am

I've never understood the long standing tradition on sloth of obscurring game mechanics. I would guess that this was the purpose in randomizing combat xp.
Talk to the clown.
User avatar
*juggleblood*
Hall of Fame Avatar Poster
 
Posts: 1304
Joined: Sun Jan 22, 2006 6:36 am
Location: Beyond Yonder
Status: Offline

Postby jezer » Tue Apr 08, 2008 10:16 am

[quote="juggleblood":2p7oh66w]I've never understood the long standing tradition on sloth of obscurring game mechanics. I would guess that this was the purpose in randomizing combat xp.[/quote:2p7oh66w]

^gazillion

Last time I said something like this, some imm said, well... ask your question... which I did... only to get an obscured answer. :roll:

Freedom of Information all the way!
User avatar
jezer
Hall of Fame Avatar Poster
 
Posts: 1433
Joined: Mon Oct 17, 2005 4:08 am
Status: Offline

XPs were fun

Postby Avatar » Tue Apr 08, 2008 3:32 pm

I noticed that change also, it's too bad. I had a lot of fun watching the fight xps, especially during groups. It made it more interesting, as a warrior who wasn't usually the tank, to give me something to watch and something to do. I definitely used the warrior skills (berserk, bash, trip, broadside, stomp) more often when I was paying attention to the xps.

It's unfortunate that we'd purposefully break something that made groups more fun.

Just FYI, I've been offline again but only because my ISP is unreliable this month. I use a wireless point-to-point connection, but it's based on 900 meg equipment. Apparently someone has installed similar equipment somewhere between myself and the ISP site which is flooding the ether with 900 meg signals. The ISP is coming out this weekend to help see what we can do to get me a signal.

Charles
User avatar
Avatar
Triple 40 Poster
 
Posts: 487
Joined: Sat Feb 21, 2004 1:09 am
Status: Offline

Postby Autolycos » Tue Apr 08, 2008 4:36 pm

[quote="juggleblood":2a6m1ljg]I've never understood the long standing tradition on sloth of obscurring game mechanics. I would guess that this was the purpose in randomizing combat xp.[/quote:2a6m1ljg]

Don't forget the tradition of exsanguinating all the fun out too..
User avatar
Autolycos
Hall of Fame Avatar Poster
 
Posts: 1253
Joined: Fri Dec 10, 2004 12:16 pm
Location: Indiana, USA
Status: Offline

Postby Medios » Tue Apr 08, 2008 6:00 pm

At least I can take that spammy bull crap out of my prompt now. I have no idea why the xp was changed. My first guess is because kick is overpowered.
Fight the Good Fight!

~[DoW]~
User avatar
Medios
Avatar Poster
 
Posts: 694
Joined: Fri May 21, 2004 6:29 pm
Status: Offline

Postby Autolycos » Tue Apr 08, 2008 6:56 pm

[quote="Medios":gugxl8sq]At least I can take that spammy bull crap out of my prompt now. I have no idea why the xp was changed. My first guess is because kick is overpowered.[/quote:gugxl8sq]

lmfao
User avatar
Autolycos
Hall of Fame Avatar Poster
 
Posts: 1253
Joined: Fri Dec 10, 2004 12:16 pm
Location: Indiana, USA
Status: Offline

Postby *juggleblood* » Tue Apr 08, 2008 11:48 pm

Someone pointed this out for me and I thought I'd share it.

When people started using the damage calculator script, some long standing bugs became evident. Solution? Nerf the damage calculator script. Someone was clearly thinking outside the box on that one.
Talk to the clown.
User avatar
*juggleblood*
Hall of Fame Avatar Poster
 
Posts: 1304
Joined: Sun Jan 22, 2006 6:36 am
Location: Beyond Yonder
Status: Offline

Postby jezer » Wed Apr 09, 2008 12:07 am

[img:2762ne8h]http://www.orbitcast.com/archives/head-in-the-sand.jpg[/img:2762ne8h]

What problem? Where? :twisted:
User avatar
jezer
Hall of Fame Avatar Poster
 
Posts: 1433
Joined: Mon Oct 17, 2005 4:08 am
Status: Offline

Next

Return to Other Clients

Who is online

Users browsing this forum: No registered users and 3 guests

cron