Making already large titans GINORMOUS

Tutorials and discussions about Mapping - Introduce your own ones!
Post Reply
User avatar
EvilGrins
Godlike
Posts: 6709
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA
Contact:

Making already large titans GINORMOUS

Post by EvilGrins » Tue Feb 11, 2020 11:35 am

I've noticed on a lot of maps that the Titans/StoneTitans often appear larger than their standard size. Frequently when being used as a Boss Monster at or near the end of level.

How does one go about making them bigger?
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758

User avatar
OjitroC
Godlike
Posts: 1288
Joined: Sat Sep 12, 2015 8:46 pm

Re: Making already large titans GINORMOUS

Post by OjitroC » Tue Feb 11, 2020 1:34 pm

Try increasing the properties Display->DrawScale and Fatness and adjust the Collision->CollisionHeight and CollisionRadius accordingly (it is suggested somewhere that the change to the Collision values happens automatically if the DrawScale is changed when monsters are placed in maps - an increase in DrawScale may also increase health).

You may also need to increase the MeleeRange, Mass and Buoyancy values.

User avatar
sektor2111
Godlike
Posts: 4313
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Making already large titans GINORMOUS

Post by sektor2111 » Tue Feb 11, 2020 2:10 pm

OjitroC wrote:
Tue Feb 11, 2020 1:34 pm
... and adjust the Collision->CollisionHeight and CollisionRadius accordingly...
Leave collision cylinder alone. I think I said this X times. You'd better stay away from doing lousy creatures.

Code: Select all

event PreBeginPlay()
{
	AddPawn();
	Super.PreBeginPlay();
	if ( bDeleteMe )
		return;

	// Set instigator to self.
	Instigator = Self;
	DesiredRotation = Rotation;
	SightCounter = 0.2 * FRand();  //offset randomly 
	if ( Level.Game != None )
		Skill += Level.Game.Difficulty; 
	Skill = FClamp(Skill, 0, 3);
	PreSetMovement();
	
	if ( DrawScale != Default.Drawscale ) //Don't f...k with The Chuck !
	{
		SetCollisionSize(CollisionRadius*DrawScale/Default.DrawScale, CollisionHeight*DrawScale/Default.DrawScale);
		Health = Health * DrawScale/Default.DrawScale;
	}

	if (bIsPlayer)
	{
		if (PlayerReplicationInfoClass != None)
			PlayerReplicationInfo = Spawn(PlayerReplicationInfoClass, Self,,vect(0,0,0),rot(0,0,0));
		else
			PlayerReplicationInfo = Spawn(class'PlayerReplicationInfo', Self,,vect(0,0,0),rot(0,0,0));
		InitPlayerReplicationInfo();
	}

	if (!bIsPlayer) 
	{
		if ( BaseEyeHeight == 0 )
			BaseEyeHeight = 0.8 * CollisionHeight;
		EyeHeight = BaseEyeHeight;
		if (Fatness == 0) //vary monster fatness slightly if at default
			Fatness = 120 + Rand(8) + Rand(8);
	}

	if ( menuname == "" )
		menuname = GetItemName(string(class));

	if (SelectionMesh == "")
		SelectionMesh = string(Mesh);
}


User avatar
OjitroC
Godlike
Posts: 1288
Joined: Sat Sep 12, 2015 8:46 pm

Re: Making already large titans GINORMOUS

Post by OjitroC » Tue Feb 11, 2020 2:32 pm

sektor2111 wrote:
Tue Feb 11, 2020 2:10 pm
Leave collision cylinder alone. I think I said this X times. You'd better stay away from doing lousy creatures.
I see - so that code means that the collision cylinder is adjusted according to the actual drawscale (rather than the default drawscale)? Does this hold true in all cases - so if one subclasses a monster and changes the drawscale, in-game the collision cylinder will be adjusted accordingly (when adding a scriptedpawn via MonsterSpawn rather than placing it in a map)?

User avatar
sektor2111
Godlike
Posts: 4313
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Making already large titans GINORMOUS

Post by sektor2111 » Tue Feb 11, 2020 2:38 pm

In Editor it's not called any GAME function - monster won't wait or patrol or grow or shrink in Editor - it's just Editor and that's all. When game function is called in run-time, monster will have some variables/properties adjusted based on what in running environment is granted, mapper should not do more than it's needed unless it's a junk-generator not mapper. Monster custom subclass must be checked as primary target. If monster is smaller - as default property, definitely won't adjust anything because it's a default thing and then cylinder must be "computed" by mapper.

Code: Select all

if ( DrawScale != Default.Drawscale ) //Only when it's not default size cylinder is being adjusted.
Using quotes because... you need eyes not brain. Looking from top and front and side view and selecting radii view you can figure that "default" monster how is covered by cylinder. If we speak about stock monsters resized, any modification will ruin monster - if you play MH how did you could not see that Behemoth from MH-GXech ? It's more than badly messed up because genius modified cylinder and that is a default monster not a custom one. In exchange there are maps where mapper used monsters with a modified DrawScale leaving alone cylinder and everything works properly.

Post Reply