From aac5d35aa2cf8e63b9dbfc270e6ef3bdd329a0af Mon Sep 17 00:00:00 2001 From: milimoe Date: Wed, 19 Nov 2025 00:08:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B8=E8=BF=90=E7=89=A9=E5=BA=94=E5=B1=9E?= =?UTF-8?q?=E4=BA=8E=E6=94=B6=E8=97=8F=E5=93=81=E5=88=86=E7=B1=BB=EF=BC=9B?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=B9=B8=E8=BF=90=E7=89=A9=E5=8F=91?= =?UTF-8?q?=E6=94=BE=E5=88=B0=E5=BA=93=E5=AD=98=E7=9A=84=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=9B=E5=9B=BE=E7=89=87=E4=B8=8A=E4=BC=A0=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E4=B9=9F=E4=B8=8D=E5=BD=B1=E5=93=8D=E5=9B=9E=E5=A4=8D=E8=BF=90?= =?UTF-8?q?=E5=8A=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{SpecialItem => Collectible}/幸运物.cs | 172 +++++++++--------- OshimaModules/Items/ItemID.cs | 92 +++++----- OshimaModules/Modules/ItemModule.cs | 86 ++++----- OshimaServers/Service/FunGameService.cs | 1 + OshimaWebAPI/Controllers/FunGameController.cs | 48 +++++ OshimaWebAPI/Services/RainBOTService.cs | 25 ++- 6 files changed, 247 insertions(+), 177 deletions(-) rename OshimaModules/Items/{SpecialItem => Collectible}/幸运物.cs (71%) diff --git a/OshimaModules/Items/SpecialItem/幸运物.cs b/OshimaModules/Items/Collectible/幸运物.cs similarity index 71% rename from OshimaModules/Items/SpecialItem/幸运物.cs rename to OshimaModules/Items/Collectible/幸运物.cs index 21ad9db..c168c4b 100644 --- a/OshimaModules/Items/SpecialItem/幸运物.cs +++ b/OshimaModules/Items/Collectible/幸运物.cs @@ -3,345 +3,345 @@ using Milimoe.FunGame.Core.Library.Constant; namespace Oshima.FunGame.OshimaModules.Items { - public class 青松() : Item(ItemType.SpecialItem) + public class 青松() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.青松; + public override long Id => (long)CollectibleID.青松; public override string Name => nameof(青松); public override string Description => "青松即使在风雪中也保持着生命的坚韧,象征着永不放弃的精神。"; public override QualityType QualityType => QualityType.White; } - public class 流星石() : Item(ItemType.SpecialItem) + public class 流星石() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.流星石; + public override long Id => (long)CollectibleID.流星石; public override string Name => nameof(流星石); public override string Description => "据说,捕捉到流星的人,能实现一个愿望。不妨许下心愿,心诚则灵。"; public override QualityType QualityType => QualityType.White; } - public class 向日葵() : Item(ItemType.SpecialItem) + public class 向日葵() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.向日葵; + public override long Id => (long)CollectibleID.向日葵; public override string Name => nameof(向日葵); public override string Description => "向日葵永远追随太阳,就像你的好运追随着你的每一步。"; public override QualityType QualityType => QualityType.White; } - public class 金铃花() : Item(ItemType.SpecialItem) + public class 金铃花() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.金铃花; + public override long Id => (long)CollectibleID.金铃花; public override string Name => nameof(金铃花); public override string Description => "金铃花象征着辉煌与幸运,提醒你要抓住每一个闪光的时刻。"; public override QualityType QualityType => QualityType.White; } - public class 琉璃珠() : Item(ItemType.SpecialItem) + public class 琉璃珠() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.琉璃珠; + public override long Id => (long)CollectibleID.琉璃珠; public override string Name => nameof(琉璃珠); public override string Description => "琉璃珠晶莹剔透,代表着纯净与希望,预示着你的好运将如彩虹般绚丽。"; public override QualityType QualityType => QualityType.White; } - public class 鸣草() : Item(ItemType.SpecialItem) + public class 鸣草() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.鸣草; + public override long Id => (long)CollectibleID.鸣草; public override string Name => nameof(鸣草); public override string Description => "向往着雷神大人的青睐,只在稻妻列岛上生长。摘下鸣草时酥酥麻麻的触感,据说和幸福的滋味很像。"; public override QualityType QualityType => QualityType.White; } - public class 马尾() : Item(ItemType.SpecialItem) + public class 马尾() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.马尾; + public override long Id => (long)CollectibleID.马尾; public override string Name => nameof(马尾); public override string Description => "马尾随大片荻草生长,但却更为挺拔。与傲然挺立于此世的你一定很是相配。"; public override QualityType QualityType => QualityType.White; } - public class 鬼兜虫() : Item(ItemType.SpecialItem) + public class 鬼兜虫() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.鬼兜虫; + public override long Id => (long)CollectibleID.鬼兜虫; public override string Name => nameof(鬼兜虫); public override string Description => "鬼兜虫是爱好和平、不愿意争斗的小生物。这份追求平和的心一定能为你带来幸福吧。"; public override QualityType QualityType => QualityType.White; } - public class 烈焰花花蕊() : Item(ItemType.SpecialItem) + public class 烈焰花花蕊() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.烈焰花花蕊; + public override long Id => (long)CollectibleID.烈焰花花蕊; public override string Name => nameof(烈焰花花蕊); public override string Description => "烈焰花的炙热来自于火辣辣的花心。万事顺利是因为心中自有一条明路。"; public override QualityType QualityType => QualityType.White; } - public class 堇瓜() : Item(ItemType.SpecialItem) + public class 堇瓜() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.堇瓜; + public override long Id => (long)CollectibleID.堇瓜; public override string Name => nameof(堇瓜); public override string Description => "人们常说表里如一是美德,但堇瓜明艳的外貌下隐藏着的是谦卑而甘甜的内在。"; public override QualityType QualityType => QualityType.White; } - public class 水晶球() : Item(ItemType.SpecialItem) + public class 水晶球() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.水晶球; + public override long Id => (long)CollectibleID.水晶球; public override string Name => nameof(水晶球); public override string Description => "水晶象征着纯净与洞察力,帮助你看清未来的路。"; public override QualityType QualityType => QualityType.White; } - public class 薰衣草() : Item(ItemType.SpecialItem) + public class 薰衣草() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.薰衣草; + public override long Id => (long)CollectibleID.薰衣草; public override string Name => nameof(薰衣草); public override string Description => "薰衣草的香气能安抚心灵,象征着宁静与放松,提醒你要在忙碌中找到内心的平和。"; public override QualityType QualityType => QualityType.White; } - public class 青石() : Item(ItemType.SpecialItem) + public class 青石() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.青石; + public override long Id => (long)CollectibleID.青石; public override string Name => nameof(青石); public override string Description => "青石虽不起眼,却象征着坚韧与持久,寓意着你脚踏实地的每一步都会累积成未来的成功。"; public override QualityType QualityType => QualityType.White; } - public class 莲花() : Item(ItemType.SpecialItem) + public class 莲花() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.莲花; + public override long Id => (long)CollectibleID.莲花; public override string Name => nameof(莲花); public override string Description => "莲花在泥中绽放,象征着净化与重生,愿你心中平和坚定。"; public override QualityType QualityType => QualityType.White; } - public class 陶罐() : Item(ItemType.SpecialItem) + public class 陶罐() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.陶罐; + public override long Id => (long)CollectibleID.陶罐; public override string Name => nameof(陶罐); public override string Description => "陶罐虽不起眼,却有着悠久的历史和稳定的实用性,寓意安稳平和。"; public override QualityType QualityType => QualityType.White; } - public class 海灵芝() : Item(ItemType.SpecialItem) + public class 海灵芝() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.海灵芝; + public override long Id => (long)CollectibleID.海灵芝; public override string Name => nameof(海灵芝); public override string Description => "弱小的海灵芝虫经历多年的风风雨雨,才能结成海灵芝。为目标而努力前行的人们,最终也必将拥有胜利的果实。"; public override QualityType QualityType => QualityType.White; } - public class 四叶草() : Item(ItemType.SpecialItem) + public class 四叶草() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.四叶草; + public override long Id => (long)CollectibleID.四叶草; public override string Name => nameof(四叶草); public override string Description => "四叶草的每一片叶子都代表着好运、健康、爱情和财富。带上一片四叶草,收获一整天的幸运吧。"; public override QualityType QualityType => QualityType.White; } - public class 露珠() : Item(ItemType.SpecialItem) + public class 露珠() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.露珠; + public override long Id => (long)CollectibleID.露珠; public override string Name => nameof(露珠); public override string Description => "露珠是清晨的祝福,虽然短暂,但每一滴都晶莹剔透。"; public override QualityType QualityType => QualityType.White; } - public class 茉莉花() : Item(ItemType.SpecialItem) + public class 茉莉花() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.茉莉花; + public override long Id => (long)CollectibleID.茉莉花; public override string Name => nameof(茉莉花); public override string Description => "茉莉花的香气淡雅而持久,给人宁静与舒适的感觉。"; public override QualityType QualityType => QualityType.White; } - public class 绿萝() : Item(ItemType.SpecialItem) + public class 绿萝() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.绿萝; + public override long Id => (long)CollectibleID.绿萝; public override string Name => nameof(绿萝); public override string Description => "绿萝坚韧耐阴,象征着生命的顽强与希望,提醒你在平静中也能找到力量。"; public override QualityType QualityType => QualityType.White; } - public class 檀木扇() : Item(ItemType.SpecialItem) + public class 檀木扇() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.檀木扇; + public override long Id => (long)CollectibleID.檀木扇; public override string Name => nameof(檀木扇); public override string Description => "檀木扇散发着淡雅的香气,象征着沉稳与内敛,让你在宁静中感受力量。"; public override QualityType QualityType => QualityType.White; } - public class 鸟蛋() : Item(ItemType.SpecialItem) + public class 鸟蛋() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.鸟蛋; + public override long Id => (long)CollectibleID.鸟蛋; public override string Name => nameof(鸟蛋); public override string Description => "鸟蛋孕育着无限的可能性,是未来之种。反过来,这个世界对鸟蛋中的生命而言,也充满了令其兴奋的未知事物吧。要温柔对待鸟蛋喔。"; public override QualityType QualityType => QualityType.White; } - public class 竹笋() : Item(ItemType.SpecialItem) + public class 竹笋() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.竹笋; + public override long Id => (long)CollectibleID.竹笋; public override string Name => nameof(竹笋); public override string Description => "竹笋拥有着无限的潜力,没有人知道一颗竹笋,到底能长成多高的竹子。看着竹笋,会让人不由自主期待起未来吧。"; public override QualityType QualityType => QualityType.White; } - public class 晶核() : Item(ItemType.SpecialItem) + public class 晶核() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.晶核; + public override long Id => (long)CollectibleID.晶核; public override string Name => nameof(晶核); public override string Description => "晶蝶是凝聚天地间的元素,而长成的细小生物。而元素是这个世界许以天地当中的人们的祝福。"; public override QualityType QualityType => QualityType.White; } - public class 手工围巾() : Item(ItemType.SpecialItem) + public class 手工围巾() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.手工围巾; + public override long Id => (long)CollectibleID.手工围巾; public override string Name => nameof(手工围巾); public override string Description => "手工围巾的每一针每一线都饱含着爱意,提醒你要珍惜眼前的人。"; public override QualityType QualityType => QualityType.White; } - public class 柳条篮() : Item(ItemType.SpecialItem) + public class 柳条篮() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.柳条篮; + public override long Id => (long)CollectibleID.柳条篮; public override string Name => nameof(柳条篮); public override string Description => "柳条篮细密结实,寓意着人与人之间的深厚情感,提醒你珍惜生活中的点滴温情。"; public override QualityType QualityType => QualityType.White; } - public class 风筝() : Item(ItemType.SpecialItem) + public class 风筝() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.风筝; + public override long Id => (long)CollectibleID.风筝; public override string Name => nameof(风筝); public override string Description => "风筝在天空中自由翱翔,提醒你即使在平凡的日子里,也要心怀梦想,勇敢飞翔。"; public override QualityType QualityType => QualityType.White; } - public class 羽毛() : Item(ItemType.SpecialItem) + public class 羽毛() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.羽毛; + public override long Id => (long)CollectibleID.羽毛; public override string Name => nameof(羽毛); public override string Description => "羽毛虽轻,但象征着自由与轻盈,提醒你在轻松中前行。"; public override QualityType QualityType => QualityType.White; } - public class 发光髓() : Item(ItemType.SpecialItem) + public class 发光髓() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.发光髓; + public override long Id => (long)CollectibleID.发光髓; public override string Name => nameof(发光髓); public override string Description => "发光髓努力地发出微弱的光芒。虽然比不过其他光源,但看清前路也够用了。"; public override QualityType QualityType => QualityType.White; } - public class 紫罗兰() : Item(ItemType.SpecialItem) + public class 紫罗兰() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.紫罗兰; + public override long Id => (long)CollectibleID.紫罗兰; public override string Name => nameof(紫罗兰); public override string Description => "紫罗兰象征着谦逊和内在的力量,即使在逆境中也能默默绽放。"; public override QualityType QualityType => QualityType.White; } - public class 松果() : Item(ItemType.SpecialItem) + public class 松果() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.松果; + public override long Id => (long)CollectibleID.松果; public override string Name => nameof(松果); public override string Description => "并不是所有的松果都能长成高大的松树,成长需要适宜的环境,更需要一点运气。所以不用给自己过多压力,耐心等待彩虹吧。"; public override QualityType QualityType => QualityType.White; } - public class 电气水晶() : Item(ItemType.SpecialItem) + public class 电气水晶() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.电气水晶; + public override long Id => (long)CollectibleID.电气水晶; public override string Name => nameof(电气水晶); public override string Description => "电气水晶蕴含着无限的能量。如果能够好好导引这股能量,说不定就能成就什么事业。"; public override QualityType QualityType => QualityType.White; } - public class 薄荷() : Item(ItemType.SpecialItem) + public class 薄荷() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.薄荷; + public override long Id => (long)CollectibleID.薄荷; public override string Name => nameof(薄荷); public override string Description => "只要有草木生长的空间,就一定有薄荷。这么看来,薄荷是世界上最强韧的生灵。据说连蒙德的雪山上也长着薄荷呢。"; public override QualityType QualityType => QualityType.White; } - public class 竹节() : Item(ItemType.SpecialItem) + public class 竹节() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.竹节; + public override long Id => (long)CollectibleID.竹节; public override string Name => nameof(竹节); public override string Description => "竹节虽然看似脆弱,但却有着极强的韧性,提醒你在困难面前要保持坚毅的心态。"; public override QualityType QualityType => QualityType.White; } - public class 铁砧() : Item(ItemType.SpecialItem) + public class 铁砧() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.铁砧; + public override long Id => (long)CollectibleID.铁砧; public override string Name => nameof(铁砧); public override string Description => "铁砧坚固无比,象征着在困境中保持坚强的信念,提醒你在风雨中不动摇。"; public override QualityType QualityType => QualityType.White; } - public class 冰雾花() : Item(ItemType.SpecialItem) + public class 冰雾花() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.冰雾花; + public override long Id => (long)CollectibleID.冰雾花; public override string Name => nameof(冰雾花); public override string Description => "冰雾花散发着「生人勿进」的寒气。但有时冰冷的气质,也能让人的心情与头脑冷静下来。据此采取正确的判断,明智地行动。"; public override QualityType QualityType => QualityType.White; } - public class 海草() : Item(ItemType.SpecialItem) + public class 海草() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.海草; + public override long Id => (long)CollectibleID.海草; public override string Name => nameof(海草); public override string Description => "海草是相当温柔而坚强的植物,即使在苦涩的海水中,也不愿改变自己。即使在逆境中,也不要放弃温柔的心灵。"; public override QualityType QualityType => QualityType.White; } - public class 磐石() : Item(ItemType.SpecialItem) + public class 磐石() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.磐石; + public override long Id => (long)CollectibleID.磐石; public override string Name => nameof(磐石); public override string Description => "磐石虽沉重,但象征着稳定与耐心,今天你需要的正是这份定力。"; public override QualityType QualityType => QualityType.White; } - public class 砂砾() : Item(ItemType.SpecialItem) + public class 砂砾() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.砂砾; + public override long Id => (long)CollectibleID.砂砾; public override string Name => nameof(砂砾); public override string Description => "砂砾虽微小,却是坚固大地的一部分,提醒你在困难中也要保持坚韧。"; public override QualityType QualityType => QualityType.White; } - public class 铁甲贝壳() : Item(ItemType.SpecialItem) + public class 铁甲贝壳() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.铁甲贝壳; + public override long Id => (long)CollectibleID.铁甲贝壳; public override string Name => nameof(铁甲贝壳); public override string Description => "坚硬的外壳保护着脆弱的内心。有时适当的防护,能让你更加安全。"; public override QualityType QualityType => QualityType.White; } - public class 蜥蜴尾巴() : Item(ItemType.SpecialItem) + public class 蜥蜴尾巴() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.蜥蜴尾巴; + public override long Id => (long)CollectibleID.蜥蜴尾巴; public override string Name => nameof(蜥蜴尾巴); public override string Description => "蜥蜴遇到潜在的危险时,大多数会断尾求生。若是遇到无法整理的情绪,那么该断则断吧。"; public override QualityType QualityType => QualityType.White; } - public class 古老钟摆() : Item(ItemType.SpecialItem) + public class 古老钟摆() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.古老钟摆; + public override long Id => (long)CollectibleID.古老钟摆; public override string Name => nameof(古老钟摆); public override string Description => "尽管钟摆已停,但时间仍在前行。即使眼下步履维艰,也终会走出黑暗。"; public override QualityType QualityType => QualityType.White; } - public class 枯藤() : Item(ItemType.SpecialItem) + public class 枯藤() : Item(ItemType.Collectible) { - public override long Id => (long)SpecialItemID.枯藤; + public override long Id => (long)CollectibleID.枯藤; public override string Name => nameof(枯藤); public override string Description => "枯藤虽已失去生机,但春天的复苏指日可待,提醒你在低谷中也要坚守希望。"; public override QualityType QualityType => QualityType.White; diff --git a/OshimaModules/Items/ItemID.cs b/OshimaModules/Items/ItemID.cs index ba1f2ee..4b45d57 100644 --- a/OshimaModules/Items/ItemID.cs +++ b/OshimaModules/Items/ItemID.cs @@ -31,6 +31,53 @@ 全回复药 = 15016 } + public enum CollectibleID + { + 青松 = 17001, + 流星石 = 17002, + 向日葵 = 17003, + 金铃花 = 17004, + 琉璃珠 = 17005, + 鸣草 = 17006, + 马尾 = 17007, + 鬼兜虫 = 17008, + 烈焰花花蕊 = 17009, + 堇瓜 = 17010, + 水晶球 = 17011, + 薰衣草 = 17012, + 青石 = 17013, + 莲花 = 17014, + 陶罐 = 17015, + 海灵芝 = 17016, + 四叶草 = 17017, + 露珠 = 17018, + 茉莉花 = 17019, + 绿萝 = 17020, + 檀木扇 = 17021, + 鸟蛋 = 17022, + 竹笋 = 17023, + 晶核 = 17024, + 手工围巾 = 17025, + 柳条篮 = 17026, + 风筝 = 17027, + 羽毛 = 17028, + 发光髓 = 17029, + 紫罗兰 = 17030, + 松果 = 17031, + 电气水晶 = 17032, + 薄荷 = 17033, + 竹节 = 17034, + 铁砧 = 17035, + 冰雾花 = 17036, + 海草 = 17037, + 磐石 = 17038, + 砂砾 = 17039, + 铁甲贝壳 = 17040, + 蜥蜴尾巴 = 17041, + 古老钟摆 = 17042, + 枯藤 = 17043 + } + public enum SpecialItemID : long { 升华之印 = 18001, @@ -48,50 +95,7 @@ 法则精粹 = 18013, 大师锻造券 = 18014, 钻石 = 18998, - 探索许可 = 18999, - 青松 = 18921, - 流星石 = 18922, - 向日葵 = 18923, - 金铃花 = 18924, - 琉璃珠 = 18925, - 鸣草 = 18926, - 马尾 = 18927, - 鬼兜虫 = 18928, - 烈焰花花蕊 = 18929, - 堇瓜 = 18930, - 水晶球 = 18931, - 薰衣草 = 18932, - 青石 = 18933, - 莲花 = 18934, - 陶罐 = 18935, - 海灵芝 = 18936, - 四叶草 = 18937, - 露珠 = 18938, - 茉莉花 = 18939, - 绿萝 = 18940, - 檀木扇 = 18941, - 鸟蛋 = 18942, - 竹笋 = 18943, - 晶核 = 18944, - 手工围巾 = 18945, - 柳条篮 = 18946, - 风筝 = 18947, - 羽毛 = 18948, - 发光髓 = 18949, - 紫罗兰 = 18950, - 松果 = 18951, - 电气水晶 = 18952, - 薄荷 = 18953, - 竹节 = 18954, - 铁砧 = 18955, - 冰雾花 = 18956, - 海草 = 18957, - 磐石 = 18958, - 砂砾 = 18959, - 铁甲贝壳 = 18960, - 蜥蜴尾巴 = 18961, - 古老钟摆 = 18962, - 枯藤 = 18963 + 探索许可 = 18999 } public enum GiftBoxID : long diff --git a/OshimaModules/Modules/ItemModule.cs b/OshimaModules/Modules/ItemModule.cs index 7a3d1c4..be67964 100644 --- a/OshimaModules/Modules/ItemModule.cs +++ b/OshimaModules/Modules/ItemModule.cs @@ -45,6 +45,49 @@ namespace Oshima.FunGame.OshimaModules (long)ConsumableID.小经验书 => new 小经验书(), (long)ConsumableID.中经验书 => new 中经验书(), (long)ConsumableID.大经验书 => new 大经验书(), + (long)CollectibleID.青松 => new 青松(), + (long)CollectibleID.流星石 => new 流星石(), + (long)CollectibleID.向日葵 => new 向日葵(), + (long)CollectibleID.金铃花 => new 金铃花(), + (long)CollectibleID.琉璃珠 => new 琉璃珠(), + (long)CollectibleID.鸣草 => new 鸣草(), + (long)CollectibleID.马尾 => new 马尾(), + (long)CollectibleID.鬼兜虫 => new 鬼兜虫(), + (long)CollectibleID.烈焰花花蕊 => new 烈焰花花蕊(), + (long)CollectibleID.堇瓜 => new 堇瓜(), + (long)CollectibleID.水晶球 => new 水晶球(), + (long)CollectibleID.薰衣草 => new 薰衣草(), + (long)CollectibleID.青石 => new 青石(), + (long)CollectibleID.莲花 => new 莲花(), + (long)CollectibleID.陶罐 => new 陶罐(), + (long)CollectibleID.海灵芝 => new 海灵芝(), + (long)CollectibleID.四叶草 => new 四叶草(), + (long)CollectibleID.露珠 => new 露珠(), + (long)CollectibleID.茉莉花 => new 茉莉花(), + (long)CollectibleID.绿萝 => new 绿萝(), + (long)CollectibleID.檀木扇 => new 檀木扇(), + (long)CollectibleID.鸟蛋 => new 鸟蛋(), + (long)CollectibleID.竹笋 => new 竹笋(), + (long)CollectibleID.晶核 => new 晶核(), + (long)CollectibleID.手工围巾 => new 手工围巾(), + (long)CollectibleID.柳条篮 => new 柳条篮(), + (long)CollectibleID.风筝 => new 风筝(), + (long)CollectibleID.羽毛 => new 羽毛(), + (long)CollectibleID.发光髓 => new 发光髓(), + (long)CollectibleID.紫罗兰 => new 紫罗兰(), + (long)CollectibleID.松果 => new 松果(), + (long)CollectibleID.电气水晶 => new 电气水晶(), + (long)CollectibleID.薄荷 => new 薄荷(), + (long)CollectibleID.竹节 => new 竹节(), + (long)CollectibleID.铁砧 => new 铁砧(), + (long)CollectibleID.冰雾花 => new 冰雾花(), + (long)CollectibleID.海草 => new 海草(), + (long)CollectibleID.磐石 => new 磐石(), + (long)CollectibleID.砂砾 => new 砂砾(), + (long)CollectibleID.铁甲贝壳 => new 铁甲贝壳(), + (long)CollectibleID.蜥蜴尾巴 => new 蜥蜴尾巴(), + (long)CollectibleID.古老钟摆 => new 古老钟摆(), + (long)CollectibleID.枯藤 => new 枯藤(), (long)SpecialItemID.升华之印 => new 升华之印(), (long)SpecialItemID.流光之印 => new 流光之印(), (long)SpecialItemID.永恒之印 => new 永恒之印(), @@ -59,49 +102,6 @@ namespace Oshima.FunGame.OshimaModules (long)SpecialItemID.创生之印 => new 创生之印(), (long)SpecialItemID.法则精粹 => new 法则精粹(), (long)SpecialItemID.大师锻造券 => new 大师锻造券(), - (long)SpecialItemID.青松 => new 青松(), - (long)SpecialItemID.流星石 => new 流星石(), - (long)SpecialItemID.向日葵 => new 向日葵(), - (long)SpecialItemID.金铃花 => new 金铃花(), - (long)SpecialItemID.琉璃珠 => new 琉璃珠(), - (long)SpecialItemID.鸣草 => new 鸣草(), - (long)SpecialItemID.马尾 => new 马尾(), - (long)SpecialItemID.鬼兜虫 => new 鬼兜虫(), - (long)SpecialItemID.烈焰花花蕊 => new 烈焰花花蕊(), - (long)SpecialItemID.堇瓜 => new 堇瓜(), - (long)SpecialItemID.水晶球 => new 水晶球(), - (long)SpecialItemID.薰衣草 => new 薰衣草(), - (long)SpecialItemID.青石 => new 青石(), - (long)SpecialItemID.莲花 => new 莲花(), - (long)SpecialItemID.陶罐 => new 陶罐(), - (long)SpecialItemID.海灵芝 => new 海灵芝(), - (long)SpecialItemID.四叶草 => new 四叶草(), - (long)SpecialItemID.露珠 => new 露珠(), - (long)SpecialItemID.茉莉花 => new 茉莉花(), - (long)SpecialItemID.绿萝 => new 绿萝(), - (long)SpecialItemID.檀木扇 => new 檀木扇(), - (long)SpecialItemID.鸟蛋 => new 鸟蛋(), - (long)SpecialItemID.竹笋 => new 竹笋(), - (long)SpecialItemID.晶核 => new 晶核(), - (long)SpecialItemID.手工围巾 => new 手工围巾(), - (long)SpecialItemID.柳条篮 => new 柳条篮(), - (long)SpecialItemID.风筝 => new 风筝(), - (long)SpecialItemID.羽毛 => new 羽毛(), - (long)SpecialItemID.发光髓 => new 发光髓(), - (long)SpecialItemID.紫罗兰 => new 紫罗兰(), - (long)SpecialItemID.松果 => new 松果(), - (long)SpecialItemID.电气水晶 => new 电气水晶(), - (long)SpecialItemID.薄荷 => new 薄荷(), - (long)SpecialItemID.竹节 => new 竹节(), - (long)SpecialItemID.铁砧 => new 铁砧(), - (long)SpecialItemID.冰雾花 => new 冰雾花(), - (long)SpecialItemID.海草 => new 海草(), - (long)SpecialItemID.磐石 => new 磐石(), - (long)SpecialItemID.砂砾 => new 砂砾(), - (long)SpecialItemID.铁甲贝壳 => new 铁甲贝壳(), - (long)SpecialItemID.蜥蜴尾巴 => new 蜥蜴尾巴(), - (long)SpecialItemID.古老钟摆 => new 古老钟摆(), - (long)SpecialItemID.枯藤 => new 枯藤(), (long)SpecialItemID.钻石 => new 钻石(), (long)SpecialItemID.探索许可 => new 探索许可(), (long)ConsumableID.小回复药 => new 小回复药(), diff --git a/OshimaServers/Service/FunGameService.cs b/OshimaServers/Service/FunGameService.cs index 4312679..463bc3c 100644 --- a/OshimaServers/Service/FunGameService.cs +++ b/OshimaServers/Service/FunGameService.cs @@ -3571,6 +3571,7 @@ namespace Oshima.FunGame.OshimaServers.Service newItem.User = user; if (hasLock && (newItem.QualityType >= QualityType.Orange || FunGameConstant.ExploreItems.Values.SelectMany(i => i).Any(c => c.Id == item.Id) || + FunGameConstant.UserDailyItems.Any(c => c.Id == item.Id) || FunGameConstant.CharacterLevelBreakItems.Any(c => c.Id == item.Id) || FunGameConstant.SkillLevelUpItems.Any(c => c.Id == item.Id))) newItem.IsLock = true; if (hasSellAndTradeTime) SetSellAndTradeTime(newItem); diff --git a/OshimaWebAPI/Controllers/FunGameController.cs b/OshimaWebAPI/Controllers/FunGameController.cs index 8e7a740..5c400e6 100644 --- a/OshimaWebAPI/Controllers/FunGameController.cs +++ b/OshimaWebAPI/Controllers/FunGameController.cs @@ -9006,6 +9006,54 @@ namespace Oshima.FunGame.WebAPI.Controllers } } + [HttpPost("getuserdailyitem")] + public string GetUserDailyItem([FromQuery] long uid = -1, [FromQuery] string daily = "") + { + try + { + PluginConfig pc = FunGameService.GetUserConfig(uid, out bool isTimeout); + if (isTimeout) + { + return busy; + } + + string msg = ""; + if (pc.Count > 0) + { + User user = FunGameService.GetUser(pc); + + string pattern = @"今天的幸运物是:.*?「(.*?)」"; + Regex regex = new(pattern, RegexOptions.IgnoreCase); + Match match = regex.Match(daily); + if (match.Success) + { + string itemName = match.Groups[1].Value; + if (FunGameConstant.UserDailyItems.FirstOrDefault(i => i.Name == itemName) is Item item) + { + msg = $"恭喜你获得了幸运物【{itemName}】,已发放至库存~"; + FunGameService.AddItemToUserInventory(user, item); + } + } + + FunGameService.SetUserConfigButNotRelease(uid, pc, user); + return msg; + } + else + { + return $"温馨提醒:【创建存档】后可领取同款幸运物的收藏品,全部收集可兑换强大装备哦~"; + } + } + catch (Exception e) + { + if (Logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Error)) Logger.LogError(e, "Error: {e}", e); + return busy; + } + finally + { + FunGameService.ReleaseUserSemaphoreSlim(uid); + } + } + [HttpPost("template")] public string Template([FromQuery] long uid = -1) { diff --git a/OshimaWebAPI/Services/RainBOTService.cs b/OshimaWebAPI/Services/RainBOTService.cs index 76d1f13..c560350 100644 --- a/OshimaWebAPI/Services/RainBOTService.cs +++ b/OshimaWebAPI/Services/RainBOTService.cs @@ -182,14 +182,31 @@ namespace Oshima.FunGame.WebAPI.Services _ => "" }; - var (fileUuid, fileInfo, ttl, error) = e.IsGroup && e is GroupAtMessage ge ? await Service.UploadGroupMediaAsync(ge.GroupOpenId, 1, img) : await Service.UploadC2CMediaAsync(e.OpenId, 1, img); - if (string.IsNullOrEmpty(error)) + string? fi = ""; + string? err = ""; + try { - await SendAsync(e, "每日运势", daily.daily, 7, new { file_info = fileInfo }); + var (fileUuid, fileInfo, ttl, error) = e.IsGroup ? await Service.UploadGroupMediaAsync(e.OpenId, 1, img) : await Service.UploadC2CMediaAsync(e.OpenId, 1, img); + fi = fileInfo; + err = error; + } + catch (Exception ex) + { + err = ex.ToString(); + } + if (string.IsNullOrEmpty(err)) + { + await SendAsync(e, "每日运势", daily.daily, 7, new { file_info = fi }); } else { - if (Logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Error)) Logger.LogError("上传图片失败:{error}", error); + if (Logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Error)) Logger.LogError("上传图片失败:{error}", err); + await SendAsync(e, "每日运势", daily.daily); + } + string msg = Controller.GetUserDailyItem(uid, daily.daily); + if (msg != "") + { + await SendAsync(e, "运势幸运物发放", msg, msgSeq: 3); } } else