CTF-UTDM-WaterGiant
- EvilGrins
- Godlike
- Posts: 9692
- Joined: Thu Jun 30, 2011 8:12 pm
- Personal rank: God of Fudge
- Location: Palo Alto, CA
- Contact:
CTF-UTDM-WaterGiant
My fondness for the UTDM-monsters in my edits may be a bit more extreme than I've let on, as I've only shared some of them but I've literally got about 350 map edits, of various gametypes, setup so far. Hence my problem with the recent UT-patch which disabled there effectiveness, at least for team games...
...but that issue may be over.
Recent observation from Buggie shows that might not be a problem anymore · https://www.oldunreal.com/phpBB3/viewto ... 77#p101477 · so I'm tentatively optimistic.
Hence, back in business!
This is clearly an enhancement on the CTF-LavaGiant theme, except for no lava and a much larger playing area. There are multiple ways to get to either side, really only 1 way to get to the flag but more than a couple ways to get down once you have it. Map was designed for SLV, which still works as the flag area is adequately spaced for anyone to fly in and snatch up the flag... and as with most SLV maps there was no pathing; got Nelsona to fix that up.
One of the two paths to get to the other side requires a translocator, so have that enabled.
Despite being standard CTF, I added a UTDMT assigned to a non-existent Gold Team. There's a gazebo on top of the mountain range, so I placed him up there. He's not very actively involved in the game, though I suppose he might be able to throw boulders at passing SLV/RocketX, and mostly he spends his time complaining about how lonely he is being stuck up there.
At ground level both bases are protected by UTDMS, Nelsona worked up monster-pathing so they patrol along the front of each castle. They may wander off periodically, but they always come back.
One thing I wanted to do, as I added a Gold Team a Green Team seemed like a fun idea, was to put a UTDMW on these odd little floating islands at the extreme right of the two castles. Given how players are, eventually someone would shoot at them and that would bring them into play... attacking whichever team was closest to them, but ran into a small problem there.
The main body of water surrounding the playing area is an energetic form of water, obviously water (hence the map name) was the idea but it doesn't seem very watery. There's smaller bodies of the same stuff between the paths to get to the other side that don't have this issue, but the larger surrounding "water" when any UTDMW fell in, it would never respawn; smaller areas they would but much longer than usual time needed to pass.
Ran this by some other mappers, nobody could figure out how to fix it without replacing the whole thing... figured UTDMW weren't necessary, so scrapped that idea.
Usual Suspects:
.u - /system
.unr - /maps
.png - Pwetty!
Enjoy!
https://www.mediafire.com/file/1dpt7s7k ... rGiant.zip
...but that issue may be over.
Recent observation from Buggie shows that might not be a problem anymore · https://www.oldunreal.com/phpBB3/viewto ... 77#p101477 · so I'm tentatively optimistic.
Hence, back in business!
This is clearly an enhancement on the CTF-LavaGiant theme, except for no lava and a much larger playing area. There are multiple ways to get to either side, really only 1 way to get to the flag but more than a couple ways to get down once you have it. Map was designed for SLV, which still works as the flag area is adequately spaced for anyone to fly in and snatch up the flag... and as with most SLV maps there was no pathing; got Nelsona to fix that up.
One of the two paths to get to the other side requires a translocator, so have that enabled.
Despite being standard CTF, I added a UTDMT assigned to a non-existent Gold Team. There's a gazebo on top of the mountain range, so I placed him up there. He's not very actively involved in the game, though I suppose he might be able to throw boulders at passing SLV/RocketX, and mostly he spends his time complaining about how lonely he is being stuck up there.
At ground level both bases are protected by UTDMS, Nelsona worked up monster-pathing so they patrol along the front of each castle. They may wander off periodically, but they always come back.
One thing I wanted to do, as I added a Gold Team a Green Team seemed like a fun idea, was to put a UTDMW on these odd little floating islands at the extreme right of the two castles. Given how players are, eventually someone would shoot at them and that would bring them into play... attacking whichever team was closest to them, but ran into a small problem there.
The main body of water surrounding the playing area is an energetic form of water, obviously water (hence the map name) was the idea but it doesn't seem very watery. There's smaller bodies of the same stuff between the paths to get to the other side that don't have this issue, but the larger surrounding "water" when any UTDMW fell in, it would never respawn; smaller areas they would but much longer than usual time needed to pass.
Ran this by some other mappers, nobody could figure out how to fix it without replacing the whole thing... figured UTDMW weren't necessary, so scrapped that idea.
Usual Suspects:
.u - /system
.unr - /maps
.png - Pwetty!
Enjoy!
https://www.mediafire.com/file/1dpt7s7k ... rGiant.zip
http://unreal-games.livejournal.com/
Smilies · viewtopic.php?f=8&t=13758medor wrote:Replace Skaarj with EvilGrins
Re: CTF-UTDM-WaterGiant
Unforunately, whilst the Red Skaarj will, indeed, attack a Blue Player/bot, the Blue Skaarj will not attack a Red Player/bot (in 469c Release) so the issue remains.EvilGrins wrote: ↑Mon Dec 05, 2022 10:06 am My fondness for the UTDM-monsters in my edits may be a bit more extreme than I've let on, as I've only shared some of them but I've literally got about 350 map edits, of various gametypes, setup so far. Hence my problem with the recent UT-patch which disabled there effectiveness, at least for team games...
...but that issue may be over.
Recent observation from Buggie shows that might not be a problem anymore · https://www.oldunreal.com/phpBB3/viewto ... 77#p101477 · so I'm tentatively optimistic.
Possibly it has something to do with the somewhat buggy code of the UTMDS (and of the Titan) as indicated by the multiple messages whenever something kills or is killed by one of the UTDM pawns - every UTDM pawn 'thinks' it has killed or been killed. Possibly down to the way 'PlayerReplicationInfo' is handled (or not handled correctly)? It would be nice if someone could sort all that out.
Canny players will try to force the Berserkers back to the edge of the island so that they fall into the 'water' as then they won't respawn
Good choice of map though - nice and big with lots of space - could be fun with Helicos/Mantas?
Have you tried altering some of the properties of WaterZone5 - it's a KillZone but with 3000 damage per sec which is unnecessary? Just leave it as a PainZone with 200/300 damage per sec and that will kill most things pretty quickly? Probably doesn't need bDestructive=True?
Looks like some inventory has been moved around without rebuilding the paths :
Spoiler
Buggie's MapChecker
ScriptLog: InventorySpot without MarkedItem: 3
ScriptLog: Inventory without MyMarker: 4
ScriptLog: PathNode not used as in or out way:
ScriptLog: PathNode380
ScriptLog: PathNode289
sektor's MapGarbage
NoAccess: UT_Eightball1 does not seems useful. Probing pickup has FAILED during a Spawn Test in spot.
ScriptLog: No roaming goal at InventorySpot139
ScriptLog: No roaming goal at InventorySpot142
ScriptLog: No roaming goal at InventorySpot143
ItemsCheck: Checked InventorySpots. Found 3 empty InventorySpots.
BreakPointsFound: These 4 navigation points aren't that used as valid paths. They might be break points if are a piece of a road.
UtterlyUseless: PathNode380 is not having any path defined.
UtterlyUseless: PathNode289 is not having any path defined.
Isolated: InventorySpot35 -> UT_Eightball3 is not having any path defined...
Isolated: InventorySpot85 -> UT_Eightball1 is not having any path defined...
ScriptLog: InventorySpot without MarkedItem: 3
ScriptLog: Inventory without MyMarker: 4
ScriptLog: PathNode not used as in or out way:
ScriptLog: PathNode380
ScriptLog: PathNode289
sektor's MapGarbage
NoAccess: UT_Eightball1 does not seems useful. Probing pickup has FAILED during a Spawn Test in spot.
ScriptLog: No roaming goal at InventorySpot139
ScriptLog: No roaming goal at InventorySpot142
ScriptLog: No roaming goal at InventorySpot143
ItemsCheck: Checked InventorySpots. Found 3 empty InventorySpots.
BreakPointsFound: These 4 navigation points aren't that used as valid paths. They might be break points if are a piece of a road.
UtterlyUseless: PathNode380 is not having any path defined.
UtterlyUseless: PathNode289 is not having any path defined.
Isolated: InventorySpot35 -> UT_Eightball3 is not having any path defined...
Isolated: InventorySpot85 -> UT_Eightball1 is not having any path defined...
- sektor2111
- Godlike
- Posts: 6410
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: CTF-UTDM-WaterGiant
Pathing is simple to solve and other connected issues.
For those UTDM.Whatever I have to remind you that original code placed in Titan Player was mainly copy-pasted. I did not have too much addiction to that "log" stuff. They not only spread useless messages but they do ScriptWarnings as well. The problem is not only there. Such codes might have glitches as well even if logs are not indicating anything. By example I did not like their SetEnemy things and Attitude code. After polishing these (not the best ever edits) I could see another behavior. And then... because I'm using only my private files, I have no problems here. When map is well pathed, Berserker Player is really berserker.
In other edits I have them even participating at CTF in big parts. I'll look at those isolated nodes if are buried somewhere or behind something... or forgot.
Edit: Hm, yes, it was used a low range for connecting main routes (I think it was XC 21), UT_Eightballs have been forgot - they can be fixed but... those nodes with no purpose probably can be UnLinked from chain and deleted - or moved where are needed and adding paths.
For those UTDM.Whatever I have to remind you that original code placed in Titan Player was mainly copy-pasted. I did not have too much addiction to that "log" stuff. They not only spread useless messages but they do ScriptWarnings as well. The problem is not only there. Such codes might have glitches as well even if logs are not indicating anything. By example I did not like their SetEnemy things and Attitude code. After polishing these (not the best ever edits) I could see another behavior. And then... because I'm using only my private files, I have no problems here. When map is well pathed, Berserker Player is really berserker.
In other edits I have them even participating at CTF in big parts. I'll look at those isolated nodes if are buried somewhere or behind something... or forgot.
Edit: Hm, yes, it was used a low range for connecting main routes (I think it was XC 21), UT_Eightballs have been forgot - they can be fixed but... those nodes with no purpose probably can be UnLinked from chain and deleted - or moved where are needed and adding paths.
Re: CTF-UTDM-WaterGiant
There's also no path to one of the WarheadLaunchers, as reported by PathsChecker (though it's also clearly evident in the Editor).
So there's no way of dealing with the issue that the Blue Skaarj/Titans won't attack Red Players/bots in 469c?
So there's no way of dealing with the issue that the Blue Skaarj/Titans won't attack Red Players/bots in 469c?
- EvilGrins
- Godlike
- Posts: 9692
- Joined: Thu Jun 30, 2011 8:12 pm
- Personal rank: God of Fudge
- Location: Palo Alto, CA
- Contact:
Re: CTF-UTDM-WaterGiant
Hmmm, wonder if the extent of the killzone damage had such an impact on their respawn. Maybe it would've been sooner if that was smaller. Something to keep in mind for next time, I suppose.
Hopefully eventually, the folks behind updating that patch will get around to fixing the issue in one of the next updates.
Bots still do get to the warheads, regardless... though that was more my doing. Keeping in mind SLV I added those to where I thought the pathing would NOT make them accessible to bots so real players would use them more.
http://unreal-games.livejournal.com/
Smilies · viewtopic.php?f=8&t=13758medor wrote:Replace Skaarj with EvilGrins
Re: CTF-UTDM-WaterGiant
What I am really saying is that probably that WaterZone doesn't need bKillZone=True - that bPainZone=True would be enough with a reasonable amount of damage per second to kill things off in a reasonable amount of time. I can't find any detail on KillZone in the UnCodex beyond that it is a variable of ZoneInfo - I wonder if bKillZone=True has an impact on the respawning of the UTDM pawns - someone with more knowledge of code than me may be able to figure that out from their code (obviously bKillZone=True doesn't impact the respawning of bots or Players so that suggests something in the code of those UTDM pawns).
Possibly - though the issue may be to do with the code of the UTDM pawns. Anyway the thing to do is raise an issue on GitHub.
I thought that that was probably deliberate.
- Deepu
- Adept
- Posts: 353
- Joined: Mon Nov 11, 2013 7:56 am
- Personal rank: Average
- Location: India
- Contact:
Re: CTF-UTDM-WaterGiant
In Monster Match there no issues with random attack
Code: Select all
* Monsters never attacks own team while XC_Engine or UTPatch469a installed.
* Fixed random attacking while XC_Engine or UTPatch469a installed.
* Compatibility issues fixed for XC_Engine & UTPatch469a.
Code: Select all
function eAttitude AttitudeTo(Pawn Other)
{
if ( PlayerReplicationInfo != None && Other.PlayerReplicationInfo != None && Level.Game.bTeamGame )
{
if ( Other.PlayerReplicationInfo.Team == 255 ||
PlayerReplicationInfo.Team == Other.PlayerReplicationInfo.Team )
return ATTITUDE_Friendly;
}
if ( Other == None )
return ATTITUDE_Ignore;
if (Other.bIsPlayer)
{
if ( bIsPlayer && Level.Game.bTeamGame && (Other.PlayerReplicationInfo != none) && (Team == Other.PlayerReplicationInfo.Team) )
return ATTITUDE_Friendly;
else if ( (Intelligence > BRAINS_None) &&
((AttitudeToPlayer == ATTITUDE_Hate) || (AttitudeToPlayer == ATTITUDE_Threaten)
|| (AttitudeToPlayer == ATTITUDE_Fear)) )
{
if (RelativeStrength(Other) > Aggressiveness)
AttitudeToPlayer = AttitudeWithFear();
else if (AttitudeToPlayer == ATTITUDE_Fear)
AttitudeToPlayer = ATTITUDE_Hate;
}
return AttitudeToPlayer;
}
else if (Hated == Other)
{
if (RelativeStrength(Other) >= Aggressiveness)
return AttitudeWithFear();
else
return ATTITUDE_Hate;
}
else if ( (TeamTag != '') && (ScriptedPawn(Other) != None) && (TeamTag == ScriptedPawn(Other).TeamTag) )
return ATTITUDE_Friendly;
else
return AttitudeToCreature(Other);
}
Last edited by Deepu on Tue Dec 06, 2022 12:19 pm, edited 1 time in total.
Re: CTF-UTDM-WaterGiant
The issue with UTDM pawns is not random attacks but that, in team games like CTF, Blue UTDM pawns will not attack Red Players/Bots in 469c though they will when playing 436. However in both UT versions Red UTDM pawns will happily attack Blue Players/Bots. AFAIK neither Red nor Blue UTDM pawns will attack their own team.
- Deepu
- Adept
- Posts: 353
- Joined: Mon Nov 11, 2013 7:56 am
- Personal rank: Average
- Location: India
- Contact:
Re: CTF-UTDM-WaterGiant
Rename this file to 'UTDMSkaarjBerserker' then try again for Skaarj Berserker
Re: CTF-UTDM-WaterGiant
Yes, that works in 469c - the Blue Skaarj Berserker now attacks the Red Player
As a matter of interest, what did you change?
- Deepu
- Adept
- Posts: 353
- Joined: Mon Nov 11, 2013 7:56 am
- Personal rank: Average
- Location: India
- Contact:
Re: CTF-UTDM-WaterGiant
In UTDMSkaarjBerserker.uc
Code: Select all
function eAttitude AttitudeTo(Pawn Other)
{
if ( PlayerReplicationInfo != None && Other.PlayerReplicationInfo != None && Level.Game.bTeamGame )
{
if ( Other.PlayerReplicationInfo.Team == 255 ||
PlayerReplicationInfo.Team == Other.PlayerReplicationInfo.Team )
return ATTITUDE_Friendly;
}
if ( Other == None )
return ATTITUDE_Ignore;
if (Other.bIsPlayer)
{
if ( bIsPlayer && Level.Game.bTeamGame && (Other.PlayerReplicationInfo != none) && (Team == Other.PlayerReplicationInfo.Team) )
return ATTITUDE_Friendly;
else if ( (Intelligence > BRAINS_None) &&
((AttitudeToPlayer == ATTITUDE_Hate) || (AttitudeToPlayer == ATTITUDE_Threaten)
|| (AttitudeToPlayer == ATTITUDE_Fear)) )
{
if (RelativeStrength(Other) > Aggressiveness)
AttitudeToPlayer = AttitudeWithFear();
else if (AttitudeToPlayer == ATTITUDE_Fear)
AttitudeToPlayer = ATTITUDE_Hate;
}
return AttitudeToPlayer;
}
else if (Hated == Other)
{
if (RelativeStrength(Other) >= Aggressiveness)
return AttitudeWithFear();
else
return ATTITUDE_Hate;
}
else if ( (TeamTag != '') && (ScriptedPawn(Other) != None) && (TeamTag == ScriptedPawn(Other).TeamTag) )
return ATTITUDE_Friendly;
else
return AttitudeToCreature(Other);
}
- sektor2111
- Godlike
- Posts: 6410
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: CTF-UTDM-WaterGiant
I have some doubts here... Team is variable from Pawn that can be different from what PlayerReplicationInfo can have assigned to Pawn, and it's not like ScriptedPawn has something to assign these correctly in their right timing. ScriptedPawn was never intended to have a PlayerReplicationInfo. Here codes should be written to align these vars normally - perhaps forgetting "Team" and taking in account only PlayerReplicationInfo that is assigned to this "player".
Assuming that Pawn has Team 0 (default ScriptedPawn value) but its ReplicationInfo has Team 1, perhaps it won't attack any pawn with PlayerReplication Team 0 exactly because of this sequence... (useless if you ask my opinion about it).
Then
Code: Select all
if ( Other == None )
return ATTITUDE_Ignore;
Last edited by sektor2111 on Tue Dec 06, 2022 4:05 pm, edited 3 times in total.
- sektor2111
- Godlike
- Posts: 6410
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: CTF-UTDM-WaterGiant
Here is my older code from Berserker - player version.
I listen what else can be needed. The rest means skin stuff - some of these edits have borked skins and so I removed all, assigning skin based on team color.
Killed function won't deliver lousy messages when clown is killing itself and insulting itself, etc.
Then if we talk about "Berserker" code from this "Player" I think I posted it already, either way let me know if you want to see it...
As you can see, this is why I won't use files provided with edited maps - UTDMT was a junk, doesn't matter how much "science" was implemented in messaging system, Pawn failed in basics not in complex math...
Spoiler
Code: Select all
function eAttitude AttitudeTo(Pawn Other)
{
// Ns: RULES are mine right now
// #1
if ( Other == None || Other == Self
|| Other.bDeleteMe || !Other.bCollideActors
|| Other.Health < 1 || Other.bHidden || Other.Mesh == None )
return ATTITUDE_Friendly; //Be nice, they are finished
// #2
if ( Level.Game.bTeamGame )
{
if( PlayerReplicationInfo.Team != 255 && Other.PlayerReplicationInfo != None )
{
if ( PlayerReplicationInfo.Team == Other.PlayerReplicationInfo.Team )
return ATTITUDE_Friendly;
else
return ATTITUDE_Hate;
}
if ( Other.PlayerReplicationInfo == None )
{
if ( ScriptedPawn(Other) != None )
{
if ( TeamTag != '' && ScriptedPawn(Other).TeamTag == TeamTag )
return ATTITUDE_Friendly;
else if ( ScriptedPawn(Other).Team ~= PlayerReplicationInfo.Team )
return ATTITUDE_Ignore; //Being player will be attacked anyway so will respond properly according to master Attitude
}
if ( Other.Enemy != None && Other.Enemy == Self ) //if something claims me an enemy
return ATTITUDE_Hate;
else
return ATTITUDE_Ignore;
}
}
else
return ATTITUDE_Hate;
return Super.AttitudeTo(Other);
}
Killed function won't deliver lousy messages when clown is killing itself and insulting itself, etc.
Then if we talk about "Berserker" code from this "Player" I think I posted it already, either way let me know if you want to see it...
As you can see, this is why I won't use files provided with edited maps - UTDMT was a junk, doesn't matter how much "science" was implemented in messaging system, Pawn failed in basics not in complex math...
- Deepu
- Adept
- Posts: 353
- Joined: Mon Nov 11, 2013 7:56 am
- Personal rank: Average
- Location: India
- Contact:
Re: CTF-UTDM-WaterGiant
Do not make return Super.AttitudeTo(Other); if make this, you still calling the wrong attack done by the UTDMT monsters.