Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MagmaBloat extends KFPawn_ZedBloat;
- var MaterialInstanceConstant VisibleMaterial;
- simulated function PostBeginPlay()
- {
- UpdateGameplayMICParams();
- }
- simulated event ReplicatedEvent(name VarName)
- {
- UpdateGameplayMICParams();
- super(KFPawn_Monster).ReplicatedEvent(VarName);
- }
- simulated function UpdateGameplayMICParams()
- {
- super(KFPawn_Monster).UpdateGameplayMICParams();
- Mesh.SetMaterial(0, VisibleMaterial);
- }
- simulated event Tick( float DeltaTime )
- {
- super.Tick(DeltaTime);
- if ( WorldInfo.NetMode != NM_DedicatedServer )
- {
- CharacterMICs.Length = 0;
- CharacterMICs[0] = VisibleMaterial;
- Mesh.SetMaterial(0, VisibleMaterial);
- }
- }
- function Puke()
- {
- local Pawn P;
- local Vector PukeLocation, PukeDirection;
- local Rotator PukeRotation;
- local vector HitLocation, HitNormal, EndTrace, Momentum;
- local Actor HitActor;
- Mesh.GetSocketWorldLocationAndRotation( 'PukeSocket', PukeLocation, PukeRotation );
- PukeDirection = Vector(Rotation);
- PukeDirection.Z = 0.f;
- foreach WorldInfo.AllPawns(class'Pawn', P, PukeLocation, VomitRange)
- {
- if( CanPukeOnTarget(P, PukeLocation, PukeDirection) )
- {
- DealPukeDamage( P, PukeLocation );
- }
- }
- // Extra handling for fracture mesh actors, etc
- EndTrace = PukeLocation + PukeDirection*VomitRange;
- HitActor = Trace( HitLocation, HitNormal, EndTrace, PukeLocation, true, vect(10,10,10) );
- if( HitActor != none && HitActor.bCanBeDamaged && Pawn(HitActor) == none )
- {
- Momentum = EndTrace - PukeLocation;
- Momentum.Z = 0.f;
- Momentum = Normal(Momentum);
- HitActor.TakeDamage( VomitDamage, Controller, HitLocation, Momentum, class'KFDT_FirePuke',, self );
- }
- }
- function DealPukeDamage( Pawn Victim, Vector Origin )
- {
- local Vector VectToEnemy;
- VectToEnemy = Victim.Location - Origin;
- VectToEnemy.Z = 0.f;
- VectToEnemy = Normal( VectToEnemy );
- Victim.TakeDamage( GetRallyBoostDamage(VomitDamage), Controller, Victim.Location, VectToEnemy, class'KFDT_FirePuke',, self );
- }
- DefaultProperties
- {
- Name='Magma Gray Bloat'
- VisibleMaterial=MaterialInstanceConstant'ZedPack.Skins.MagmaBloat_M'
- LocalizationKey=KFPawn_ZedBloat
- Begin Object Name=KFPawnSkeletalMeshComponent
- // Enabling kinematic for physics interaction while alive. (see also MinDistFactorForKinematicUpdate)
- bUpdateKinematicBonesFromAnimation=true
- bPerBoneMotionBlur=false
- End Object
- // ---------------------------------------------
- // Stats
- XPValues(0)=17
- XPValues(1)=22
- XPValues(2)=30
- XPValues(3)=3500
- //BaseEyeHeight=1.f
- // ---------------------------------------------
- // Content
- MonsterArchPath="ZED_ARCH.ZED_Bloat_Archetype"
- PawnAnimInfo=KFPawnAnimInfo'ZED_Bloat_ANIM.Bloat_AnimGroup'
- DifficultySettings=class'KFDifficulty_Bloat'
- // ---------------------------------------------
- // Special Moves
- Begin Object Name=SpecialMoveHandler_0
- SpecialMoveClasses(SM_Evade)=class'KFSM_Evade'
- SpecialMoveClasses(SM_Evade_Fear)=class'KFSM_Evade_Fear'
- SpecialMoveClasses(SM_Block)=class'KFSM_Block'
- End Object
- // for reference: Vulnerability=(default, head, legs, arms, special)
- IncapSettings(AF_Stun)= (Vulnerability=(0.5, 1.0, 0.5, 0.5, 0.5), Cooldown=50.0, Duration=1.5)
- IncapSettings(AF_Knockdown)=(Vulnerability=(1.0), Cooldown=20.0)
- IncapSettings(AF_Stumble)= (Vulnerability=(0.4), Cooldown=10.0)
- IncapSettings(AF_GunHit)= (Vulnerability=(0.35), Cooldown=0.1)
- IncapSettings(AF_MeleeHit)= (Vulnerability=(2.0), Cooldown=0.3)
- IncapSettings(AF_Poison)= (Vulnerability=(0.3), Cooldown=50.5, Duration=2.0)
- IncapSettings(AF_Microwave)=(Vulnerability=(3.0), Cooldown=3.0, Duration=4.0)
- IncapSettings(AF_FirePanic)=(Vulnerability=(1), Cooldown=1.0, Duration=1.0) //duration 8
- IncapSettings(AF_EMP)= (Vulnerability=(1), Cooldown=1.0, Duration=1.5)
- IncapSettings(AF_Freeze)= (Vulnerability=(2.0), Cooldown=10.0, Duration=2.5)
- IncapSettings(AF_Snare)= (Vulnerability=(1.0, 1.0, 2.0, 1.0), Cooldown=5.5, Duration=3.0)
- IncapSettings(AF_Bleed)= (Vulnerability=(4.0))
- Begin Object Name=Afflictions_0
- FireFullyCharredDuration=3.5
- End Object
- ParryResistance=3
- // ---------------------------------------------
- // Gameplay
- VomitRange=400.f
- VomitDamage=20
- ExplodeRange=500.f
- Begin Object Name=MeleeHelper_0
- BaseDamage=20.f
- MaxHitRange=290.f
- MomentumTransfer=25000.f
- MyDamageType=class'KFDT_Slashing_ZedWeak'
- End Object
- Health=1500
- HeadlessBleedOutTime=1.f
- DrawScale=1.1
- // Override Head GoreHealth (aka HeadHealth)
- HitZones[HZI_HEAD]=(ZoneName=head, BoneName=Head, Limb=BP_Head, GoreHealth=300, DmgScale=1.0001, SkinID=1)
- HitZones.Add((ZoneName=rknife, BoneName=RightForearm, Limb=BP_RightArm, GoreHealth=20, DmgScale=0.2, SkinID=2))
- HitZones.Add((ZoneName=lknife, BoneName=LeftForearm, Limb=BP_LeftArm, GoreHealth=20, DmgScale=0.2, SkinID=2))
- DoshValue=1500
- Mass=130.f
- // Penetration
- PenetrationResistance=3.0
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Submachinegun', DamageScale=(0.35))) //0.25
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_AssaultRifle', DamageScale=(0.35))) //0.25
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Shotgun', DamageScale=(0.25)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Handgun', DamageScale=(0.35))) //0.2
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_Rifle', DamageScale=(0.30)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Slashing', DamageScale=(0.3)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Bludgeon', DamageScale=(0.3)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Fire', DamageScale=(1.0))) //1.2 //1.6
- DamageTypeModifiers.Add((DamageType=class'KFDT_Microwave', DamageScale=(0.8)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Explosive', DamageScale=(0.5)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Piercing', DamageScale=(0.25)))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Toxic', DamageScale=(0.25)))
- //Special Case damage resistance
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_9mm', DamageScale=(0.65))
- DamageTypeModifiers.Add((DamageType=class'KFDT_Ballistic_AR15', DamageScale=(0.40))
- // ---------------------------------------------
- // Block Settings
- MinBlockFOV=0.1f
- // ---------------------------------------------
- // Movement / Physics
- Begin Object Name=CollisionCylinder
- CollisionRadius=+0055.000000 // Mesh is pulled back by 20 UU
- End Object
- RotationRate=(Pitch=50000,Yaw=20000,Roll=50000)
- GroundSpeed=150.0f
- SprintSpeed=410.0f //260
- PhysRagdollImpulseScale=1.5f
- KnockdownImpulseScale=1.5f
- // ---------------------------------------------
- // AI / Navigation
- ControllerClass=class'KFAIController_ZedBloat'
- BumpDamageType=class'KFDT_NPCBump_Large'
- DamageRecoveryTimeHeavy=0.85f
- DamageRecoveryTimeMedium=1.0f
- // ---------------------------------------------
- // Puke Mines
- PukeMineProjectileClass=class'KFProj_BloatPukeMine'
- DeathPukeMineRotations(0)=(Pitch=7000,Yaw=10480,Roll=0)
- DeathPukeMineRotations(1)=(Pitch=7000,Yaw=32767,Roll=0)
- DeathPukeMineRotations(2)=(Pitch=7000,Yaw=-10480,Roll=0)
- // ---------------------------------------------
- `if(`notdefined(ShippingPC))
- DebugRadarTexture=Texture2D'UI_ZEDRadar_TEX.MapIcon_Bloat';
- `endif
- // ---------------------------------------------
- // Spawning
- MinSpawnSquadSizeType=EST_Large
- bIsBloatClass=true
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement