WIP - Work In Progress

Anything about UT2004 mapping, Uscripting & more
User avatar
Crusha K. Rool
Posts: 119
Joined: Mon 29. Aug 2011, 00:14
Description: Coding Crocodile
Location: Germany
Contact:

WIP - Work In Progress

Post by Crusha K. Rool »

Ok, I tested it in game and the sounds are actually perfectly audible. :)

Here's another preview teaser for what's coming up:
Image
(alt link)
(Shouldn't be hard to guess what I am working on now, right? And ignore the uncleared Nones in the array.)

My current problem is that it doesn't recognize every kill properly. I use GameRules::NetDamage() to catch whatever the last DamageType was that hurt a Pawn and then wait for GameRules::ScoreKill() to actually note down that score because the latter doesn't get any info about the DamageType that caused the death.
However, I probably might as well check if InjuredPawn.Health - NetDamage's Damage would cause a death of the Pawn and work around the entire LastDamageType and ScoreKill() stuff.
My Concern with that was that it wouldn't be able to catch if any GameRules after my current one would do something about the Damage as well and prevent the Pawn's dead. (Though I don't know if there are actually any Mutators or GameRules in general that would attempt such a thing)

If I go the very dirty way, I could try to just sneak my GameRules manually at the end of the linked list in a later constructor like SetInitialState()…


EDIT:
And while I am already posting this:
Any idea what the average and the top-tier number of kills and node destructions/builds in the majority of ONS matches by a single player is?
I.e. would you say that a good ONS player manages to kill 100 players (don't get confused by the actual scoreboard, as it counts vehicle damaging and building nodes as score too) or destroy 30 nodes during the course of a match that is fought until overtime?

I am taking this ChainsIsile match for reference in this case, since it's one of the spammier maps. It would indicate that 100 kills for a single player is quite hard, but then again is that a map without massive tank slaughter (but short walkways on the other hand). Bridge of Fate would probably deliver quite different results, also in terms of nodes.
Last edited by Crusha K. Rool on Wed 31. Oct 2012, 22:38, edited 1 time in total.
User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 12:52
Description: Coding Dude

Re: WIP - Work In Progress

Post by Wormbo »

I always used PreventDeath if I want to find the damage type that killed a player. Remember damage there, then use it in ScoreKill. That's how I implemented WhoPushedMe for UT and UT2003, and if you are working on what I'm thinking, that's also what you might want to use.
User avatar
Crusha K. Rool
Posts: 119
Joined: Mon 29. Aug 2011, 00:14
Description: Coding Crocodile
Location: Germany
Contact:

Re: WIP - Work In Progress

Post by Crusha K. Rool »

Ah, right, didn't think of that!

Was already going for the NetDamage approach right now, but it would require to always having to manually calculate the reduced damage when taking armor pickups into account.
User avatar
Pegasus
Posts: 1321
Joined: Wed 4. Nov 2009, 23:37
Description: ONSWordFactory
Location: Greece

Re: WIP - Work In Progress

Post by Pegasus »

So why not tell us exactly what it is that you're building - a more ONS-activities-oriented scoring system, a more analytical individual ingame player stat sheet or whatnot; perhaps folks here could offer you some improvement suggestions or ideas you hadn't considered to help make it better for everyone. Assuming of course you were discussing the mutator here because you intend for it to improve ONS in CEONSS.
Eyes in the skies.
Image
User avatar
Crusha K. Rool
Posts: 119
Joined: Mon 29. Aug 2011, 00:14
Description: Coding Crocodile
Location: Germany
Contact:

Re: WIP - Work In Progress

Post by Crusha K. Rool »

It's more a gimmick than an actual improvement to anything.

I just thought that it got boring to only ever get the Flak Monkey, Combo Whore or Head Hunter award in matches for killing 15 enemies with those specific weapons. So I am going to bring UT3's additional awards for doing the same thing with other weapons to us.



SPOILER:


Namely:
[list]
[*]15 ShieldGun kills = Jack Hammer
[*]15 Assault Rifle kills = Gun Slinger
[*]15 Bio Rifle kills = Bio hazard
[*]15 Minigun kills = Blue Streak (since the UT3 Stinger Minigun fires blueish tracer ammo, but you take what you can get)
[*]15 Link Gun kills = Shaft Master (only kills with the secondary fire count)
[*]15 Rocket Launcher kills = Rocket Scientist
[*]15 AVRiL kills = Big Game Hunter[/list]

Additionally am I also planning to add the Node Buster award for simply performing a lot of gameobjective-related actions (destroying and building) in ONS. Originally the award was given for taking out 10 nodes with the Orb in UT3. And I also found a place to put the BullsEye award to use, simply for the lulz. :)
User avatar
Pegasus
Posts: 1321
Joined: Wed 4. Nov 2009, 23:37
Description: ONSWordFactory
Location: Greece

Re: WIP - Work In Progress

Post by Pegasus »

Oh, so that's what all this is about. Hmm. Well, although things could start getting a bit too cluttered in the personal stats' topmost section - what with the higher likelihood that the average player will have earned more spree, frenzy, stunt, vec and weap-specific awards - it's a fun idea to try out alright. Personally, I'm still not too sold on the AR and minigun ones (especially the latter >_>), but other awards I expect would be pretty hard to get and fun to try aiming for (does the avril count include vec kills, btw?). Rockets, linkgun, shield and bio are doable in duel-centric maps like your Bridges, VK_Playgrounds, Spamboxes and so on too. Also, I'm glad you aren't planning to include a mines specific award :p.

As far as the nodes go, I'm completely on your side as far as the desire to bring that part of ONS players' activity more into prominence so the score-minded ppl will have something else of (more) substance to try n' maintain in high figures. That said, considering the higher chance of clutter I mentioned earlier, have you perhaps thought of taking a page out of the AS playbook and stapling the node-related achievements in the scoreboard section instead? I mean, after all, outside of players' names and scores there's plenty of room in their individual scoreboard table cells to add one (or even two) node resembling icons with a figure over 'em that could let everyone know what any specific person's actual contribution to the match in ONS terms has been up to that point in terms of nodes built (and/or destroyed) in the same way that AS keep visible record of everyone's own attained objectives and destroyed vecs. Just a thought there.
Eyes in the skies.
Image
User avatar
Crusha K. Rool
Posts: 119
Joined: Mon 29. Aug 2011, 00:14
Description: Coding Crocodile
Location: Germany
Contact:

Re: WIP - Work In Progress

Post by Crusha K. Rool »

I did not actually intend to mess with the scoreboard. Too much clutter there for me (as in "it would probably be a royal hacking pain to force them into it"). I couldn't even remember if those awards were shown there at all.
Currently all the thing does is play the audio when you reach 15 kills of a kind. Keeping the scope small - I really just came up with it on Monday when I had an hour of spare time and implemented it. Kind of like practising how Mutators can be done, as I have planned more extensive ones for the future. (Among them maybe something that would eventually register these awards as well.)

Detailed Node counts would be hard as well, since the GameRules only get notified that *someone* scored *a certain amount* of points by completing a GameObjective, but it doesn't actually tell you which objective or which action was performed on it. I am just doing guesswork there as in "well, if we are in an ONS match, the only kind of objective he can probably be scoring is Node destruction or build up and Cores".
And I think the AVRiL only counts vehicle kills if you manage to kill the driver as well.

Oh, and I have the "Juggernaut" award in it as well. Basically it gets triggered when a player gets double-powered up. Like if he has a UDamage or adrenaline combo activated and then collects another super TournamentPickup (currently I define "super" as the result of "IsSuperPickup(), which is by default true if the item is from a PickupBase with delayed spawn, or if it has a MaxDesirability of 2.0 or higher, which is only the case for Health Kegs, other UDamages or some special custom powerups like Invisibility).
User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 12:52
Description: Coding Dude

Re: WIP - Work In Progress

Post by Wormbo »

What UT3 shows on the scoreboard is best weapon usage. Basically is displays the weapon the player got most kills with, provided no other player got more kills with the same weapon.
User avatar
Crusha K. Rool
Posts: 119
Joined: Mon 29. Aug 2011, 00:14
Description: Coding Crocodile
Location: Germany
Contact:

Re: WIP - Work In Progress

Post by Crusha K. Rool »

On a side note: how is determined whether or not a server has non-whitelisted mutators?

If I have a Mutator subclass that is only added as ServerActor, not part of the linked list of Mutators, spawns another Actor in PostBeginPlay() and destroys itself then, am I save to assume that it won't be counted as non-whitelisted Mutator?
User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 12:52
Description: Coding Dude

Re: WIP - Work In Progress

Post by Wormbo »

The whitelisting status is determined through the server details that are sent to the masterserver. They should be pretty much the same as the details you can see in the server browser. Mutators will always show up there, whether you add them to the mutators list or not doesn't matter.

Mutators destroying themselves cause a number of side effects. For example, they might not show up in the webadmin configuration properly. How about telling people instead the class name of the spawned actor so they can enter that as server actor directly?
Post Reply