upload
This commit is contained in:
@ -438,7 +438,14 @@ function ActivateShield()
|
||||
KFGI.DifficultyInfo.GetAIHealthModifier(self, KFGI.GetModifiedGameDifficulty(), KFGI.GetLivingPlayerCount(), HealthMod, HeadHealthMod);
|
||||
|
||||
ShieldHealth = ShieldHealthMaxDefaults[KFGI.GetModifiedGameDifficulty()] * HealthMod * ShieldHealthScale;
|
||||
ShieldHealthMax = ShieldHealth;
|
||||
|
||||
if (KFGI.OutbreakEvent != none && KFGi.OutbreakEvent.ActiveEvent.bBossRushMode)
|
||||
{
|
||||
ShieldHealth = ShieldHealth * ArmorInfo.ArmorScale;
|
||||
}
|
||||
|
||||
|
||||
ShieldHealthMax = ShieldHealth;
|
||||
ShieldHealthPctByte = FloatToByte( fClamp(ShieldHealth / ShieldHealthMax, 0.f, 1.f) );
|
||||
|
||||
UpdateShield();
|
||||
|
@ -22,6 +22,7 @@ var() float DampenFactorParallel;
|
||||
|
||||
var transient Vector PreviousLocations [`KFPROJ_DOSH_CACHED_LOCATION];
|
||||
var transient rotator PreviousRotations [`KFPROJ_DOSH_CACHED_LOCATION];
|
||||
var transient Vector Ceiling;
|
||||
|
||||
// Make sure that last location always exists.
|
||||
simulated event PostBeginPlay()
|
||||
@ -91,25 +92,43 @@ function SpawnDosh(Actor BouncedOff)
|
||||
{
|
||||
local KFDroppedPickup_Cash P;
|
||||
local int i;
|
||||
local Vector Pos;
|
||||
local rotator Rot;
|
||||
|
||||
if ( WorldInfo.NetMode == NM_Client )
|
||||
return;
|
||||
|
||||
if (Pawn(BouncedOff) == none)
|
||||
{
|
||||
P = Spawn(class'KFDroppedPickup_Cash',,, Location, Rotation,, false);
|
||||
Pos = Location;
|
||||
Rot = Rotation;
|
||||
P = Spawn(class'KFDroppedPickup_Cash',,, Pos, Rot,, false);
|
||||
|
||||
if (P == none)
|
||||
{
|
||||
for (i = 0; i < `KFPROJ_DOSH_CACHED_LOCATION; ++i)
|
||||
{
|
||||
P = Spawn(class'KFDroppedPickup_Cash',,, PreviousLocations[i], PreviousRotations[i],, false);
|
||||
Pos = PreviousLocations[i];
|
||||
Rot = PreviousRotations[i];
|
||||
P = Spawn(class'KFDroppedPickup_Cash',,, Pos, Rot,, false);
|
||||
if (P != none)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DrawDebugSphere( Pos, 20, 8, 0, 255, 255, true );
|
||||
if (P != none && RelocateFromCeiling(Pos))
|
||||
{
|
||||
P.Destroy();
|
||||
if(Ceiling.Z > -10000)
|
||||
{
|
||||
// DrawDebugSphere( Ceiling, 22, 8, 255, 255, 0, true );
|
||||
P = Spawn(class'KFDroppedPickup_Cash',,, Ceiling, Rot,, false);
|
||||
Velocity = vect(0,0,0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -198,6 +217,36 @@ simulated function SyncOriginalLocation()
|
||||
Super.SyncOriginalLocation();
|
||||
}
|
||||
|
||||
simulated function bool RelocateFromCeiling(Vector Pos)
|
||||
{
|
||||
local Actor HitActorVolume, HitActorWorld, HitActorVolumeBack;
|
||||
local Vector HitLocationVolume, HitLocationWorld;
|
||||
local Vector HitNormalUnused;
|
||||
|
||||
HitActorWorld = Owner.Trace(HitLocationWorld, HitNormalUnused, Pos - vect(0,0,10000), Pos, false,,,TRACEFLAG_Bullet);
|
||||
if(HitActorWorld != none)
|
||||
{
|
||||
HitActorVolume = KFWeapon(Owner).DoTraceNative(HitLocationVolume, Pos, Pos - vect(0,0,10000));
|
||||
if (HitActorVolume == none || (HitLocationWorld.Z + 80) > HitLocationVolume.Z || IsZero(HitLocationVolume-Pos))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// DrawDebugSphere( HitLocationWorld , 32, 8, 0, 255, 0, true );
|
||||
// DrawDebugSphere( HitLocationVolume, 30, 8, 255, 0, 0, true );
|
||||
|
||||
HitLocationWorld += vect(0,0,1);
|
||||
HitActorVolumeBack = KFWeapon(Owner).DoTraceNative(HitLocationVolume, HitLocationWorld, HitLocationWorld + vect(0,0,10000));
|
||||
if (HitActorVolumeBack != none && !IsZero(HitLocationVolume-HitLocationWorld))
|
||||
{
|
||||
// DrawDebugSphere( HitLocationVolume, 28, 8, 255, 255, 0, true );
|
||||
Ceiling = HitLocationVolume - vect(0,0,10);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Ceiling = Vect(0,0,-10000);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
defaultproperties
|
||||
|
@ -12,19 +12,16 @@ var() int WeeklyIndex;
|
||||
|
||||
function Activated()
|
||||
{
|
||||
local KFGameInfo KFGI;
|
||||
KFGI = KFGameInfo(GetWorldInfo().Game);
|
||||
local KFGameReplicationInfo KFGRI;
|
||||
KFGRI = KFGameReplicationInfo(GetWorldInfo().GRI);
|
||||
|
||||
if (KFGI != none)
|
||||
if (KFGRI != none && KFGRI.bIsWeeklyMode && KFGRI.CurrentWeeklyIndex == WeeklyIndex)
|
||||
{
|
||||
if (KFGI.MyKFGRI != none && KFGI.MyKFGRI.bIsWeeklyMode && class'KFGameEngine'.static.GetWeeklyEventIndexMod() == WeeklyIndex)
|
||||
{
|
||||
OutputLinks[0].bHasImpulse = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
OutputLinks[1].bHasImpulse = true;
|
||||
}
|
||||
OutputLinks[0].bHasImpulse = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
OutputLinks[1].bHasImpulse = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -235,9 +235,9 @@ defaultproperties
|
||||
//WeaponUpgrades[2]=(IncrementDamage=1.65f,IncrementWeight=2)
|
||||
//WeaponUpgrades[3]=(IncrementDamage=1.85f,IncrementWeight=3)
|
||||
|
||||
WeaponUpgrades[1]=(Stats=((Stat=EWUS_Damage0, Scale=1.23f), (Stat=EWUS_Damage1, Scale=1.2f), (Stat=EWUS_Weight, Add=1)))
|
||||
WeaponUpgrades[2]=(Stats=((Stat=EWUS_Damage0, Scale=1.47f), (Stat=EWUS_Damage1, Scale=1.4f), (Stat=EWUS_Weight, Add=2)))
|
||||
WeaponUpgrades[3]=(Stats=((Stat=EWUS_Damage0, Scale=1.70f), (Stat=EWUS_Damage1, Scale=1.6f), (Stat=EWUS_Weight, Add=3)))
|
||||
WeaponUpgrades[1]=(Stats=((Stat=EWUS_Damage0, Scale=1.23f), (Stat=EWUS_Damage1, Scale=1.23f), (Stat=EWUS_Weight, Add=1)))
|
||||
WeaponUpgrades[2]=(Stats=((Stat=EWUS_Damage0, Scale=1.47f), (Stat=EWUS_Damage1, Scale=1.47f), (Stat=EWUS_Weight, Add=2)))
|
||||
WeaponUpgrades[3]=(Stats=((Stat=EWUS_Damage0, Scale=1.70f), (Stat=EWUS_Damage1, Scale=1.70f), (Stat=EWUS_Weight, Add=3)))
|
||||
|
||||
DoshCost = 20; //25;
|
||||
bUsesSecondaryAmmoAltHUD=true
|
||||
|
Reference in New Issue
Block a user