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?" }); } }
//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"); }
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" }); }
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!" }); }
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" }); }
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" }); }
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" }); }
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." }); }
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" }); }
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" }); }
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" }); }
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" }); }
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>" }); }
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(); }
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" }); }
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'" }); } }
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!" }); }
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!" }); } }