Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public byte modifiedCatchRate(ItemBait aItem) {
- //(3 × HPmax - 2 × HPcurrent) × (rate × bonusball) / (3 × HPmax) + bonusstatus
- float bonusValues = 0f;
- if((this.StatusEffects&EStatusEffects.Burn)==EStatusEffects.Burn) bonusValues += 5f;
- if((this.StatusEffects&EStatusEffects.Confusion)==EStatusEffects.Confusion) bonusValues += 2.5f;
- if((this.StatusEffects&EStatusEffects.Freeze)==EStatusEffects.Freeze) bonusValues += 10f;
- if((this.StatusEffects&EStatusEffects.Paralyze)==EStatusEffects.Paralyze) bonusValues += 10f;
- if((this.StatusEffects&EStatusEffects.Poison)==EStatusEffects.Poison) bonusValues += 2.5f;
- if((this.StatusEffects&EStatusEffects.Sleep)==EStatusEffects.Sleep) bonusValues += 10f;
- int catchRate = monsterBreedRef.catchRate;
- float ballStrength = aItem.ballStrength;
- float catchRateAsFloat = catchRate;
- float dividedBallStrength = ballStrength;
- float mulitpliedCatchBall = catchRateAsFloat*dividedBallStrength;
- if(mulitpliedCatchBall<1f) {
- mulitpliedCatchBall = 1f;
- } else if(mulitpliedCatchBall>1000f) {
- mulitpliedCatchBall = 1000f;
- }
- float rate = (3 * MaxHP - 2 * hp) * (mulitpliedCatchBall) / (3 * MaxHP) + bonusValues;
- if(rate>255) {
- return byte.MaxValue;
- }
- if(rate<0) {
- return 0;
- }
- return Convert.ToByte(rate);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement