public static byte[] Upgrade(byte[] invoker, BigInteger feature) { Player player = FindPlayer(invoker); BigInteger lvl = -1; if (feature == 0) { lvl = player.lvlAtk; } else if (feature == 1) { lvl = player.lvlDef; } else if (feature == 2) { lvl = player.lvlSpd; } else if (feature == 3) { lvl = player.lvlHP; } else if (feature == 4) { lvl = player.lvlRev; } int f = Op.BigInt2Int(feature); BigInteger[] pimetals = AmountUpgrade(f, lvl + 1); if (player.water >= pimetals[0] && player.soil >= pimetals[1] && player.wind >= pimetals[2] && player.fire >= pimetals[3]) { player.water -= pimetals[0]; player.soil -= pimetals[1]; player.wind -= pimetals[2]; player.fire -= pimetals[3]; if (feature == 0) { player.lvlAtk += 1; } else if (feature == 1) { player.lvlDef += 1; } else if (feature == 2) { player.lvlSpd += 1; } else if (feature == 3) { player.lvlHP += 1; } else if (feature == 4) { player.lvlRev += 1; } return(NuTP.RespDataSuccess()); } else { return(NuTP.RespDataWithCode(NuTP.SysDom, NuTP.Code.BadRequest)); } }