override protected void upgradeOtherAbility(Ability other) { if (other.GetType().BaseType == typeof(ProjectileAttack)) { ProjectileAttack pa = (ProjectileAttack)other; pa.onCollision = upgradeSpray; } else if (other.GetType().BaseType == typeof(CloseBlast)) { CloseBlast cb = (CloseBlast)other; cb.onHitByBurst = upgradeSpray; } else if (other.GetType().BaseType == typeof(Buff)) { Buff b = (Buff)other; onCollision = b.buffEffect; b.activeFunc = activeEffect; } else if (other.GetType().BaseType == typeof(Special)) { if (other.GetType() == typeof(Dash)) { Dash d = (Dash)other; d.preDashAction = sprayClusters; } else if (other.GetType() == typeof(OrbGenerator)) { OrbGenerator og = (OrbGenerator)other; og.onCollision = upgradeSpray; } } }
override protected void upgradeOtherAbility(Ability other) { if (other.GetType().BaseType == typeof(ProjectileAttack)) { ProjectileAttack pa = (ProjectileAttack)other; pa.bulletVelocity += speedScaling * effectSize; } else if (other.GetType().BaseType == typeof(CloseBlast)) { CloseBlast cb = (CloseBlast)other; cb.onHitByBurst = knockback; } else if (other.GetType().BaseType == typeof(Buff)) { Buff b = (Buff)other; b.effectSize += effectSize / 5; } else if (other.GetType().BaseType == typeof(Special)) { if (other.GetType() == typeof(ClusterShower)) { ClusterShower cs = (ClusterShower)other; cs.onCollision = knockback; } else if (other.GetType() == typeof(OrbGenerator)) { OrbGenerator og = (OrbGenerator)other; og.IncreaseOrbSpeed(effectSize); } } }
protected override void upgradeOtherAbility(Ability other) { if (other.GetType().BaseType == typeof(ProjectileAttack)) { ProjectileAttack pa = (ProjectileAttack)other; pa.onCollision = defaultCollision; } else if (other.GetType().BaseType == typeof(CloseBlast)) { CloseBlast cb = (CloseBlast)other; cb.onHitByBurst = defaultCollision; } else if (other.GetType().BaseType == typeof(Buff)) { Buff b = (Buff)other; b.effectSize += effectSize / 5; } else if (other.GetType().BaseType == typeof(Special)) { if (other.GetType() == typeof(ClusterShower)) { ClusterShower cs = (ClusterShower)other; cs.onCollision = defaultCollision; } else if (other.GetType() == typeof(Dash)) { Dash d = (Dash)other; d.preDashAction = activeEffect; } } }
override protected void upgradeOtherAbility(Ability other) { print(abilityName + " upgrading " + other.abilityName); if (other.GetType().BaseType == typeof(ProjectileAttack)) { ProjectileAttack pa = (ProjectileAttack)other; effectSize = -effectSize; pa.onCollision = doBuff; } else if (other.GetType().BaseType == typeof(CloseBlast)) { CloseBlast cb = (CloseBlast)other; effectSize = -effectSize; cb.onHitByBurst = doBuff; } else if (other.GetType().BaseType == typeof(Buff)) { Buff b = (Buff)other; b.buffs.Add(buffEffect, undoBuff); b.buffDurations.Add(buffEffect, buffDuration); } else if (other.GetType().BaseType == typeof(Special)) { if (other.GetType() == typeof(Dash)) { Dash d = (Dash)other; d.preDashAction = activeEffect; } else if (other.GetType() == typeof(ClusterShower)) { ClusterShower cs = (ClusterShower)other; effectSize = -effectSize; cs.onCollision = doBuff; } else if (other.GetType() == typeof(OrbGenerator)) { OrbGenerator og = (OrbGenerator)other; effectSize -= effectSize; og.onCollision = doBuff; } } }
override protected void upgradeOtherAbility(Ability other) { print(abilityName + " upgrading " + other.abilityName); if (other.GetType().BaseType == typeof(ProjectileAttack)) { ProjectileAttack pa = (ProjectileAttack)other; pa.onCollision = createBlastFromProjCollision; pa.onCollisionTargets = burstTargets; } else if (other.GetType().BaseType == typeof(CloseBlast)) { CloseBlast cb = (CloseBlast)other; cb.onHitByBurst = onHitByBurst; cb.burstTargets = burstTargets; } else if (other.GetType().BaseType == typeof(Buff)) { Buff b = (Buff)other; onHitByBurst = b.buffEffect; b.activeFunc = activeEffect; } else if (other.GetType().BaseType == typeof(Special)) { if (other.GetType() == typeof(Dash)) { Dash d = (Dash)other; d.preDashAction = activeEffect; } else if (other.GetType() == typeof(ClusterShower)) { ClusterShower cs = (ClusterShower)other; cs.onCollision = createBlast; cs.onCollisionTargets = burstTargets; } else if (other.GetType() == typeof(OrbGenerator)) { OrbGenerator og = (OrbGenerator)other; og.onCollision = createBlast; og.onCollisionTargets = burstTargets; } } }