public byte skillCastDmgTypeCalculations(Fightable chr, Fightable target, bool canCrit) { byte dmgType; //successrate to hit if (chr.getAtkSuc() >= target.getDefSuc() || (int)(Randomizer.NextInt(2) / (Math.Pow(2, (float)-(target.getDefSuc() - chr.getAtkSuc()) / 400f))) == 0) { if (chr.getCritRate() >= target.getDefSuc() || (int)(Randomizer.NextInt(2) / (Math.Pow(2, (float)-(target.getDefSuc() - chr.getCritRate()) / 200f))) == 0) { if (canCrit && (int)(Randomizer.NextInt(2) * 50) == 0) { dmgType = 5; } else { dmgType = 2; } } else { dmgType = 1; } } else { dmgType = 0; } return(dmgType); }
void Awake() { fightable = PlayerController.instance.player.GetComponent <Fightable>(); HPSlider = GetComponent <Slider>(); maxHP = fightable.maxHealth; HPSlider.maxValue = maxHP; curHP = maxHP; }
void Start() { if (m_fsm != null) { StateMove stateMove = new StateMove(); StateIdle stateIdle = new StateIdle(); stateIdle.AddTransition(FSMTransition.MOVE, FSMStateId.STATE_MOVE); stateMove.AddTransition(FSMTransition.STOP_MOVE, FSMStateId.STATE_IDLE); m_fsm.AddState(stateIdle); m_fsm.AddState(stateMove); m_fsm.CurrentState = stateIdle; } m_spatial = gameObject.GetComponent <Spatial>(); m_fighter = gameObject.GetComponent <Fightable>(); }
void Start() { if (m_fsm != null) { StateMove stateMove = new StateMove(); StateIdle stateIdle = new StateIdle(); stateIdle.AddTransition(FSMTransition.MOVE, FSMStateId.STATE_MOVE); stateMove.AddTransition(FSMTransition.STOP_MOVE, FSMStateId.STATE_IDLE); m_fsm.AddState(stateIdle); m_fsm.AddState(stateMove); m_fsm.CurrentState = stateIdle; } m_spatial = gameObject.GetComponent<Spatial>(); m_fighter = gameObject.GetComponent<Fightable>(); }
public byte skillCastDmgTypeCalculations(Fightable chr, Fightable target, bool canCrit) { byte dmgType; //successrate to hit if(chr.getAtkSuc()>=target.getDefSuc() || (int)(Randomizer.NextInt(2)/(Math.Pow(2,(float)-(target.getDefSuc()-chr.getAtkSuc())/400f)))==0) { if(chr.getCritRate()>=target.getDefSuc() || (int)(Randomizer.NextInt(2)/(Math.Pow(2,(float)-(target.getDefSuc()-chr.getCritRate())/200f)))==0) { if(canCrit && (int)(Randomizer.NextInt(2)*50)==0) { dmgType=5; } else { dmgType=2; } }else{ dmgType=1; } }else{ dmgType=0; } return dmgType; }