Did you use 3.1? Because I'm looking at zdw4 and it has no script 100, and I can't find script 100 in the 3.1 libraries.
It would be cool if you could get some stats for all of the levels.
And for the creature stats you could test boss monsters and non boss monsters separately.
This is excellent stuff.
Edit: maybe script 100 is the hp bars, that might bleed pretty badly if it updated too often, and I can't find its source in
hosted.drdteam.org/zdwars/ACS%20source.txtEdit2:
Yep 100 is hpbar, I decompiled it
#include "zcommon.acs"
int map0[33] = {"HP00", "HP01", "HP02", "HP03", "HP04", "HP05", "HP06", "HP07", "HP08", "HP09", "HP10", "HP11", "HP12", "HP13", "HP14", "HP15", "HP16", "HP17", "HP18", "HP19", "HP20", "HP21", "HP22", "HP23", "HP24", "HP25", "HP26", "HP27", "HP28", "HP29", "HP30", "HP31", "HP32"};
int map1 = 0;
script 100 (int local0) // addr = 8, flags=0000
{
int local1, local2, local3;
int goto_block;
switch (goto_block) {
case 0:
map1++;
local1 = (map1 + 100);
local2 = FixedDiv(2097152, (GetActorProperty(APROP_Health, 17) << 16));
Spawn("HPBAR", GetActorX(0), GetActorY(0), ((GetActorZ(0) + (local0 << 16)) + 262144), local1, 0);
goto_block = 2; restart;
case 2:
if (!(GetActorProperty(APROP_Health, 0) > 0)) {
SetActorState(local1, map0[0], 0);
Delay(70);
Thing_Remove(local1);
Terminate;
}
if ((GetActorProperty(APROP_Health, 0) != GetActorProperty(APROP_Health, 17))) {
local3 = ((GetActorProperty(APROP_Health, 0) * local2) >> 16);
} else {
local3 = 32;
}
SetActorPosition(local1, GetActorX(0), GetActorY(0), ((GetActorZ(0) + (local0 << 16)) + 262144), 0);
SetActorState(local1, map0[local3], 0);
Delay(1);
goto_block = 2; restart;
}
}
This script getting called by (2+3+3+2+5+3 = 18 bosses, and 7+0+5+2+2+2 = 18) 36 creatures is generating the traffic.
It generates ~10 bytes per user per tic.
It may be possible to create the object client side and have the acs execute client side using a clientside scripts.
If that does not work it could be made to use 90% less bandwidth if the hpbars where only updated every 10 tics, or if you updated it every 20 tics with the users position and a velocity that the user would follow.