Advertisement
Guest User

Untitled

a guest
Dec 16th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Shotgun_Husk extends KFPawn_ZedHusk
  2.     config(Game)
  3.     hidecategories(Navigation);
  4.  
  5. simulated function PostBeginPlay()
  6. {
  7.     super(KFPawn_Monster).PostBeginPlay();
  8. }
  9.  
  10.  
  11. simulated function ANIMNOTIFY_HuskFireballAttack()
  12. {
  13.     local KFSM_Husk_FireBallAttack FireballSM;
  14.  
  15.     if(MyKFAIC != none)
  16.     {
  17.         FireballSM = KFSM_Husk_FireBallAttack(SpecialMoves[SpecialMove]);
  18.         if(FireballSM != none)
  19.         {
  20.             FireballSM.NotifyFireballFired();
  21.         }
  22.         if(WorldInfo.NetMode != NM_Client)
  23.         {
  24.             ShootFireball();
  25.         }
  26.     }
  27.     SetFireLightEnabled(false);  
  28. }
  29.  
  30. function ShootFireball()
  31. {
  32.     local Vector SocketLocation, DirToEnemy, HitLocation, HitNormal;
  33.     local KFProjectile MyFireball;
  34.     local Actor HitActor;
  35.     local Vector AimLocation;
  36.     local byte I;
  37.  
  38.     SocketLocation = (GetPawnViewLocation()) + (vect(15.0, 32.0, -12.0) >> (GetViewRotation()));
  39.     if(((float(Health) > 0.0) && IsDoingSpecialMove(20)) && Controller != none)
  40.     {
  41.         AimLocation = (((Controller != none) && Controller.Enemy != none) ? Controller.Enemy.Location : (vector(Rotation) * 5000.0) + Location);
  42.         HitActor = Trace(HitLocation, HitNormal, AimLocation, SocketLocation, true);
  43.         if(Controller.Enemy == none)
  44.         {
  45.             DirToEnemy = vector(Rotation);
  46.         }
  47.         else
  48.         {
  49.             if((HitActor == none) || HitActor == Controller.Enemy)
  50.             {
  51.                 DirToEnemy = Normal(KFAIController(Controller).CalcAimLocToHit(AimLocation, SocketLocation, FireballClass.default.Speed, FireballClass.default.Speed, Controller.Enemy.Velocity) - SocketLocation) + (VRand() * 0.030);
  52.             }
  53.             else
  54.             {
  55.                 AimLocation = AICommand_HuskFireBallAttack(KFAIController(Controller).GetActiveCommand()).LastKnownEnemyLocation;
  56.                 HitActor = Trace(HitLocation, HitNormal, AimLocation, SocketLocation, true);
  57.                 DirToEnemy = Normal((AimLocation - SocketLocation) + (VRand() * 0.030));
  58.             }
  59.         }
  60.         I = byte(Rand(3));
  61.         J0x334:
  62.         if(I < 8)
  63.         {
  64.             HitNormal.X = FRand() - 0.50;
  65.             HitNormal.Y = FRand() - 0.50;
  66.             HitNormal.Z = FRand() - 0.50;
  67.             HitNormal = Normal(DirToEnemy + (HitNormal * 0.240));
  68.             MyFireball = Spawn(FireballClass, self,, SocketLocation, rotator(HitNormal));
  69.             MyFireball.Instigator = self;
  70.             MyFireball.InstigatorController = Controller;
  71.             MyFireball.Init(HitNormal);
  72.             ++ I;
  73.             goto J0x334;
  74.         }
  75.         KFAIController_ZedHusk(Controller).LastFireBallTime = WorldInfo.TimeSeconds;
  76.     }  
  77. }
  78.  
  79. DefaultProperties
  80. {
  81.     LocalizationKey=KFPawn_ZedHusk
  82.     // ---------------------------------------------
  83.     // Stats
  84.    XPValues(0)=60.000000
  85.    XPValues(1)=70.000000
  86.    XPValues(2)=80.000000
  87.    XPValues(3)=90.000000
  88.  
  89.     // ---------------------------------------------
  90.     // Content
  91.     MonsterArchPath="ZED_ARCH.ZED_Husk_Archetype"
  92.     DifficultySettings=class'KFDifficulty_Husk'
  93.     FireballClass= class'KFGameContent.KFProj_Husk_Fireball'
  94.  
  95.     // ---------------------------------------------
  96.     // Visuals
  97.     Begin Object Class=PointLightComponent Name=ChestLightComponent0
  98.         FalloffExponent=2.f
  99.         Brightness=0.5f
  100.         Radius=160.f
  101.         LightColor=(R=250,G=155,B=40,A=255)
  102.         CastShadows=false
  103.         bEnabled=false
  104.         LightingChannels=(Indoor=true,Outdoor=true,bInitialized=true)
  105.  
  106.         // light anim
  107.         AnimationType=1
  108.         AnimationFrequency=2.0f
  109.         MinBrightness=0.4f
  110.         MaxBrightness=0.5f
  111.     End Object
  112.     ChestLightComponent=ChestLightComponent0
  113.  
  114.     ChestLightSocketName=ChestLightSocket
  115.     FireballChargeLightRadius=256.f
  116.     AmbientLightRadiusInterpSpeed=300.f
  117.     FireballLightRadiusInterpSpeed=100.f
  118.     FireballLightMinBrightness=1.1f
  119.     FireballLightMaxBrightness=1.25f
  120.  
  121.     // Explosion light
  122.     Begin Object Class=PointLightComponent Name=ExplosionPointLight
  123.         LightColor=(R=245,G=190,B=140,A=255)
  124.     End Object
  125.  
  126.     // Backpack/Suicide Explosion
  127.     Begin Object Class=KFGameExplosion Name=ExploTemplate0
  128.         Damage=190
  129.         DamageRadius=500
  130.         DamageFalloffExponent=0.5f
  131.         DamageDelay=0.f
  132.         bFullDamageToAttachee=true
  133.  
  134.         // Damage Effects
  135.         MyDamageType=class'KFDT_Explosive_HuskSuicide'
  136.         FractureMeshRadius=200.0
  137.         FracturePartVel=500.0
  138.         ExplosionEffects=KFImpactEffectInfo'FX_Impacts_ARCH.Explosions.HuskSuicide_Explosion'
  139.         ExplosionSound=AkEvent'WW_ZED_Husk.ZED_Husk_SFX_Suicide_Explode'
  140.         MomentumTransferScale=1.f
  141.  
  142.         // Dynamic Light
  143.         ExploLight=ExplosionPointLight
  144.         ExploLightStartFadeOutTime=0.0
  145.         ExploLightFadeOutTime=0.5
  146.  
  147.         // Camera Shake
  148.         CamShake=CameraShake'FX_CameraShake_Arch.Misc_Explosions.HuskSuicide'
  149.         CamShakeInnerRadius=450
  150.         CamShakeOuterRadius=900
  151.         CamShakeFalloff=1.f
  152.         bOrientCameraShakeTowardsEpicenter=true
  153.     End Object
  154.     ExplosionTemplate=ExploTemplate0
  155.  
  156.     // ---------------------------------------------
  157.     // Special Moves
  158.     Begin Object Name=SpecialMoveHandler_0
  159.         SpecialMoveClasses(SM_Taunt)         = class'KFGame.KFSM_Zed_Taunt'
  160.         SpecialMoveClasses(SM_Suicide)       = class'KFSM_Husk_Suicide'
  161.         SpecialMoveClasses(SM_Evade)         = class'KFSM_Evade'
  162.         SpecialMoveClasses(SM_Evade_Fear)    = class'KFSM_Evade_Fear'
  163.         SpecialMoveClasses(SM_StandAndShootAttack)= class'KFSM_Husk_FireBallAttack'
  164.         SpecialMoveClasses(SM_HoseWeaponAttack)= class'KFSM_Husk_FlameThrowerAttack'
  165.     End Object
  166.  
  167.     // for reference: Vulnerability=(      default, head, legs, arms, special)
  168.     IncapSettings(AF_Stun)=     (Vulnerability=(0.5, 2.0, 0.5, 0.5, 2.0), Cooldown=5.0,  Duration=1.5)
  169.     IncapSettings(AF_Knockdown)=(Vulnerability=(0.4),                     Cooldown=3)
  170.     IncapSettings(AF_Stumble)=  (Vulnerability=(0.4),                     Cooldown=1.0)
  171.     IncapSettings(AF_GunHit)=   (Vulnerability=(0.5, 0.5, 0.2, 0.2, 0.5), Cooldown=0.2)
  172.     IncapSettings(AF_MeleeHit)= (Vulnerability=(1.0),                     Cooldown=0.75)
  173.     IncapSettings(AF_FirePanic)=(Vulnerability=(0.0),                     Cooldown=5.0,  Duration=2.0)
  174.     IncapSettings(AF_EMP)=      (Vulnerability=(2.5),                     Cooldown=5.0,  Duration=3.0)
  175.     IncapSettings(AF_Poison)=   (Vulnerability=(0.15),                    Cooldown=20.5, Duration=5.0)
  176.     IncapSettings(AF_Microwave)=(Vulnerability=(3),                       Cooldown=8.5,  Duration=4.0)
  177.     IncapSettings(AF_Freeze)=   (Vulnerability=(1.0),                     Cooldown=1.5,  Duration=1.0)
  178.     IncapSettings(AF_Snare)=    (Vulnerability=(1.0, 1.0, 2.0, 1.0, 1.0), Cooldown=5.5,  Duration=3.0)
  179.     IncapSettings(AF_Bleed)=    (Vulnerability=(3))
  180.  
  181.     Begin Object Name=Afflictions_0
  182.         FireFullyCharredDuration=5
  183.         AfflictionClasses(AF_EMP)=class'KFAffliction_EMPDisrupt'
  184.     End Object
  185.  
  186.     ParryResistance=2
  187.  
  188.     DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Submachinegun',    DamageScale=(0.75))) //0.5
  189.     DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_AssaultRifle',     DamageScale=(0.65))) //0.5
  190.     DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Shotgun',          DamageScale=(1.0)))
  191.     DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Handgun',          DamageScale=(0.85)))  //0.4
  192.     DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Rifle',            DamageScale=(0.7))) //1
  193.     DamageTypeModifiers.Add((DamageType=class'KFDT_Slashing',                   DamageScale=(0.75)))  //0.45
  194.     DamageTypeModifiers.Add((DamageType=class'KFDT_Bludgeon',                   DamageScale=(0.85)))  //0.45
  195.     DamageTypeModifiers.Add((DamageType=class'KFDT_Fire',                       DamageScale=(0.5)))  //0
  196.     DamageTypeModifiers.Add((DamageType=class'KFDT_Microwave',                  DamageScale=(1.15)))
  197.     DamageTypeModifiers.Add((DamageType=class'KFDT_Explosive',                  DamageScale=(0.75)))
  198.     DamageTypeModifiers.Add((DamageType=class'KFDT_Piercing',                   DamageScale=(0.5)))
  199.     DamageTypeModifiers.Add((DamageType=class'KFDT_Toxic',                      DamageScale=(0.25)))
  200.  
  201.     //Special Case damage resistance
  202.     DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_9mm',              DamageScale=(1.0))
  203.     DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Rem1858',          DamageScale=(1.0))
  204.  
  205.  
  206.     // ---------------------------------------------
  207.     // Movement / Physics
  208.  
  209.     RotationRate=(Pitch=50000,Yaw=66000,Roll=50000)
  210.  
  211.     // ---------------------------------------------
  212.     // AI / Navigation
  213.     ControllerClass=class'KFAIController_ZedHusk'
  214.     DamageRecoveryTimeHeavy=0.75f
  215.     DamageRecoveryTimeMedium=1.0f
  216.    
  217.     KnockdownImpulseScale=1.0f
  218.  
  219.     // ---------------------------------------------
  220.     // Gameplay
  221.     Begin Object Name=MeleeHelper_0
  222.         BaseDamage=15.f
  223.         MaxHitRange=180.f
  224.         MomentumTransfer=25000.f
  225.         MyDamageType=class'KFDT_Slashing_ZedWeak'
  226.     End Object
  227.  
  228.     Health=750 // KF1=600
  229.     DoshValue=17
  230.     Mass=65.f
  231.  
  232.     //DamageTypeModifiers.Add((DamageType=class'KFDT_Fire', DamageScale=(0.5f)))
  233.  
  234.     // Penetration
  235.     PenetrationResistance=2.0
  236.  
  237.     // Custom Hit Zones (HeadHealth, SkinTypes, etc...)
  238.     HeadlessBleedOutTime=5.f
  239.     HitZones[HZI_HEAD]=(ZoneName=head, BoneName=Head, Limb=BP_Head, GoreHealth=200, DmgScale=1.001, SkinID=1)  // KF1=200     //154
  240.     HitZones[3]       =(ZoneName=heart,    BoneName=Spine2,       Limb=BP_Special,  GoreHealth=75, DmgScale=1.5, SkinID=2)    //0.5
  241.     HitZones[8]       =(ZoneName=rforearm, BoneName=RightForearm, Limb=BP_RightArm, GoreHealth=20,  DmgScale=0.5, SkinID=3)
  242.  
  243.     WeakSpotSocketNames.Add(WeakPointSocket1) // Backpack
  244.  
  245.     bDisableTurnInPlace=false
  246.  
  247. `if(`notdefined(ShippingPC))
  248.     DebugRadarTexture=Texture2D'UI_ZEDRadar_TEX.MapIcon_Husk';
  249. `endif
  250.  
  251.     // ---------------------------------------------
  252.     // Spawning
  253.     MinSpawnSquadSizeType=EST_Medium
  254.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement