public static void CreateEmpower() { List<SceneActionBase> empower = new List<SceneActionBase>(); var cast = new RunAnimationSceneAction(); cast.RunOnce = "True"; cast.Actor = CASTER; cast.Animation = "Buff"; empower.Add(cast); var idleAnim = new RunAnimationSceneAction(); idleAnim.Actor = CASTER; idleAnim.Animation = "Idle"; empower.Add(idleAnim); var sound = new PlaySoundSceneAction(); sound.Sound = "Sounds/birdseye"; sound.Actor = CASTER; empower.Add(sound); var emitter = new SpawnParticleEffectSceneAction(); emitter.BlocksStory = true; emitter.Actor = CASTER; emitter.Duration = "1"; emitter.ParticlesPerSecond = "100"; emitter.LocalPosition = new Vector3(0, 1, 0); emitter.Color1 = new Color(.5f, .0f, .35f, .2f); emitter.Color2 = new Color(.5f, .2f, .35f, .5f); emitter.Color3 = new Color(.7f, .32f, 0f, 1f); emitter.Color4 = new Color(1f, 0f, .7f, .6f); emitter.Color5 = new Color(.4f, 0f, .5f, .2f); emitter.ParticleLifeTime = "1"; emitter.ParticleSize = ".5"; emitter.ParticleSpeed = "0"; emitter.RandomVelocity = new Vector3(3, 3, 3); empower.Add(emitter); BuffSceneAction buff = new BuffSceneAction(); buff.Actor = CASTER; buff.TargetCharacter = "{Target}<Character>"; empower.Add(buff); emitter = new SpawnParticleEffectSceneAction(); emitter.Actor = TARGET; emitter.Duration = "20"; emitter.ParticlesPerSecond = "800"; emitter.LocalPosition = new Vector3(0, 1, 0); emitter.Color1 = new Color(.5f, .4f, .35f, .2f); emitter.Color2 = new Color(.2f, .2f, .21f, .5f); emitter.Color3 = new Color(.7f, .32f, 0f, 1f); emitter.Color4 = new Color(.7f, 0f, .9f, .6f); emitter.Color5 = new Color(.4f, 0f, .5f, .2f); emitter.ParticleLifeTime = "1"; emitter.ParticleSize = ".2"; emitter.ParticleSpeed = ".5"; emitter.RandomVelocity = new Vector3(2, 7, 0); buff.Actions.Add(emitter); var modify = new ModifyStatSceneAction(); modify.StatToAdjust = "{Target}<Character>.Stats[LilithStats.Strength]"; modify.Adjustment = "50"; modify.Duration = "20"; buff.Actions.Add(modify); loadedScenes.Add(LilithAbilities.ChannelEmpower, empower); }
private static void CreateFireball() { var fireball = new List<SceneActionBase>(); var cast = new RunAnimationSceneAction(); cast.RunOnce = "True"; cast.Actor = CASTER; cast.Animation = "Attack02"; fireball.Add(cast); var sound = new PlaySoundSceneAction(); sound.Sound = "Sounds/fyrbal02"; sound.Actor = CASTER; fireball.Add(sound); var emitter = new SpawnParticleEffectSceneAction(); emitter.BlocksStory = true; emitter.Actor = CASTER; emitter.Duration = "1.2"; emitter.ParticlesPerSecond = "60"; emitter.LocalPosition = new Vector3(0, 1, 0); emitter.Color1 = new Color(.5f, 0f, 1f, .2f); emitter.Color2 = new Color(0, .5f, 1f, .5f); emitter.Color3 = new Color(1f, .65f, 0f, 1f); emitter.Color4 = new Color(1f, .35f, 0f, .6f); emitter.Color5 = new Color(1f, 0f, 0f, .2f); emitter.ParticleLifeTime = "1"; emitter.ParticleSize = ".5"; emitter.ParticleSpeed = "0"; emitter.RandomVelocity = new Vector3(5, 0, 5); fireball.Add(emitter); var idleAnim = new RunAnimationSceneAction(); idleAnim.Actor = CASTER; idleAnim.Animation = "Idle"; fireball.Add(idleAnim); sound = new PlaySoundSceneAction(); sound.Sound = "Sounds/fyrbal01"; sound.Actor = CASTER; fireball.Add(sound); BuffSceneAction buff = new BuffSceneAction(); buff.Actor = CASTER; buff.TargetCharacter = "{Target}<Character>"; fireball.Add(buff); emitter = new SpawnParticleEffectSceneAction(); emitter.Name = "Fireball"; emitter.Actor = CASTER; emitter.Target = TARGET; emitter.Duration = "100"; emitter.ParticlesPerSecond = "6000"; emitter.LocalPosition = new Vector3(0, 1, 0); emitter.Color1 = new Color(.5f, .4f, .7f, .2f); emitter.Color2 = new Color(.8f, .5f, .3f, .5f); emitter.Color3 = new Color(1f, .65f, 0f, 1f); emitter.Color4 = new Color(1f, .35f, 0f, .6f); emitter.Color5 = new Color(1f, 0f, 0f, .2f); emitter.RandomVelocity = new Vector3(3, 3, 3); emitter.ParticleLifeTime = ".65"; emitter.ParticleSize = ".5"; emitter.ParticleSpeed = "0"; buff.Actions.Add(emitter); var movePart = new MoveToEntitySceneAction(); movePart.BlocksStory = true; movePart.Actor = "{#Fireball}.Emitter"; movePart.Speed = "10"; movePart.HowClose = "0"; movePart.Entity = TARGET; buff.Actions.Add(movePart); sound = new PlaySoundSceneAction(); sound.Sound = "Sounds/exp01"; sound.Actor = TARGET; buff.Actions.Add(sound); var dmg = new AdjustStatSceneAction(); dmg.Adjustment = "{Caster}<Character>.Stats[LilithStats.Intelligence].CurrentValue * -5"; dmg.StatToAdjust = "{Target}<Character>.Stats[LilithStats.Health]"; buff.Actions.Add(dmg); dmg = new AdjustStatSceneAction(); dmg.BlocksStory = true; dmg.Adjustment = "{Caster}<Character>.Stats[LilithStats.Intelligence].CurrentValue * -5"; dmg.StatToAdjust = "{Target}<Character>.Stats[LilithStats.Health]"; dmg.OverSeconds = "1"; buff.Actions.Add(dmg); FinishPartSceneAction finisher = new FinishPartSceneAction(); finisher.PartToFinish = "{#Fireball}"; finisher.DelayBeforeFinish = "1"; buff.Actions.Add(finisher); var wait = new WaitSceneAction(); wait.Seconds = ".5"; fireball.Add(wait); loadedScenes.Add(LilithAbilities.Fireball, fireball); }