Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Shotgun_Husk extends KFPawn_ZedHusk
- config(Game)
- hidecategories(Navigation);
- simulated function PostBeginPlay()
- {
- super(KFPawn_Monster).PostBeginPlay();
- }
- simulated function ANIMNOTIFY_HuskFireballAttack()
- {
- local KFSM_Husk_FireBallAttack FireballSM;
- if(MyKFAIC != none)
- {
- FireballSM = KFSM_Husk_FireBallAttack(SpecialMoves[SpecialMove]);
- if(FireballSM != none)
- {
- FireballSM.NotifyFireballFired();
- }
- if(WorldInfo.NetMode != NM_Client)
- {
- ShootFireball();
- }
- }
- SetFireLightEnabled(false);
- }
- function ShootFireball()
- {
- local Vector SocketLocation, DirToEnemy, HitLocation, HitNormal;
- local KFProjectile MyFireball;
- local Actor HitActor;
- local Vector AimLocation;
- local byte I;
- SocketLocation = (GetPawnViewLocation()) + (vect(15.0, 32.0, -12.0) >> (GetViewRotation()));
- if(((float(Health) > 0.0) && IsDoingSpecialMove(20)) && Controller != none)
- {
- AimLocation = (((Controller != none) && Controller.Enemy != none) ? Controller.Enemy.Location : (vector(Rotation) * 5000.0) + Location);
- HitActor = Trace(HitLocation, HitNormal, AimLocation, SocketLocation, true);
- if(Controller.Enemy == none)
- {
- DirToEnemy = vector(Rotation);
- }
- else
- {
- if((HitActor == none) || HitActor == Controller.Enemy)
- {
- DirToEnemy = Normal(KFAIController(Controller).CalcAimLocToHit(AimLocation, SocketLocation, FireballClass.default.Speed, FireballClass.default.Speed, Controller.Enemy.Velocity) - SocketLocation) + (VRand() * 0.030);
- }
- else
- {
- AimLocation = AICommand_HuskFireBallAttack(KFAIController(Controller).GetActiveCommand()).LastKnownEnemyLocation;
- HitActor = Trace(HitLocation, HitNormal, AimLocation, SocketLocation, true);
- DirToEnemy = Normal((AimLocation - SocketLocation) + (VRand() * 0.030));
- }
- }
- I = byte(Rand(3));
- J0x334:
- if(I < 8)
- {
- HitNormal.X = FRand() - 0.50;
- HitNormal.Y = FRand() - 0.50;
- HitNormal.Z = FRand() - 0.50;
- HitNormal = Normal(DirToEnemy + (HitNormal * 0.240));
- MyFireball = Spawn(FireballClass, self,, SocketLocation, rotator(HitNormal));
- MyFireball.Instigator = self;
- MyFireball.InstigatorController = Controller;
- MyFireball.Init(HitNormal);
- ++ I;
- goto J0x334;
- }
- KFAIController_ZedHusk(Controller).LastFireBallTime = WorldInfo.TimeSeconds;
- }
- }
- DefaultProperties
- {
- LocalizationKey=KFPawn_ZedHusk
- // ---------------------------------------------
- // Stats
- XPValues(0)=60.000000
- XPValues(1)=70.000000
- XPValues(2)=80.000000
- XPValues(3)=90.000000
- // ---------------------------------------------
- // Content
- MonsterArchPath="ZED_ARCH.ZED_Husk_Archetype"
- DifficultySettings=class'KFDifficulty_Husk'
- FireballClass= class'KFGameContent.KFProj_Husk_Fireball'
- // ---------------------------------------------
- // Visuals
- Begin Object Class=PointLightComponent Name=ChestLightComponent0
- FalloffExponent=2.f
- Brightness=0.5f
- Radius=160.f
- LightColor=(R=250,G=155,B=40,A=255)
- CastShadows=false
- bEnabled=false
- LightingChannels=(Indoor=true,Outdoor=true,bInitialized=true)
- // light anim
- AnimationType=1
- AnimationFrequency=2.0f
- MinBrightness=0.4f
- MaxBrightness=0.5f
- End Object
- ChestLightComponent=ChestLightComponent0
- ChestLightSocketName=ChestLightSocket
- FireballChargeLightRadius=256.f
- AmbientLightRadiusInterpSpeed=300.f
- FireballLightRadiusInterpSpeed=100.f
- FireballLightMinBrightness=1.1f
- FireballLightMaxBrightness=1.25f
- // Explosion light
- Begin Object Class=PointLightComponent Name=ExplosionPointLight
- LightColor=(R=245,G=190,B=140,A=255)
- End Object
- // Backpack/Suicide Explosion
- Begin Object Class=KFGameExplosion Name=ExploTemplate0
- Damage=190
- DamageRadius=500
- DamageFalloffExponent=0.5f
- DamageDelay=0.f
- bFullDamageToAttachee=true
- // Damage Effects
- MyDamageType=class'KFDT_Explosive_HuskSuicide'
- FractureMeshRadius=200.0
- FracturePartVel=500.0
- ExplosionEffects=KFImpactEffectInfo'FX_Impacts_ARCH.Explosions.HuskSuicide_Explosion'
- ExplosionSound=AkEvent'WW_ZED_Husk.ZED_Husk_SFX_Suicide_Explode'
- MomentumTransferScale=1.f
- // Dynamic Light
- ExploLight=ExplosionPointLight
- ExploLightStartFadeOutTime=0.0
- ExploLightFadeOutTime=0.5
- // Camera Shake
- CamShake=CameraShake'FX_CameraShake_Arch.Misc_Explosions.HuskSuicide'
- CamShakeInnerRadius=450
- CamShakeOuterRadius=900
- CamShakeFalloff=1.f
- bOrientCameraShakeTowardsEpicenter=true
- End Object
- ExplosionTemplate=ExploTemplate0
- // ---------------------------------------------
- // Special Moves
- Begin Object Name=SpecialMoveHandler_0
- SpecialMoveClasses(SM_Taunt) = class'KFGame.KFSM_Zed_Taunt'
- SpecialMoveClasses(SM_Suicide) = class'KFSM_Husk_Suicide'
- SpecialMoveClasses(SM_Evade) = class'KFSM_Evade'
- SpecialMoveClasses(SM_Evade_Fear) = class'KFSM_Evade_Fear'
- SpecialMoveClasses(SM_StandAndShootAttack)= class'KFSM_Husk_FireBallAttack'
- SpecialMoveClasses(SM_HoseWeaponAttack)= class'KFSM_Husk_FlameThrowerAttack'
- End Object
- // for reference: Vulnerability=( default, head, legs, arms, special)
- IncapSettings(AF_Stun)= (Vulnerability=(0.5, 2.0, 0.5, 0.5, 2.0), Cooldown=5.0, Duration=1.5)
- IncapSettings(AF_Knockdown)=(Vulnerability=(0.4), Cooldown=3)
- IncapSettings(AF_Stumble)= (Vulnerability=(0.4), Cooldown=1.0)
- IncapSettings(AF_GunHit)= (Vulnerability=(0.5, 0.5, 0.2, 0.2, 0.5), Cooldown=0.2)
- IncapSettings(AF_MeleeHit)= (Vulnerability=(1.0), Cooldown=0.75)
- IncapSettings(AF_FirePanic)=(Vulnerability=(0.0), Cooldown=5.0, Duration=2.0)
- IncapSettings(AF_EMP)= (Vulnerability=(2.5), Cooldown=5.0, Duration=3.0)
- IncapSettings(AF_Poison)= (Vulnerability=(0.15), Cooldown=20.5, Duration=5.0)
- IncapSettings(AF_Microwave)=(Vulnerability=(3), Cooldown=8.5, Duration=4.0)
- IncapSettings(AF_Freeze)= (Vulnerability=(1.0), Cooldown=1.5, Duration=1.0)
- IncapSettings(AF_Snare)= (Vulnerability=(1.0, 1.0, 2.0, 1.0, 1.0), Cooldown=5.5, Duration=3.0)
- IncapSettings(AF_Bleed)= (Vulnerability=(3))
- Begin Object Name=Afflictions_0
- FireFullyCharredDuration=5
- AfflictionClasses(AF_EMP)=class'KFAffliction_EMPDisrupt'
- End Object
- ParryResistance=2
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Submachinegun', DamageScale=(0.75))) //0.5
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_AssaultRifle', DamageScale=(0.65))) //0.5
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Shotgun', DamageScale=(1.0)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Handgun', DamageScale=(0.85))) //0.4
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Rifle', DamageScale=(0.7))) //1
- DamageTypeModifiers.Add((DamageType=class'KFDT_Slashing', DamageScale=(0.75))) //0.45
- DamageTypeModifiers.Add((DamageType=class'KFDT_Bludgeon', DamageScale=(0.85))) //0.45
- DamageTypeModifiers.Add((DamageType=class'KFDT_Fire', DamageScale=(0.5))) //0
- DamageTypeModifiers.Add((DamageType=class'KFDT_Microwave', DamageScale=(1.15)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Explosive', DamageScale=(0.75)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Piercing', DamageScale=(0.5)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Toxic', DamageScale=(0.25)))
- //Special Case damage resistance
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_9mm', DamageScale=(1.0))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Rem1858', DamageScale=(1.0))
- // ---------------------------------------------
- // Movement / Physics
- RotationRate=(Pitch=50000,Yaw=66000,Roll=50000)
- // ---------------------------------------------
- // AI / Navigation
- ControllerClass=class'KFAIController_ZedHusk'
- DamageRecoveryTimeHeavy=0.75f
- DamageRecoveryTimeMedium=1.0f
- KnockdownImpulseScale=1.0f
- // ---------------------------------------------
- // Gameplay
- Begin Object Name=MeleeHelper_0
- BaseDamage=15.f
- MaxHitRange=180.f
- MomentumTransfer=25000.f
- MyDamageType=class'KFDT_Slashing_ZedWeak'
- End Object
- Health=750 // KF1=600
- DoshValue=17
- Mass=65.f
- //DamageTypeModifiers.Add((DamageType=class'KFDT_Fire', DamageScale=(0.5f)))
- // Penetration
- PenetrationResistance=2.0
- // Custom Hit Zones (HeadHealth, SkinTypes, etc...)
- HeadlessBleedOutTime=5.f
- HitZones[HZI_HEAD]=(ZoneName=head, BoneName=Head, Limb=BP_Head, GoreHealth=200, DmgScale=1.001, SkinID=1) // KF1=200 //154
- HitZones[3] =(ZoneName=heart, BoneName=Spine2, Limb=BP_Special, GoreHealth=75, DmgScale=1.5, SkinID=2) //0.5
- HitZones[8] =(ZoneName=rforearm, BoneName=RightForearm, Limb=BP_RightArm, GoreHealth=20, DmgScale=0.5, SkinID=3)
- WeakSpotSocketNames.Add(WeakPointSocket1) // Backpack
- bDisableTurnInPlace=false
- `if(`notdefined(ShippingPC))
- DebugRadarTexture=Texture2D'UI_ZEDRadar_TEX.MapIcon_Husk';
- `endif
- // ---------------------------------------------
- // Spawning
- MinSpawnSquadSizeType=EST_Medium
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement