Beispiel #1
0
 public override void Execute()
 {
     ContSkillEngine.PushSingleExecutable(new ExecRemoveSoulChr(skill.chrOwner, ((SkillCheerleader)skill).soulPassive)
     {
         sLabel = skill.chrOwner.sName + " is no longer peppy"
     });
 }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            //First, deal damage to all enemies
            List <Chr> lstChrEnemy = skill.chrOwner.plyrOwner.GetEnemyPlayer().GetActiveChrs();

            for (int i = 0; i < lstChrEnemy.Count; i++)
            {
                //For each enemy, deal our dmgEnemy to them
                ContSkillEngine.PushSingleExecutable(new ExecDealDamage(skill.chrOwner, lstChrEnemy[i], dmgEnemy)
                {
                    sLabel = "WAAAAAAAHWAAHWAHHH"
                });
            }

            //Then damage each of our allies
            List <Chr> lstChrAlly = skill.chrOwner.plyrOwner.GetActiveChrs();

            for (int i = 0; i < lstChrAlly.Count; i++)
            {
                //For each ally, deal our dmgAlly to them
                ContSkillEngine.PushSingleExecutable(new ExecDealDamage(skill.chrOwner, lstChrAlly[i], dmgAlly)
                {
                    sLabel = "Really, dude?"
                });
            }
        }
Beispiel #3
0
    //Can subscribe with this if you want to remove the effect on a particular trigger (doesn't have any extra checks though)
    public void cbRemoveThis(Object target, params object[] args)
    {
        Debug.Log("Pushing executable to remove " + this.sName + " from " + chrTarget.sName + " since it's now on " + chrTarget.position.ToString());
        ContSkillEngine.PushSingleExecutable(new ExecRemoveSoulChr(chrSource, this));

        Debug.Log("Need to unsubscribe all active subscriptions since we're being removed");
    }
Beispiel #4
0
 public override void Execute()
 {
     ContSkillEngine.PushSingleExecutable(new ExecApplySoulChr(skill.chrOwner, skill.chrOwner, ((SkillCheerleader)skill).soulPassive)
     {
         sLabel = skill.chrOwner.sName + " is one peppy boi"
     });
 }
 public override void Execute()
 {
     ContSkillEngine.PushSingleExecutable(new ExecRemoveSoulChr(skill.chrOwner, ((SkillSadism)skill).soulPassive)
     {
         sLabel = "removing sadism"
     });
 }
Beispiel #6
0
 public override void ClauseEffect(InputSkillSelection selections)
 {
     ContSkillEngine.PushSingleExecutable(new ExecApplySoulPosition(skill.chrOwner, skill.chrOwner.position, new SoulPositionBunker(soulToCopy, skill.chrOwner.position))
     {
         sLabel = "Hunker down"
     });
 }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecSwitchChar(skill.chrOwner, chrSelected, (chrTarget) => ContPositions.Get().GetInFrontPosition(chrTarget.position))
            {
                sLabel = "Hey, I caught one!"
            });
        }
Beispiel #8
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            //TODO - maybe add some sort of additional function that can be called exactly when the executable resolves to trigger additional effects
            //    e.g., here it could be a structure called Tracking where you call Tracking.BeforeEffect() to track the gamestate before the executable
            //          evaluates (this can store information, and then you call Tracking.AfterEffect() to
            ContSkillEngine.PushSingleExecutable(new ExecMoveChar(skill.chrOwner, chrSelected, (chrTarget) => ContPositions.Get().GetBehindPosition(chrTarget.position)));
        }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = skill.chrOwner;

            ContSkillEngine.PushSingleExecutable(new ExecLoseLife(skill.chrOwner, chrSelected, nLifeLoss)
            {
                sLabel = "It's going berserk"
            });
        }
Beispiel #10
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecHeal(skill.chrOwner, chrSelected, healing)
            {
                sLabel = "Drink my life-juice"
            });
        }
Beispiel #11
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecDealDamage(skill.chrOwner, chrSelected, dmg)
            {
                sLabel = "Gimme yer life-juice"
            });
        }
Beispiel #12
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecApplySoulChr(skill.chrOwner, chrSelected, new SoulHunted(soulToCopy, chrSelected))
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("Fischer/sndHuntersQuarry", 0.867f) },
                sLabel         = "I'm gonna get ya"
            });
        }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = skill.chrOwner;

            ContSkillEngine.PushSingleExecutable(new ExecApplySoulChr(skill.chrOwner, chrSelected, new SoulEvolved(soulToCopy, chrSelected))
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("PitBeast/sndForcedEvolution", 4.667f) },
                sLabel         = "It's evolving"
            });
        }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecDealDamage(skill.chrOwner, chrSelected, dmg)
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("PitBeast/sndTendrilStab", 3.067f) },
                sLabel         = "Stab, stab, stab"
            });
        }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecStun(skill.chrOwner, chrSelected, nStunAmount)
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("Saiko/sndTranquilize", 1.4f) },
                sLabel         = "Shhh... Look at my daughter."
            });
        }
Beispiel #16
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = skill.chrOwner;

            ContSkillEngine.PushSingleExecutable(new ExecApplySoulChr(skill.chrOwner, chrSelected, new SoulSmokeCover(soulToCopy, chrSelected))
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("Saiko/sndSmokeCover", 4.3f) },
                sLabel         = "Disappearing into the shadows..."
            });
        }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecDealDamage(skill.chrOwner, chrSelected, dmg)
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("Fischer/sndHarpoonGun", 2.067f) },
                sLabel         = "Behold, the power of my stand, Beach Boy!"
            });
        }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = skill.chrOwner;

            ContSkillEngine.PushSingleExecutable(new ExecApplySoulChr(skill.chrOwner, chrSelected, new SoulFortissimo(soulToCopy, chrSelected))
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("Katarina/sndFortissimo", 6.2f) },
                sLabel         = "Let's do it louder this time"
            });
        }
Beispiel #19
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecApplySoulChr(skill.chrOwner, chrSelected, new SoulCloudCushion(soulToCopy, chrSelected))
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("Rayne/sndCloudCushion", 3.467f) },
                sLabel         = "Ooh, so soft"
            });
        }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = skill.chrOwner;

            Position posToSwitchTo = (Position)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecSwitchChar(skill.chrOwner, chrSelected, posToSwitchTo)
            {
                sLabel = "I'll lead the way"
            });
        }
Beispiel #21
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            ManaDate manadateCur = skill.chrOwner.plyrOwner.manacalendar.GetCurrentManaDate();

            Property <Mana> .Modifier modManaToAdd = new Property <Mana> .Modifier((Mana mana) => Mana.AddMana(mana, manaToAdd));

            ContSkillEngine.PushSingleExecutable(new ExecApplyManaDateMod(skill.chrOwner, manadateCur, modManaToAdd)
            {
                sLabel = "Planting a new seed"
            });
        }
Beispiel #22
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            //Push an executable with this skill's owner as the source, the selected character as the target,
            // and we can copy the stored healing instance to apply
            ContSkillEngine.PushSingleExecutable(new ExecHeal(skill.chrOwner, chrSelected, heal)
            {
                sLabel = "Healing"
            });
        }
