mirror of
https://github.com/Shu-Ying/main_plugin_farm.git
synced 2026-11-02 18:50:08 +08:00
🐛 修复星级作物统计收获次数BUG;修复播种时升星BUG
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import math
|
import math
|
||||||
|
import re
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
|
|
||||||
@@ -405,18 +406,29 @@ class CUserSoilDB(CSqlManager):
|
|||||||
prev = soilInfo or {}
|
prev = soilInfo or {}
|
||||||
await cls._deleteUserSoil(uid, soilIndex)
|
await cls._deleteUserSoil(uid, soilIndex)
|
||||||
# 根据此植物收获次数对其星级进行升级
|
# 根据此植物收获次数对其星级进行升级
|
||||||
if g_pDBService.plant.existsPlant("一星" + plantName):
|
# 为避免对已带星级前缀的作物重复添加前缀,先提取基础名称
|
||||||
|
base_name = plantName
|
||||||
|
m = re.match(r"^(?:一星|二星|三星|四星|五星)", plantName)
|
||||||
|
if m:
|
||||||
|
base_name = plantName[len(m.group(0)) :]
|
||||||
|
|
||||||
|
# 只有当存在一星升级配置时才尝试按收获次数升级
|
||||||
|
if await g_pDBService.plant.existsPlant("一星" + base_name):
|
||||||
harvestCounts = (
|
harvestCounts = (
|
||||||
await g_pDBService.userPlantCount.getUserPlantCountByPlantName(
|
await g_pDBService.userPlantCount.getUserPlantCountByPlantName(
|
||||||
uid, plantName
|
uid, base_name
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if harvestCounts >= 350:
|
# 根据阈值设定最高星级(避免重复拼接)
|
||||||
plantName = "一星" + plantName
|
prefix = ""
|
||||||
if harvestCounts >= 700:
|
|
||||||
plantName = "二星" + plantName
|
|
||||||
if harvestCounts >= 1200:
|
if harvestCounts >= 1200:
|
||||||
plantName = "三星" + plantName
|
prefix = "三星"
|
||||||
|
elif harvestCounts >= 700:
|
||||||
|
prefix = "二星"
|
||||||
|
elif harvestCounts >= 350:
|
||||||
|
prefix = "一星"
|
||||||
|
|
||||||
|
plantName = prefix + base_name if prefix else base_name
|
||||||
|
|
||||||
await cls._insertUserSoil(
|
await cls._insertUserSoil(
|
||||||
{
|
{
|
||||||
|
|||||||
+5
-5
@@ -1,5 +1,6 @@
|
|||||||
import math
|
import math
|
||||||
import random
|
import random
|
||||||
|
import re
|
||||||
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.models.user_console import UserConsole
|
from zhenxun.models.user_console import UserConsole
|
||||||
@@ -631,12 +632,11 @@ class CFarmManager:
|
|||||||
|
|
||||||
# 统计收获次数
|
# 统计收获次数
|
||||||
try:
|
try:
|
||||||
# 统一处理星级植物名称
|
# 处理星级前缀(只在前两字为 一星/二星/三星/四星/五星 时去掉前缀)
|
||||||
plant_name = soilInfo["plantName"]
|
plant_name = soilInfo["plantName"]
|
||||||
|
m = re.match(r"^(?:一星|二星|三星|四星|五星)", plant_name)
|
||||||
# 简单判断是否包含"星",如果包含则分割取后半部分
|
if m:
|
||||||
if "星" in plant_name:
|
plant_name = plant_name[len(m.group(0)) :]
|
||||||
plant_name = plant_name.split("星", 1)[-1]
|
|
||||||
|
|
||||||
await g_pDBService.userPlantCount.addUserPlantCountByUid(
|
await g_pDBService.userPlantCount.addUserPlantCountByUid(
|
||||||
uid, plant_name
|
uid, plant_name
|
||||||
|
|||||||
Reference in New Issue
Block a user