private static void CreateYokoExplosiveRound() { explosiveRifleRoundPrefab = CloneProjectilePrefab("CommandoGrenadeProjectile", "YokoExplosiveRifleProjectile"); ProjectileImpactExplosion impactExplosion = explosiveRifleRoundPrefab.GetComponent <ProjectileImpactExplosion>(); impactExplosion.blastDamageCoefficient = 1f; impactExplosion.blastProcCoefficient = 1f; impactExplosion.bonusBlastForce = Vector3.zero; impactExplosion.childrenCount = 3; impactExplosion.childrenDamageCoefficient = 0.3f; impactExplosion.childrenProjectilePrefab = explosiveRifleClustersPrefab; impactExplosion.destroyOnWorld = true; impactExplosion.destroyOnEnemy = true; impactExplosion.falloffModel = RoR2.BlastAttack.FalloffModel.Linear; impactExplosion.fireChildren = false; impactExplosion.lifetimeRandomOffset = 0f; impactExplosion.offsetForLifetimeExpiredSound = 0f; impactExplosion.GetComponent <ProjectileDamage>().damageType = DamageType.Generic; impactExplosion.blastRadius = 20f; impactExplosion.lifetime = 12f; impactExplosion.impactEffect = Modules.Assets.yokoRifleExplosiveRoundExplosion; impactExplosion.timerAfterImpact = true; impactExplosion.lifetimeAfterImpact = 0.1f; ProjectileController projectileController = explosiveRifleRoundPrefab.GetComponent <ProjectileController>(); projectileController.ghostPrefab = CreateGhostPrefab("YokoRifleExplosiveRound"); projectileController.startSound = ""; }
private static void CreateBigBoulder() { bigBoulderPrefab = CloneProjectilePrefab("CommandoGrenadeProjectile", "GurrenBigBoulderProjectile"); var collider = bigBoulderPrefab.GetComponent <SphereCollider>(); collider.radius = 4f; ProjectileImpactExplosion impactExplosion = bigBoulderPrefab.GetComponent <ProjectileImpactExplosion>(); impactExplosion.blastDamageCoefficient = 1f; impactExplosion.blastProcCoefficient = 1f; impactExplosion.bonusBlastForce = Vector3.up * 10f; impactExplosion.childrenCount = 0; impactExplosion.childrenDamageCoefficient = 0f; impactExplosion.childrenProjectilePrefab = null; impactExplosion.destroyOnWorld = true; impactExplosion.destroyOnEnemy = true; impactExplosion.falloffModel = RoR2.BlastAttack.FalloffModel.None; impactExplosion.fireChildren = false; impactExplosion.lifetimeRandomOffset = 0f; impactExplosion.offsetForLifetimeExpiredSound = 0f; impactExplosion.GetComponent <ProjectileDamage>().damageType = DamageType.Stun1s; impactExplosion.blastRadius = 40f; impactExplosion.lifetime = 12f; impactExplosion.timerAfterImpact = false; impactExplosion.impactEffect = Modules.Assets.gurrenBrokenBoulderEffect; impactExplosion.explosionSoundString = "Play_golem_impact"; ProjectileController projectileController = bigBoulderPrefab.GetComponent <ProjectileController>(); projectileController.ghostPrefab = CreateGhostPrefab("BigBoulderPrefab"); projectileController.startSound = ""; //anim params = isHoldingObject //states = GURREN_LiftingObject, GURREN_HoldingObject, GURREN_ThrowingObject }
// Base Stuff // private static void InitializeImpactExplosion(ProjectileImpactExplosion projectileImpactExplosion) { projectileImpactExplosion.blastDamageCoefficient = 1f; projectileImpactExplosion.blastProcCoefficient = 1f; projectileImpactExplosion.blastRadius = 1f; projectileImpactExplosion.bonusBlastForce = Vector3.zero; projectileImpactExplosion.childrenCount = 0; projectileImpactExplosion.childrenDamageCoefficient = 0f; projectileImpactExplosion.childrenProjectilePrefab = null; projectileImpactExplosion.destroyOnEnemy = false; projectileImpactExplosion.destroyOnWorld = false; //projectileImpactExplosion.explosionSoundString = ""; projectileImpactExplosion.falloffModel = RoR2.BlastAttack.FalloffModel.None; projectileImpactExplosion.fireChildren = false; projectileImpactExplosion.impactEffect = null; projectileImpactExplosion.lifetime = 0f; projectileImpactExplosion.lifetimeAfterImpact = 0f; //projectileImpactExplosion.lifetimeExpiredSoundString = ""; projectileImpactExplosion.lifetimeRandomOffset = 0f; projectileImpactExplosion.offsetForLifetimeExpiredSound = 0f; projectileImpactExplosion.timerAfterImpact = false; projectileImpactExplosion.GetComponent <ProjectileDamage>().damageType = DamageType.Generic; }