Beispiel #23
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            SkillSlot ssAdaptingFrom = (SkillSlot)selections.lstSelections[1];

            SkillType.SKILLTYPE skilltypeAdaptingTo = (SkillType.SKILLTYPE)selections.lstSelections[2];
            Debug.Log("Adapting to " + skilltypeAdaptingTo);

            ContSkillEngine.PushSingleExecutable(new ExecAdaptSkill(skill.chrOwner, ssAdaptingFrom, skilltypeAdaptingTo)
            {
                sLabel = "Adapting skill"
            });
        }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecApplySoulChr(skill.chrOwner, chrSelected, new SoulImpaled(soulToCopy, chrSelected)));

            ContSkillEngine.PushSingleExecutable(new ExecDealDamage(skill.chrOwner, chrSelected, dmg)
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("Fischer/sndImpale", 1.833f) },
                sLabel         = "Get Kakyoin'd"
            });
        }
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            //Push an executable with this skill's owner as the source, the selected character as the target,
            // and we can copy the stored healing instance to apply
            ContSkillEngine.PushSingleExecutable(new ExecHeal(skill.chrOwner, chrSelected, heal)
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("Katarina/sndSerenade", 5.3f) },
                sLabel         = "<Darude's Sandstorm on Recorder>"
            });
        }
Beispiel #26
0
        public override void Execute()
        {
            //TODO:: Think if this is an acceptable solution, since it seems potentially narrow.  It also assumes that the mana you reserved
            //       exactly corresponds to the mana you NEED to pay.  I guess this helps with any optional costs that might get played, but I
            //       worry that it'd be possible to un-reserve mana somehow to avoid actually paying the requisite amounts for the skill's costs

            //We'll spend all the mana that we've reserved as part of the mana-paying process of targetting and then clear out reserved mana
            ContSkillEngine.PushSingleExecutable(new ExecChangeMana(skill.chrOwner, skill.chrOwner.plyrOwner,
                                                                    Mana.GetNegatedMana(skill.chrOwner.plyrOwner.manapool.manaReservedToPay)));

            skill.chrOwner.plyrOwner.manapool.ResetReservedMana();
        }
Beispiel #27
0
    public void OnDamaged(Chr chrDamager)
    {
        //First remove this soul effect
        soulContainer.RemoveSoul(this);

        //Then retaliate with damage
        ContSkillEngine.PushSingleExecutable(new ExecDealDamage(chrSource, chrDamager, dmgCounterAttack)
        {
            arSoundEffects = new SoundEffect[] { new SoundEffect("Fischer/sndBucklerParry", 1.5f) },

            sLabel = "Counterattacking"
        });
    }
Beispiel #28
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            List <Chr> lstChrsOnTeam = chrSelected.plyrOwner.GetActiveChrs();

            for (int i = 0; i < lstChrsOnTeam.Count; i++)
            {
                ContSkillEngine.PushSingleExecutable(new ExecDealDamage(skill.chrOwner, lstChrsOnTeam[i], dmg)
                {
                    sLabel = "Explodin'"
                });
            }
        }
Beispiel #29
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            Chr chrSelected = (Chr)selections.lstSelections[1];

            ContSkillEngine.PushSingleExecutable(new ExecLoseLife(skill.chrOwner, skill.chrOwner, nLifeloss)
            {
                sLabel = "Owie"
            });

            ContSkillEngine.PushSingleExecutable(new ExecDealDamage(skill.chrOwner, chrSelected, dmg)
            {
                arSoundEffects = new SoundEffect[] { new SoundEffect("Sophidia/sndTwinSnakes", 2f) },
                sLabel         = "Snakey, no!"
            });
        }
Beispiel #30
0
        public override void ClauseEffect(InputSkillSelection selections)
        {
            List <Chr> lstEnemyChrs = skill.chrOwner.plyrOwner.GetEnemyPlayer().GetActiveChrs();

            for (int i = 0; i < lstEnemyChrs.Count; i++)
            {
                ContSkillEngine.PushSingleExecutable(new ExecApplySoulChr(skill.chrOwner, lstEnemyChrs[i], new SoulSpooked(soulToCopy, lstEnemyChrs[i]))
                {
                    arSoundEffects = new SoundEffect[] { new SoundEffect("Sophidia/sndHiss1", 2f),
                                                         new SoundEffect("Sophidia/sndHiss2", 2f),
                                                         new SoundEffect("Sophidia/sndHiss3", 2f) },
                    sLabel = "Ah, so spook!"
                });
            }
        }