using UnityEngine;
using Wizard.Battle.View.Vfx;

public class Skill_change_super_skybound_art_count : SkillBase
{
	private const string EFFECT_FILE_NAME = "stt_act_costdown_1";

	private const string SE_FILE_NAME = "se_stt_act_costdown_1";

	public const int DEFAULT_SUPER_SKYBOUND_ART_COUNT = 15;

	public Skill_change_super_skybound_art_count(SkillParameter skillPrm, string option)
		: base(skillPrm, option)
	{
	}

	public override VfxWithLoading Start(CallParameter parameter)
	{
		int num = base.OptionValue.GetInt(SkillFilterCreator.ContentKeyword.gain_super_skybound_art_count, -1);
		VfxWithLoadingSequential vfxWithLoadingSequential = VfxWithLoadingSequential.Create();
		foreach (BattleCardBase targetCard in parameter.targetCards)
		{
			if (!BattleManagerBase.GetIns().IsVirtualBattle)
			{
				targetCard.SkillApplyInformation.GiveSuperSkyboundArtCount(new SuperSkyboundArtCountAddModifier(-num));
			}
			if (targetCard.HasSuperSkyboundArt && (targetCard.IsPlayer || GameMgr.GetIns().IsAdminWatch))
			{
				GameObject effectGameObject = null;
				vfxWithLoadingSequential.RegisterToLoadingVfx(new WaitLoadEffectAndSetSeVfx("stt_act_costdown_1", "se_stt_act_costdown_1", delegate(GameObject e)
				{
					effectGameObject = e;
				}));
				vfxWithLoadingSequential.RegisterToMainVfx(new PlayEffectAndSeVfx(() => effectGameObject, targetCard.BattleCardView.Transform, isFollow: false, isFollowPosition: false, isFollowAll: true));
			}
		}
		return vfxWithLoadingSequential;
	}

	public int GetGainSkyboundArtCount()
	{
		return base.OptionValue.GetInt(SkillFilterCreator.ContentKeyword.gain_super_skybound_art_count, 0);
	}
}
