Server/Scoring Testing..

General Comments, Questions about all things OmnipotentS that don't go in other topics/forums
User avatar
pooty
Posts: 4358
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Server/Scoring Testing..

Post by pooty »

I didn't get anyone else to help. Lots of people wanted to know/test it, but when it comes to actually volunteering we came up a bit short.
User avatar
Enyo
Posts: 1626
Joined: Mon Apr 05, 2021 11:27 pm
Server Sponsor: Yes
Server Admin: Yes

Re: Server/Scoring Testing..

Post by Enyo »

I’m sorry, I had a problem with a work project that I ended up having to work on over the weekend. I forgot to come back and say something here.
“Never argue with stupid people, they will drag you down to their level and then beat you with experience.”
― Mark Twain
User avatar
pooty
Posts: 4358
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Server/Scoring Testing..

Post by pooty »

Anyone who has some times available post up. I am usually able to on weekends or weekdays after 5pm Eastern.

Shouldn't take too long.

Even later today in the evening say 7 or 8pm before the regular game times would work too.
User avatar
McLovin
Posts: 1165
Joined: Sat Apr 03, 2021 12:54 pm
Location: Salt Lake City, Utah
Server Sponsor: Yes
Server Admin: Yes

Re: Server/Scoring Testing..

Post by McLovin »

pooty wrote: Sun Jan 15, 2023 3:02 pm ...
Even later today in the evening say 7 or 8pm before the regular game times would work too.
Is this on Roger's server or the normal one?

7 PM EST is fine, but 8 is MegaBadger GO time.
User avatar
pooty
Posts: 4358
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Server/Scoring Testing..

Post by pooty »

Normal one.

I did some quick testing with myself (you can run both 64bit and 32 bit on same machine and if you have to monitors you can sortof play with yourself :roll:

However, someone named AndyMack and phred showed up so I had some other players to test with. Did a short test and here's what it showed.

Dragon Bomb on Mino - 6 pts on kill (no intermediate damage points, mino kill is 1 for driver 5 for vehicle because its "important")
Hurricane Lasers on Dragon - 4 points (1 kill 3 damage, got damage points as shooting it)
Mino Cannon on Hurriance 1 pt no damage points (Hurricane has 1200 health, should have gotten at least 2 damage points)
Mino Cannon on Missle Tank 1pt no damage points (should have gotten 1 damage point Missle tank 600 health)
Bio Tank on Mino (6 pts, 1 pt for driver, 5 damage or important vehicle..)
Eight rockets on Bio TAnk, no points. (did not kill it)
Hammerhead on Hammerhead kill 1pt no damage points
Constructing node destroyed = 0 pts
Weak Deemer on Ion Tank (took it at least half as it was smoking 0 points)

Only thing I saw Damage points on where Hurricane lasers (out of what I tested above). No points for dragon bombs, mino shots, missle tank weak deemers. Even Rocket Launcher didn't score damage points (shouldn't 8 rockets do at least 500). Furthermore, I didn't see any evidence of damage accumulation -- meanign I shot a hammer head 8 times with shock (320 pts) and then hit stuff with a tank, no damage points.

Either way I don't think it works right... at all.

If anyone wants to jump on at 7pm I;ll be there testing again.
User avatar
pooty
Posts: 4358
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Server/Scoring Testing..

Post by pooty »

More testing with Staff Sargent

Minigun (foot) on mino (no points, even after it went 2000 to 800ish) (Me shooting)
Battery Avril on Short Circut (no damage points, 2 shots - 1 pt for kill) (Me shooting)
Starbolt on Dragon (Damage points worked, gave 3 pts) (Staff shooting)
Helix minigun No points. (Me shooting)
Mino Cannon on Dropship (1000 health) = 3pts (damage points worked) Staff Shooting

-- NOW REally confused at first I thought hmm must only be hit scan, then only lasers, but no its definitely not consistent.
User avatar
pooty
Posts: 4358
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Server/Scoring Testing..

Post by pooty »

Omega on Tiamat (damage points works)
Dark levi on Tiamat (damage points works)
Link Badger on Dark Levi (no damage points)
Troop carrier minigun on Railtank (no damage points)
Railgun on Troop carrier (damage points works)
Predator on Railgun (no damage points)
Ifrit on Heavy Goalith (no damage points)
User avatar
pooty
Posts: 4358
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Server/Scoring Testing..

