58 lines
1.8 KiB
Ucode
58 lines
1.8 KiB
Ucode
class FrozenDosh extends ScrnCashPickup;
|
|
|
|
var FrozenDosh HeadDosh, NextDosh;
|
|
var bool bCryoExpertAchFailed;
|
|
// fixes none reference issue -- PooSH
|
|
function GiveCashTo( Pawn Other )
|
|
{
|
|
local SRStatsBase Stats;
|
|
|
|
if( Other.Controller!=None && Other.Controller.PlayerReplicationInfo!=none ) {
|
|
Other.Controller.PlayerReplicationInfo.Score += CashAmount;
|
|
Stats = SRStatsBase(PlayerController(Other.Controller).SteamStatsAndAchievements);
|
|
if ( Stats != none ) {
|
|
if ( Other.Health < 25 )
|
|
class'ScrnAchievements'.static.ProgressAchievementByID(Stats.Rep, 'Freeze_DoshSui', CashAmount);
|
|
class'ScrnAchievements'.static.ProgressAchievementByID(Stats.Rep, 'Freeze_Dosh', CashAmount);
|
|
}
|
|
}
|
|
if ( DroppedBy != none && DroppedBy == Other.Controller ) {
|
|
if ( HeadDosh == self && NextDosh == none && !bCryoExpertAchFailed )
|
|
class'ScrnAchievements'.static.ProgressAchievementByID(Stats.Rep, 'Freeze_Expert', 1);
|
|
}
|
|
else if ( HeadDosh != none )
|
|
HeadDosh.bCryoExpertAchFailed = true;
|
|
AnnouncePickup(Other);
|
|
Destroy();
|
|
}
|
|
|
|
simulated function Destroyed()
|
|
{
|
|
local FrozenDosh dosh;
|
|
local int c;
|
|
|
|
if ( HeadDosh == self ) {
|
|
for ( dosh=NextDosh; dosh!=none && (++c)<=10; dosh=dosh.NextDosh ) {
|
|
dosh.HeadDosh = NextDosh;
|
|
dosh.bCryoExpertAchFailed = bCryoExpertAchFailed;
|
|
}
|
|
}
|
|
else {
|
|
for ( dosh=HeadDosh; dosh!=none && (++c)<=10; dosh=dosh.NextDosh )
|
|
if ( dosh.NextDosh == self ) {
|
|
dosh.NextDosh = NextDosh;
|
|
break;
|
|
}
|
|
}
|
|
|
|
super.Destroyed();
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
FadeOutTime=20.000000
|
|
bAutoFadeOutTime=False
|
|
DrawScale=0.300000
|
|
UV2Texture=None
|
|
}
|