public static Int32 GetAnimType(Object state, ref Boolean error) { Combat.Character character = state as Combat.Character; if (character == null) { error = true; return(0); } HitAnimationType hat = HitAnimationType.Light; if (character.DefensiveInfo.IsFalling == true) { hat = character.DefensiveInfo.HitDef.FallAnimationType; } else if (character.DefensiveInfo.HitStateType == xnaMugen.StateType.Airborne) { hat = character.DefensiveInfo.HitDef.AirAnimationType; } else { hat = character.DefensiveInfo.HitDef.GroundAnimationType; } switch (hat) { case HitAnimationType.Light: return(0); case HitAnimationType.Medium: return(1); case HitAnimationType.Hard: return(2); case HitAnimationType.Back: return(3); case HitAnimationType.Up: return(4); case HitAnimationType.DiagUp: return(5); default: error = true; return(0); } }
public HitDef(StateSystem statesystem, String label, TextSection textsection) : base(statesystem, label, textsection) { m_hitattr = textsection.GetAttribute<Combat.HitAttribute>("attr", null); m_hitflag = textsection.GetAttribute<Combat.HitFlag>("hitflag", Combat.HitFlag.Default); m_guardflag = textsection.GetAttribute<Combat.HitFlag>("guardflag", Combat.HitFlag.Default); m_affectteam = textsection.GetAttribute<AffectTeam>("affectteam", AffectTeam.Enemy); m_hitanimtype = textsection.GetAttribute<HitAnimationType>("animtype", HitAnimationType.Light); m_airhitanimtype = textsection.GetAttribute<HitAnimationType>("air.animtype", HitAnimationType); m_fallhitanimtype = textsection.GetAttribute<HitAnimationType>("fall.animtype", (AirHitAnimationType == HitAnimationType.Up) ? HitAnimationType.Up : HitAnimationType.Back); m_priority = textsection.GetAttribute<Combat.HitPriority>("priority", Combat.HitPriority.Default); m_damage = textsection.GetAttribute<Evaluation.Expression>("damage", null); m_pausetime = textsection.GetAttribute<Evaluation.Expression>("pausetime", null); m_guardpausetime = textsection.GetAttribute<Evaluation.Expression>("guard.pausetime", null); m_sparknumber = textsection.GetAttribute<Evaluation.PrefixedExpression>("sparkno", null); m_guardsparknumber = textsection.GetAttribute<Evaluation.PrefixedExpression>("guard.sparkno", null); m_sparkposition = textsection.GetAttribute<Evaluation.Expression>("sparkxy", null); m_hitsound = textsection.GetAttribute<Evaluation.PrefixedExpression>("hitsound", null); m_guardhitsound = textsection.GetAttribute<Evaluation.PrefixedExpression>("guardsound", null); m_attackeffect = textsection.GetAttribute<AttackEffect>("ground.type", AttackEffect.High); m_aireffect = textsection.GetAttribute<AttackEffect>("air.type", GroundAttackEffect); m_groundslidetime = textsection.GetAttribute<Evaluation.Expression>("ground.slidetime", null); m_guardslidetime = textsection.GetAttribute<Evaluation.Expression>("guard.slidetime", null); m_groundhittime = textsection.GetAttribute<Evaluation.Expression>("ground.hittime", null); m_guardhittime = textsection.GetAttribute<Evaluation.Expression>("guard.hittime", null); m_airhittime = textsection.GetAttribute<Evaluation.Expression>("air.hittime", null); m_guardctrltime = textsection.GetAttribute<Evaluation.Expression>("guard.ctrltime", null); m_guarddistance = textsection.GetAttribute<Evaluation.Expression>("guard.dist", null); m_yaccel = textsection.GetAttribute<Evaluation.Expression>("yaccel", null); m_groundvelocity = textsection.GetAttribute<Evaluation.Expression>("ground.velocity", null); m_guardvelocity = textsection.GetAttribute<Evaluation.Expression>("guard.velocity", null); m_airvelocity = textsection.GetAttribute<Evaluation.Expression>("air.velocity", null); m_airguardvelocity = textsection.GetAttribute<Evaluation.Expression>("airguard.velocity", null); m_groundcornerpushoff = textsection.GetAttribute<Evaluation.Expression>("ground.cornerpush.veloff", null); m_aircornerpushoff = textsection.GetAttribute<Evaluation.Expression>("air.cornerpush.veloff", null); m_downcornerpushoff = textsection.GetAttribute<Evaluation.Expression>("down.cornerpush.veloff", null); m_guardcornerpushoff = textsection.GetAttribute<Evaluation.Expression>("guard.cornerpush.veloff", null); m_airguardcornerpushoff = textsection.GetAttribute<Evaluation.Expression>("airguard.cornerpush.veloff", null); m_airguardctrltime = textsection.GetAttribute<Evaluation.Expression>("airguard.ctrltime", null); m_airjuggle = textsection.GetAttribute<Evaluation.Expression>("air.juggle", null); m_mindistance = textsection.GetAttribute<Evaluation.Expression>("mindist", null); m_maxdistance = textsection.GetAttribute<Evaluation.Expression>("maxdist", null); m_snap = textsection.GetAttribute<Evaluation.Expression>("snap", null); m_p1spritepriority = textsection.GetAttribute<Evaluation.Expression>("p1sprpriority", null); m_p2spritepriority = textsection.GetAttribute<Evaluation.Expression>("p2sprpriority", null); m_p1facing = textsection.GetAttribute<Evaluation.Expression>("p1facing", null); m_p1getp2facing = textsection.GetAttribute<Evaluation.Expression>("p1getp2facing", null); m_p2facing = textsection.GetAttribute<Evaluation.Expression>("p2facing", null); m_p1statenumber = textsection.GetAttribute<Evaluation.Expression>("p1stateno", null); m_p2statenumber = textsection.GetAttribute<Evaluation.Expression>("p2stateno", null); m_p2getp1state = textsection.GetAttribute<Evaluation.Expression>("p2getp1state", null); m_forcestand = textsection.GetAttribute<Evaluation.Expression>("forcestand", null); m_fall = textsection.GetAttribute<Evaluation.Expression>("fall", null); m_fallxvelocity = textsection.GetAttribute<Evaluation.Expression>("fall.xvelocity", null); m_fallyvelocity = textsection.GetAttribute<Evaluation.Expression>("fall.yvelocity", null); m_fallrecover = textsection.GetAttribute<Evaluation.Expression>("fall.recover", null); m_fallrecovertime = textsection.GetAttribute<Evaluation.Expression>("fall.recovertime", null); m_falldamage = textsection.GetAttribute<Evaluation.Expression>("fall.damage", null); m_airfall = textsection.GetAttribute<Evaluation.Expression>("air.fall", null); m_downvelocity = textsection.GetAttribute<Evaluation.Expression>("down.velocity", null); m_downhittime = textsection.GetAttribute<Evaluation.Expression>("down.hittime", null); m_downbounce = textsection.GetAttribute<Evaluation.Expression>("down.bounce", null); m_targetid = textsection.GetAttribute<Evaluation.Expression>("id", null); m_chainid = textsection.GetAttribute<Evaluation.Expression>("chainid", null); m_nochainid = textsection.GetAttribute<Evaluation.Expression>("nochainid", null); m_hitonce = textsection.GetAttribute<Evaluation.Expression>("hitonce", null); m_kill = textsection.GetAttribute<Evaluation.Expression>("kill", null); m_guardkill = textsection.GetAttribute<Evaluation.Expression>("guard.kill", null); m_fallkill = textsection.GetAttribute<Evaluation.Expression>("fall.kill", null); m_numberofhits = textsection.GetAttribute<Evaluation.Expression>("numhits", null); m_p1powerincrease = textsection.GetAttribute<Evaluation.Expression>("getpower", null); m_p2powerincrease = textsection.GetAttribute<Evaluation.Expression>("givepower", null); m_paltime = textsection.GetAttribute<Evaluation.Expression>("palfx.time", null); m_palmul = textsection.GetAttribute<Evaluation.Expression>("palfx.mul", null); m_paladd = textsection.GetAttribute<Evaluation.Expression>("palfx.add", null); m_palsinadd = textsection.GetAttribute<Evaluation.Expression>("palfx.sinadd", null); m_palinvert = textsection.GetAttribute<Evaluation.Expression>("palfx.invertall", null); m_palcolor = textsection.GetAttribute<Evaluation.Expression>("palfx.color", null); m_shaketime = textsection.GetAttribute<Evaluation.Expression>("envshake.time", null); m_shakefreq = textsection.GetAttribute<Evaluation.Expression>("envshake.freq", null); m_shakeamplitude = textsection.GetAttribute<Evaluation.Expression>("envshake.ampl", null); m_shakephaseoffset = textsection.GetAttribute<Evaluation.Expression>("envshake.phase", null); m_fallshaketime = textsection.GetAttribute<Evaluation.Expression>("fall.envshake.time", null); m_fallshakefreq = textsection.GetAttribute<Evaluation.Expression>("fall.envshake.freq", null); m_fallshakeamplitude = textsection.GetAttribute<Evaluation.Expression>("fall.envshake.ampl", null); m_fallshakephaseoffset = textsection.GetAttribute<Evaluation.Expression>("fall.envshake.phase", null); m_attackwidth = textsection.GetAttribute<Evaluation.Expression>("attack.width", null); #warning Note this. #if EMULATE_ENGINE_BUG if (m_hitanimtype == HitAnimationType.Back) m_hitanimtype = HitAnimationType.Hard; m_palcolor = null; #endif }