Post by pooty »

So genuinely WTF.

Can;t seem to find any consistency... most hand held weapons don't seem to do damage points. And almost no projectiles.
Usually lasers and rail guns do. Miniguns (which are usually also hit scan do not).

I think I tested Falcon on Mino (just for enyo) and no damage points.

Code: Select all

//points for damaging vehicles 
function int NetDamage(int OriginalDamage, int Damage, pawn injured, pawn instigatedBy, vector HitLocation, out vector Momentum, class<DamageType> DamageType)
{
	local float CurDamage;

	CurDamage = Super.NetDamage(OriginalDamage, Damage, injured, instigatedBy, HitLocation, Momentum, DamageType);

	if (DamageType != Class'DamTypeLinkShaft' && DamageType != Class'DamTypeLinkPlasma' && injured != None
		&& Vehicle(injured) != None && !Vehicle(injured).IsVehicleEmpty() && instigatedBy != None
		&& instigatedBy != injured && CurDamage > 0 && instigatedBy.Controller != none
		&& instigatedBy.Controller.PlayerReplicationInfo != none
		&& UTComp_ONSPlayerReplicationInfo(instigatedBy.Controller.PlayerReplicationInfo) != none)
	{
		if (OPGRI == none && PlayerController(instigatedBy.Controller) != none && PlayerController(instigatedBy.Controller).GameReplicationInfo != none)
			OPGRI = PlayerController(instigatedBy.Controller).GameReplicationInfo;

		if (OPGRI != none)
		{
			if (Vehicle(injured).Team != instigatedBy.Controller.PlayerReplicationInfo.TeamID)
            {
				UTComp_ONSPlayerReplicationInfo(instigatedBy.Controller.PlayerReplicationInfo).AddVehicleDamageBonus(CurDamage / MutatorOwner.RepInfo.VehicleDamagePoints);
            }
			else
            {
				UTComp_ONSPlayerReplicationInfo(instigatedBy.Controller.PlayerReplicationInfo).AddVehicleDamageBonus(-1.0 * CurDamage / MutatorOwner.RepInfo.VehicleDamagePoints);
            }
		}
	}
    
    if ( NextGameRules != None )
		return NextGameRules.NetDamage( OriginalDamage,Damage,injured,instigatedBy,HitLocation,Momentum,DamageType );

	return CurDamage;
}
So based on the code, link vehicles are excluded from Damage points, but doesn't explain the rest.

I wonder if there's a better way to write that giant boolean logic puzzle.

Code: Select all

If (DamageType == Class'DamTypeLinkShaft' || DamageType == Class'DamTypeLinkPlasma') return CurDamage;
if ( injured == None ) return CurDamage;
if ( Vehicle(injured) == None ) return CurDamage;
etc...
Not as efficient but more readable and easier to test/debug I suspect some weapon pawns/code aren't setting injured or instigatedby right would be my guess.
User avatar
captainsnarf
Posts: 2632
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Server/Scoring Testing..

Post by captainsnarf »

Hmm, really weird!

We could add some logging to see what is going on. It's copied straight from ONSPlus. I tested it when I first put it in and it seemed like I got more points so I assumed it was working.

Tonight on the last Minus Randomizer we played, I noticed CheckScore didn't show the correct core at the end either. It's supposed to show the core that blew up (red team), but it showed the blue team's core instead. I know because I was waiting at core for screen shot :)

There is something up with the modified ONSGameRules not always working. That might be why the damage points don't always work.
User avatar
pooty
Posts: 4358
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Server/Scoring Testing..

Post by pooty »

There is something up with the modified ONSGameRules not always working. That might be why the damage points don't always work.
Could there be a mutator that isn't calling Super? as in Super.NetDamage or perhaps missing this code

Code: Select all

if ( NextGameRules != None )
		return NextGameRules.NetDamage( OriginalDamage,Damage,injured,instigatedBy,HitLocation,Momentum,DamageType );
Because, I agree I think its higher up than that function I posted which should work just fine.
Post Reply