天赋抽取 #11

Merged
Ghost merged 1 commits from why_ga into main 2026-08-28 18:20:34 +08:00
2 changed files with 7 additions and 7 deletions
+2 -2
View File
@@ -487,7 +487,7 @@ class YtWorldApi(http.Controller):
@http.route('/yt_world/api/char/talent/draw', type='http', auth='public',
methods=['POST', 'OPTIONS'], csrf=False)
def char_talent_draw(self, **kw):
"""新手抽天赋:返回 5 张随机未拥有的天赋牌(前端先展示牌背,翻牌时再免费激活)。"""
"""新手抽天赋:返回 15 张随机未拥有的天赋牌(前端先展示牌背,翻牌时再免费激活)。"""
auth_err = self._require_user()
if auth_err:
return _json(auth_err)
@@ -500,7 +500,7 @@ class YtWorldApi(http.Controller):
data = pool.read(['code', 'name', 'icon', 'quality', 'trigger',
'effect', 'description', 'max_level'])
random.shuffle(data)
return _json({'ok': True, 'deck': data[:5]})
return _json({'ok': True, 'deck': data[:15]})
@http.route('/yt_world/api/char/talent/draw/activate', type='http', auth='public',
methods=['POST', 'OPTIONS'], csrf=False)
+5 -5
View File
@@ -779,10 +779,10 @@ body { background: #0a0e17; overflow: hidden; font-family: 'Microsoft YaHei', sa
.tp-empty{text-align:center;padding:30px 10px;color:#7b8ea8;font-size:14px;line-height:1.7;}
.tp-empty a{color:#8b5cf6;}
/* ===== 新手抽天赋引导 ===== */
#talentDraw{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;background:rgba(4,7,15,.72);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;padding:28px 18px;}
#talentDraw{position:fixed;inset:0;z-index:1300;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;background:rgba(4,7,15,.72);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;padding:28px 18px;}
#talentDraw.open{opacity:1;visibility:visible;}
#talentDraw[hidden]{display:none;}
.td-wrap{width:760px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:18px;}
.td-wrap{width:760px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:18px;margin:auto;}
.td-npc{display:flex;align-items:flex-end;gap:14px;align-self:flex-start;max-width:100%;}
.td-avatar{width:64px;height:64px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;background:radial-gradient(circle at 30% 30%,#a78bfa,#6d28d9);box-shadow:0 0 26px rgba(139,92,246,.6);animation:td-float 3s ease-in-out infinite;}
@keyframes td-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@@ -6935,7 +6935,7 @@ if (typeof fitWorld === 'function') fitWorld();
<div class="td-avatar">🔮</div>
<div class="td-bubble">
<div class="td-npcname">引导精灵 · 星澜</div>
<div id="tdBubbleText">你好,勇者!命运之牌已为你备好。点击下方「开始抽牌」,从五张天赋牌中翻开三张,它们将化作你独有的天赋。</div>
<div id="tdBubbleText">你好,勇者!命运之牌已为你备好。点击下方「开始抽牌」,从十五张天赋牌中翻开三张,它们将化作你独有的天赋。</div>
</div>
</div>
<div class="td-cards" id="tdCards"></div>
@@ -7043,7 +7043,7 @@ if (typeof fitWorld === 'function') fitWorld();
document.getElementById('tdCards').innerHTML = '';
document.getElementById('tdCount').textContent = '';
document.getElementById('tdBubbleText').textContent =
'你好,勇者!命运之牌已为你备好。点击下方「开始抽牌」,从五张天赋牌中翻开三张,它们将化作你独有的天赋。';
'你好,勇者!命运之牌已为你备好。点击下方「开始抽牌」,从十五张天赋牌中翻开三张,它们将化作你独有的天赋。';
document.getElementById('tdStart').hidden = false;
document.getElementById('tdLater').hidden = true;
document.getElementById('tdFinish').hidden = true;
@@ -7079,7 +7079,7 @@ if (typeof fitWorld === 'function') fitWorld();
tdDeck.forEach((t, i) => {
const card = document.createElement('div');
card.className = 'td-card dealt';
card.style.animationDelay = (i * 0.12) + 's';
card.style.animationDelay = (i * 0.06) + 's';
card.style.setProperty('--rz', (Math.random()*18 - 9).toFixed(1) + 'deg');
setTimeout(() => playTalentSfx('deal'), i * 120);
card.innerHTML =