public void attackEffect(GameAttackAddType addType, int turn) { switch (addType) { case GameAttackAddType.None: case GameAttackAddType.AbsorbHP: break; case GameAttackAddType.Poison: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.Poison; e.Turn = turn; addEffect(e); } break; case GameAttackAddType.Palsy: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.Palsy; e.Turn = turn; addEffect(e); } break; case GameAttackAddType.Silence: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.Silence; e.Turn = turn; addEffect(e); } break; case GameAttackAddType.Fetter: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.Fetter; e.Turn = turn; addEffect(e); } break; case GameAttackAddType.Clear: { for (int i = 0; i < effects.Count;) { if (effects[i].Effect == GameSkillResutlEffect.StrUp || effects[i].Effect == GameSkillResutlEffect.VitUp || effects[i].Effect == GameSkillResutlEffect.IntUp || effects[i].Effect == GameSkillResutlEffect.MoveUp || effects[i].Effect == GameSkillResutlEffect.Violent) { destroyEffect(i); } else { i++; } } } break; } }
public void skillEffect(GameBattleUnit unit, GameSkill sk) { int hitAdd = sk.HitAdd <= 0 ? 100 : sk.HitAdd; if (Random.Range(0, 100) > hitAdd) { return; } switch (sk.ResultType) { case GameSkillResutlType.Purge: { for (int i = 0; i < effects.Count;) { if (effects[i].Effect == GameSkillResutlEffect.Poison || effects[i].Effect == GameSkillResutlEffect.Palsy || effects[i].Effect == GameSkillResutlEffect.Silence || effects[i].Effect == GameSkillResutlEffect.Fetter) { destroyEffect(i); } else { i++; } } } break; case GameSkillResutlType.Blessing: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = sk.ResultEffect; e.Turn = 3; switch (e.Effect) { case GameSkillResutlEffect.StrUp: e.Str = 140; break; case GameSkillResutlEffect.VitUp: e.Vit = 200; break; case GameSkillResutlEffect.IntUp: e.Int = 140; break; case GameSkillResutlEffect.MoveUp: e.Mov = 140; break; case GameSkillResutlEffect.Violent: e.Str = 200; e.Vit = 50; break; } addEffect(e); } break; case GameSkillResutlType.Curse: { // if ( checkEffect( GameSkillResutlEffect.MagImmunity ) ) // { // return; // } GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = sk.ResultEffect; e.Turn = 3; addEffect(e); } break; case GameSkillResutlType.None: case GameSkillResutlType.Special: { // if ( checkEffect( GameSkillResutlEffect.MagImmunity ) ) // { // return; // } switch (sk.OtherEffect) { case GameSkillOtherEffect.AttackPoison: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.Poison; e.Turn = 3; addEffect(e); } break; case GameSkillOtherEffect.AttackPalsy: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.Palsy; e.Turn = 3; addEffect(e); } break; case GameSkillOtherEffect.AttackSilence: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.Silence; e.Turn = 3; addEffect(e); } break; case GameSkillOtherEffect.AttackFetter: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.Fetter; e.Turn = 3; addEffect(e); } break; case GameSkillOtherEffect.Invincible0: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.PhyImmunity; e.Turn = 3; addEffect(e); } break; case GameSkillOtherEffect.Invincible1: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = GameSkillResutlEffect.MagImmunity; e.Turn = 3; addEffect(e); } break; case GameSkillOtherEffect.AbilityDown: { for (int i = 0; i < effects.Count;) { if (effects[i].Effect == GameSkillResutlEffect.StrUp || effects[i].Effect == GameSkillResutlEffect.VitUp || effects[i].Effect == GameSkillResutlEffect.IntUp || effects[i].Effect == GameSkillResutlEffect.MoveUp || effects[i].Effect == GameSkillResutlEffect.Violent) { destroyEffect(i); } else { i++; } } } break; case GameSkillOtherEffect.HealAll: { for (int i = 0; i < effects.Count;) { if (effects[i].Effect == GameSkillResutlEffect.Poison || effects[i].Effect == GameSkillResutlEffect.Palsy || effects[i].Effect == GameSkillResutlEffect.Silence || effects[i].Effect == GameSkillResutlEffect.Fetter) { destroyEffect(i); } else { i++; } } } break; case GameSkillOtherEffect.AbilityUp: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.OtherEffect = GameSkillOtherEffect.AbilityUp; e.Turn = 1; e.Str = 140; e.Vit = 200; e.Int = 140; e.Mov = 100; addEffect(e); } break; } switch (sk.ResultEffect) { case GameSkillResutlEffect.Clear: { for (int i = 0; i < effects.Count;) { if (effects[i].Effect == GameSkillResutlEffect.StrUp || effects[i].Effect == GameSkillResutlEffect.VitUp || effects[i].Effect == GameSkillResutlEffect.IntUp || effects[i].Effect == GameSkillResutlEffect.MoveUp || effects[i].Effect == GameSkillResutlEffect.Violent) { destroyEffect(i); } else { i++; } } } break; case GameSkillResutlEffect.PhyImmunity: case GameSkillResutlEffect.MagImmunity: case GameSkillResutlEffect.Miss: case GameSkillResutlEffect.SummonKiller: case GameSkillResutlEffect.Under: { GameBattleUnitEffect e = new GameBattleUnitEffect(); e.Effect = sk.ResultEffect; e.Turn = 3; addEffect(e); } break; } } break; } }
public void addEffect(GameBattleUnitEffect e) { for (int i = 0; i < effects.Count; i++) { if (effects[i].Effect == e.Effect) { // e.gameObject = effects[ i ].gameObject; // effects[ i ] = e; return; } } effects.Add(e); if (effectsObject == null) { effectsObject = new GameObject(); effectsObject.name = "effects"; effectsObject.transform.SetParent(gameObject.transform); effectsObject.transform.localPosition = Vector3.zero; } GameObject obj = Instantiate <GameObject>(Resources.Load <GameObject>("Prefab/Misc/Man_eff")); GameAnimation ani = obj.GetComponent <GameAnimation>(); ani.offsetX = GameDefine.BATTLE_OFFSET_X; ani.offsetY = GameDefine.BATTLE_OFFSET_Y; Transform trans = obj.transform; trans.SetParent(effectsObject.transform); trans.localPosition = Vector3.zero; e.gameObject = obj; switch (e.OtherEffect) { case GameSkillOtherEffect.AbilityUp: ani.playAnimation(23, 45); break; } switch (e.Effect) { case GameSkillResutlEffect.StrUp: case GameSkillResutlEffect.VitUp: case GameSkillResutlEffect.IntUp: case GameSkillResutlEffect.Violent: ani.playAnimation(23, 45); break; case GameSkillResutlEffect.MoveUp: ani.playAnimation(1, 23); trans.localPosition = new Vector3(0.0f, 0.0f, 1000.0f); break; case GameSkillResutlEffect.PhyImmunity: ani.playAnimation(129, 154); break; case GameSkillResutlEffect.MagImmunity: ani.playAnimation(109, 129); break; case GameSkillResutlEffect.Miss: ani.playAnimation(87, 109); break; case GameSkillResutlEffect.Poison: // ani.playAnimation( 154 , 187 ); break; case GameSkillResutlEffect.Palsy: // ani.playAnimation( 154 , 187 ); break; case GameSkillResutlEffect.Silence: ani.playAnimation(45, 87); break; case GameSkillResutlEffect.Fetter: ani.playAnimation(154, 187); break; case GameSkillResutlEffect.Clear: break; case GameSkillResutlEffect.SummonKiller: break; case GameSkillResutlEffect.Summon: break; case GameSkillResutlEffect.SummonRelive: break; case GameSkillResutlEffect.Under: ani.playAnimation(1, 23); trans.localPosition = new Vector3(0.0f, 0.0f, 1000.0f); break; } updateEffects(); }