protected void Ignite(RHInfo rH) { FireTag FT = rH.transform.GetComponentInChildren <FireTag>(); if (FT) // ignite { FT.Ignite(); } ///Just Ignite ///Meow /// /* * else if (rH.transform.GetComponent(typeof(IExplosionEffect))) // explode stuff * * else if (rH.transform.GetComponent<BreakOnForceNoSpawn>()) // explode stuff * rH.transform.GetComponent<BreakOnForceNoSpawn>().BreakExplosion(400f, rH.point, 10f, 0f); * else if (rH.transform.GetComponent<BreakOnForce>()) * rH.transform.GetComponent<BreakOnForce>().BreakExplosion(400f, rH.point, 10f, 0f); * else if (rH.transform.GetComponent<BreakOnForceNoScaling>()) * rH.transform.GetComponent<BreakOnForceNoScaling>().BreakExplosion(400f, rH.point, 10f, 0f); * else if (rH.transform.GetComponent<CastleWallBreak>()) // explode ipsilon stuff * rH.transform.GetComponent<CastleWallBreak>().BreakExplosion(400f, rH.point, 10f, 0f); */ }
private void doPassiveAbility() { if (!BeamHitAnything) { return; } if (ShrinkEffectToggle.IsActive && (CountDown < ChargeHoldGasp.Value * 100)) { return; } foreach (RHInfo rHinfo in rHInfos) { RHInfo rH = rHinfo; if (!rH.transform) { continue; } if (ShrinkEffectToggle.IsActive && EffectParticleChargingPosition.Value != 1 && EffectParticleChargingPosition.Value != 3 && EffectActivateKey.IsDown) { Vector3 POS = rH.point; Vector3 RandomPoint = EulerToDirection(UnityEngine.Random.Range(-360, 360), UnityEngine.Random.Range(-360, 360)); PS.Emit( POS + (RandomPoint * PS.startLifetime * 2 * Multiplier), (-RandomPoint * 2 * Multiplier * Multiplier), 0.2f * Multiplier, PS.startLifetime * SqrtMultiplier, new Color(PS.startColor.r, PS.startColor.g, PS.startColor.b, 1)); } switch (LaserAbilityModeMenu.Value) { case 0: // fire Ignite(rH); break; case 1: // kinetic if (rH.rigidBody != null) { rH.rigidBody.AddForceAtPosition(LaserKineticInOutSlider.Value * (rH.rigidBody.transform.position - this.transform.position).normalized * 1000, rH.point); } //IExplosionEffect IEE = rH.transform.GetComponent<BreakOnForceNoSpawn>(); if (rH.transform.GetComponent <BreakOnForceNoSpawn>()) // explode stuff { rH.transform.GetComponent <BreakOnForceNoSpawn>().BreakExplosion(400f, rH.point, 10f, 0f); } else if (rH.transform.GetComponent <BreakOnForce>()) { rH.transform.GetComponent <BreakOnForce>().BreakExplosion(400f, rH.point, 10f, 0f); } else if (rH.transform.GetComponent <BreakOnForceNoScaling>()) { rH.transform.GetComponent <BreakOnForceNoScaling>().BreakExplosion(400f, rH.point, 10f, 0f); } else if (rH.transform.GetComponent <CastleWallBreak>()) // explode ipsilon stuff { rH.transform.GetComponent <CastleWallBreak>().BreakExplosion(400f, rH.point, 10f, 0f); } ReduceBreakForce(rH.Joint); break; case 2: // freeze return; IceTag IT = rH.transform.GetComponent <IceTag>(); if (IT) { IT.Freeze(); } break; case 3: // bomb if (ShrinkEffectToggle.IsActive) { if (LaserAbilityModeMenu.Value == 3 && (CountDown < ChargeHoldGasp.Value * 100 || !EffectActivateKey.IsDown)) { continue; } } if (laserAtOff) { continue; } //GamePrefabs.InstantiateExplosion(GamePrefabs.ExplosionType.Large, rH.point); if (!StatMaster.isClient || !StatMaster.isLocalSim) { GameObject BOMB = (GameObject)GameObject.Instantiate(PrefabMaster.BlockPrefabs[23].gameObject, rH.point, new Quaternion()); DestroyImmediate(BOMB.GetComponent <Renderer>()); BOMB.GetComponent <Rigidbody>().detectCollisions = false; BOMB.GetComponentInChildren <Collider>().isTrigger = true; BOMB.GetComponent <ExplodeOnCollideBlock>().SimPhysics = true; BOMB.GetComponent <ExplodeOnCollideBlock>().Explodey(); ReduceBreakForce(rH.Joint); } break; case 4: return; } } if (ShrinkEffectToggle.IsActive && (CountDown < ChargeHoldGasp.Value * 100 || !laserFX)) { return; } CountDown = 0; }