Commit fd258cd0 authored by Amiya's avatar Amiya

Merge branch 'master' of git.moenext.com:mycard/pre-release-database-cdb

parents 06f72af8 0fa86c77
No preview for this file type
No preview for this file type
...@@ -12,4 +12,5 @@ ...@@ -12,4 +12,5 @@
100256016 100256016
100256017 100256017
100256019 100256019
100256025 100256025
\ No newline at end of file 100201001
\ No newline at end of file
...@@ -4,4 +4,5 @@ ...@@ -4,4 +4,5 @@
100228003 100228003
100238401 100238401
100200283 100200283
100201001 100258001
\ No newline at end of file 100258002
\ No newline at end of file
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
"js-yaml": "^4.1.1", "js-yaml": "^4.1.1",
"sql.js": "^1.13.0", "sql.js": "^1.13.0",
"ygopro-jstest": "^1.0.10", "ygopro-jstest": "^1.0.10",
"ygopro-msg-encode": "^1.1.6" "ygopro-msg-encode": "^1.1.7"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^30.0.0", "@types/jest": "^30.0.0",
...@@ -6399,9 +6399,9 @@ ...@@ -6399,9 +6399,9 @@
} }
}, },
"node_modules/ygopro-msg-encode": { "node_modules/ygopro-msg-encode": {
"version": "1.1.6", "version": "1.1.7",
"resolved": "https://registry.npmjs.org/ygopro-msg-encode/-/ygopro-msg-encode-1.1.6.tgz", "resolved": "https://registry.npmjs.org/ygopro-msg-encode/-/ygopro-msg-encode-1.1.7.tgz",
"integrity": "sha512-ViNMcSM5o32zW0GhaPgXCQSz8hJJ/4Nd5HPQVRA6o9qqZ+2+0tjLZX8vviMA48iFmsA03ABTx6Y5iT8h1e11jQ==", "integrity": "sha512-KQ5uirF+LfD1/IlTrIJh/f37IwXc5IMFs5qO8Uw+KZI7cW4UVQmH7CRygDS+lbJcnHDrd2qhD4l3YpsmYqqBkg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"typed-reflector": "^1.0.14", "typed-reflector": "^1.0.14",
......
--憑依共鳴-ウィン --憑依共鳴ウィン
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--material --material
...@@ -79,9 +79,8 @@ function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -79,9 +79,8 @@ function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,2,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,2,0,0)
end end
function s.tdop(e,tp,eg,ep,ev,re,r,rp) function s.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local tg=Duel.GetTargetsRelateToChain()
local tg=g:Filter(Card.IsRelateToChain,nil)
if tg:GetCount()>0 then if tg:GetCount()>0 then
aux.PlaceCardsOnDeckBottom(tp,tg) aux.PlaceCardsOnDeckBottom(tp,tg)
end end
end end
\ No newline at end of file
...@@ -10,7 +10,7 @@ function s.initial_effect(c) ...@@ -10,7 +10,7 @@ function s.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_CONDITION) e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.AssaultModeLimit) e1:SetValue(aux.AssaultModeLimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--draw --atk to 0
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,0)) e2:SetDescription(aux.Stringid(id,0))
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_TODECK) e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_TODECK)
...@@ -68,9 +68,11 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,9 +68,11 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,s.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) local g=Duel.SelectMatchingCard(tp,s.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.HintSelection(g)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL) e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
...@@ -102,4 +104,4 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,4 +104,4 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
\ No newline at end of file
...@@ -97,6 +97,6 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -97,6 +97,6 @@ function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function s.desop(e,tp,eg,ep,ev,re,r,rp) function s.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local sg=g:Filter(Card.IsRelateToChain,nil) local sg=g:Filter(Card.IsRelateToChain,nil):Filter(Card.IsOnField,nil)
Duel.Destroy(sg,REASON_EFFECT) Duel.Destroy(sg,REASON_EFFECT)
end end
\ No newline at end of file
...@@ -15,13 +15,14 @@ export interface YrpInfo { ...@@ -15,13 +15,14 @@ export interface YrpInfo {
export const toYrpInfo = (test: YGOProTest): YrpInfo => { export const toYrpInfo = (test: YGOProTest): YrpInfo => {
const snapshot = test.querySnapshot(); const snapshot = test.querySnapshot();
const snapshotText = formatSnapshot(snapshot); const snapshotText = formatSnapshot(snapshot);
const stripMsgName = (msg: string) => msg.replace(/^YGOProMsg/, "");
return { return {
messages: test.allMessages.map((msg) => ({ messages: test.allMessages.map((msg) => ({
identifier: msg.identifier, identifier: msg.identifier,
msg: msg.constructor.name, msg: stripMsgName(msg.constructor.name),
...msg, ...msg,
})), })),
snapshot, snapshot,
snapshotText, snapshotText,
}; };
} };
messages: messages:
- identifier: 33 - identifier: 33
msg: YGOProMsgShuffleHand msg: ShuffleHand
player: 0 player: 0
count: 2 count: 2
cards: cards:
- 28985331 - 28985331
- 10000000 - 10000000
- identifier: 41 - identifier: 41
msg: YGOProMsgNewPhase msg: NewPhase
phase: 1 phase: 1
- identifier: 41 - identifier: 41
msg: YGOProMsgNewPhase msg: NewPhase
phase: 2 phase: 2
- identifier: 41 - identifier: 41
msg: YGOProMsgNewPhase msg: NewPhase
phase: 4 phase: 4
- identifier: 11 - identifier: 11
msg: YGOProMsgSelectIdleCmd msg: SelectIdleCmd
player: 0 player: 0
summonableCount: 1 summonableCount: 1
summonableCards: summonableCards:
......
This diff is collapsed.
...@@ -54,7 +54,9 @@ describe("YRP", () => { ...@@ -54,7 +54,9 @@ describe("YRP", () => {
); );
const sortMesssages = (messages: MsgSnapshot[]) => const sortMesssages = (messages: MsgSnapshot[]) =>
messages messages
.filter((m) => !m.msg.includes("Hint")) .filter(
(m) => !m.msg.includes("Hint") && m.msg !== "ConfirmCards",
)
.map((m) => { .map((m) => {
// go through all properties and prune every desc // go through all properties and prune every desc
const pruneDesc = <T>(obj: T, visited = new Set<any>()): T => { const pruneDesc = <T>(obj: T, visited = new Set<any>()): T => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment