/// <summary> /// Removes Electrified if the BattleEntity is afflicted with it. This is called when removing the badge. /// </summary> private void RemoveElectrified() { if (EntityEquipped.EntityProperties.HasStatus(Enumerations.StatusTypes.Electrified) == true) { EntityEquipped.RemoveStatus(Enumerations.StatusTypes.Electrified, true, true); } }
protected override void OnEquip() { //NOTE: Think of a way to make this more flexible to easily add more SpriteSheet swaps with different Badges //Building a system to allow for more combinations would be great as well and add more possibilities //Examples include Partner SpriteSheet swaps (especially Yoshi) BattleMario mario = EntityEquipped as BattleMario; if (mario == null) { Debug.LogWarning($"L Emblem will not work on {EntityEquipped.Name}; it currently works only for Mario"); return; } string sheetPath = $"{ContentGlobals.SpriteRoot}/Characters/Mario"; //Check if W Emblem is equipped and change to Waluigi's clothes if (EntityEquipped.GetEquippedBadgeCount(BadgeGlobals.BadgeTypes.WEmblem) > 0) { sheetPath += ContentGlobals.WaluigiPaletteExtension; } //Otherwise change to Luigi's clothes else { sheetPath += ContentGlobals.LuigiPaletteExtension; } EntityEquipped.AnimManager.SetSpriteSheet(AssetManager.Instance.LoadAsset <Texture2D>(sheetPath), ObjAnimManager.SetSpriteSheetOptions.ReplaceSame); }
/// <summary> /// Causes Zap Tap to inflict Electrified if the BattleEntity equipped isn't afflicted with it. /// This bypasses any immunities or other conditions that would prevent it from being afflicted (Ex. Allergic). /// </summary> private void InflictElectrified() { if (EntityEquipped.EntityProperties.HasStatus(Enumerations.StatusTypes.Electrified) == false) { EntityEquipped.AfflictStatus(new ElectrifiedStatus(StatusGlobals.InfiniteDuration), false); } }
protected override void OnUnequip() { EntityEquipped.DealtDamageEvent -= OnDamagedEntity; EntityEquipped.TurnEndEvent -= OnEntityTurnEnd; EntityEquipped.RaiseAttack(AttackReduction); QueuedHeal = false; }
/// <summary> /// Handles adding/removing Feeling Fine's Status Effect immunities. /// </summary> /// <param name="immune">Whether to add or remove the immunity.</param> private void HandleStatusImmunities(bool immune) { EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.Electrified, immune); EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.Poison, immune); EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.Dizzy, immune); EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.Confused, immune); EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.Stop, immune); EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.Sleep, immune); EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.DEFDown, immune); EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.POWDown, immune); EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.Tiny, immune); EntityEquipped.AddRemoveStatusImmunity(Enumerations.StatusTypes.KO, immune); }
private void HealFP(InteractionHolder damageInfo) { //The entity doesn't recover FP if dead (TEST THIS) or if the damage dealt was 0 or less if (EntityEquipped.IsDead == false && damageInfo.TotalDamage > 0) { //Test for recovering FP if (UtilityGlobals.TestRandomCondition(FPRecoverChance) == true) { //Recover FP EntityEquipped.HealFP(FPRecoverAmount); } } }
protected override void OnUnequip() { BattleMario mario = EntityEquipped as BattleMario; //Don't do anything, as the badge made no changes when equipped if (mario == null) { return; } string sheetPath = $"{ContentGlobals.SpriteRoot}/Characters/Mario"; //Check if W Emblem is equipped and change to Wario's clothes if (EntityEquipped.GetEquippedBadgeCount(BadgeGlobals.BadgeTypes.WEmblem) > 0) { sheetPath += ContentGlobals.WarioPaletteExtension; } EntityEquipped.AnimManager.SetSpriteSheet(AssetManager.Instance.LoadAsset <Texture2D>(sheetPath), ObjAnimManager.SetSpriteSheetOptions.ReplaceSame); }
private void OnEntityEnteredBattle(BattleEntity entity) { //Check if the BattleEntity this Badge is equipped to is added to battle //If so, grant it one of the Status Effects if (EntityEquipped == entity) { BattleManager.Instance.EntityAddedEvent -= OnEntityEnteredBattle; //Get the statuses and choose a random one StatusEffect[] statuses = GetPossibleGrantedStatuses(); int randStatus = GeneralGlobals.Randomizer.Next(0, statuses.Length); //Despite the badge's effects, the Status Effect isn't guaranteed to be inflicted //If you have Feeling Fine equipped in TTYD and get Electrified with Lucky Start, //it's not inflicted yet the "LUCKY" text is displayed and the sound plays if (EntityEquipped.EntityProperties.TryAfflictStatus(100d, statuses[randStatus]) == true) { EntityEquipped.AfflictStatus(statuses[randStatus], true); } } }
protected override void OnUnequip() { EntityEquipped.LowerMaxHP(HPValue); }
protected override void ApplyEffects() { EntityEquipped.AddEvasionMod(EvasionValue); }
protected override void OnEquip() { EntityEquipped.RaiseDefense(DefenseBonus); }
protected sealed override void OnEquip() { EntityEquipped.AddEvasionMod(EvasionValue); }
protected override void OnEquip() { //Flag that this BattleEntity should have Stylish Move timings shown EntityEquipped.AddIntAdditionalProperty(Enumerations.AdditionalProperty.ShowStylishTimings, 1); }
protected override void OnUnequip() { EntityEquipped.LowerAttack(AttackBonus); }
protected override void OnEquip() { EntityEquipped.RaiseAttack(AttackBonus); }
protected sealed override void RemoveEffects() { EntityEquipped.LowerAttack(AttackBonus); }
protected sealed override void ApplyEffects() { EntityEquipped.RaiseAttack(AttackBonus); }
protected override void OnUnequip() { //Remove the flag that Stylish Move timings should be shown EntityEquipped.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.ShowStylishTimings, 1); }
protected override void OnEquip() { EntityEquipped.RaiseAttack(1); EntityEquipped.EntityProperties.DisableMoveCategory(Enumerations.MoveCategories.Jump); }
protected sealed override void OnUnequip() { EntityEquipped.RemoveEvasionMod(EvasionValue); }
protected override void OnUnequip() { EntityEquipped.LowerAttack(1); EntityEquipped.EntityProperties.EnableMoveCategory(Enumerations.MoveCategories.Jump); }
protected override void OnUnequip() { EntityEquipped.LowerDefense(DefenseBonus); }
protected override void OnUnequip() { EntityEquipped.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.AutoActionCommands, 1); EntityEquipped.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.AutoStylishMoves, 1); }
protected override void RemoveEffects() { EntityEquipped.RemoveEvasionMod(EvasionValue); }
protected override void OnEquip() { EntityEquipped.RaiseMaxHP(HPValue); }