Upload from upload_mods.ps1
This commit is contained in:
97
Scripts/Entities/EntityCoreSDX.cs
Normal file
97
Scripts/Entities/EntityCoreSDX.cs
Normal file
@@ -0,0 +1,97 @@
|
||||
public abstract class EntityCoreSDX : EntityAlive
|
||||
{
|
||||
public override void Init(int _entityClass)
|
||||
{
|
||||
base.Init(_entityClass);
|
||||
this.emodel.SetVisible(false, false);
|
||||
}
|
||||
|
||||
public override void InitFromPrefab(int _entityClass)
|
||||
{
|
||||
base.InitFromPrefab(_entityClass);
|
||||
this.emodel.SetVisible(false, false);
|
||||
}
|
||||
|
||||
public override void VisiblityCheck(float _distanceSqr, bool _masterIsZooming)
|
||||
{
|
||||
bool bVisible = this.ticksUntilVisible <= 0 && _distanceSqr < (float)(_masterIsZooming ? 14400 : 8100);
|
||||
this.emodel.SetVisible(bVisible, false);
|
||||
}
|
||||
|
||||
public override void PostInit()
|
||||
{
|
||||
base.PostInit();
|
||||
if (!this.isEntityRemote)
|
||||
{
|
||||
this.IsBloodMoon = this.world.aiDirector.BloodMoonComponent.BloodMoonActive;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool IsDrawMapIcon()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override Vector3 GetMapIconScale()
|
||||
{
|
||||
return new Vector3(0.75f, 0.75f, 1f);
|
||||
}
|
||||
|
||||
public override bool IsSavedToFile()
|
||||
{
|
||||
return (base.GetSpawnerSource() != EnumSpawnerSource.Dynamic || this.IsDead()) && base.IsSavedToFile();
|
||||
}
|
||||
|
||||
public override bool canDespawn()
|
||||
{
|
||||
return (!this.IsHordeZombie || this.world.GetPlayers().Count == 0) && base.canDespawn();
|
||||
}
|
||||
|
||||
public override void OnUpdateLive()
|
||||
{
|
||||
try
|
||||
{
|
||||
base.OnUpdateLive();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Out("EntityCoreSDX-OnUpdateLive ERROR: " + ex.Message);
|
||||
}
|
||||
if (this.ticksUntilVisible > 0)
|
||||
{
|
||||
this.ticksUntilVisible--;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool isRadiationSensitive()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool isDetailedHeadBodyColliders()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void OnEntityTargeted(EntityAlive target)
|
||||
{
|
||||
base.OnEntityTargeted(target);
|
||||
if (!this.isEntityRemote && base.GetSpawnerSource() != EnumSpawnerSource.Dynamic && target is EntityPlayer)
|
||||
{
|
||||
this.world.aiDirector.NotifyIntentToAttack(this, target as EntityPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
public override int DamageEntity(DamageSource _damageSource, int _strength, bool _criticalHit, float _impulseScale)
|
||||
{
|
||||
return base.DamageEntity(_damageSource, _strength, _criticalHit, _impulseScale);
|
||||
}
|
||||
|
||||
public override bool isGameMessageOnDeath()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool IsHordeZombie;
|
||||
private int ticksUntilVisible = 2;
|
||||
}
|
||||
Reference in New Issue
Block a user