@@ -3259,31 +3259,28 @@ const skills = {
32593259 } ) > 0
32603260 ) ;
32613261 } ,
3262- direct : true ,
3263- content ( ) {
3264- "step 0" ;
3265- player
3266- . chooseCard ( get . translation ( trigger . player ) + "的" + ( trigger . judgestr || "" ) + "判定为" + get . translation ( trigger . player . judging [ 0 ] ) + "," + get . prompt ( "nsguidao" ) , "hes" , function ( card , player ) {
3262+ async cost ( event , trigger , player ) {
3263+ event . result = await player
3264+ . chooseCard ( `${ get . translation ( trigger . player ) } 的${ trigger . judgestr || "" } 判定为${ get . translation ( trigger . player . judging [ 0 ] ) } ,${ get . prompt ( event . skill ) } ` , "hes" , card => {
3265+ const player = get . player ( ) ;
32673266 if ( ! player . storage . nstaiping && get . color ( card ) != "black" ) {
32683267 return false ;
32693268 }
3270- var player = _status . event . player ;
3271- var mod2 = game . checkMod ( card , player , "unchanged" , "cardEnabled2" , player ) ;
3269+ const mod2 = game . checkMod ( card , player , "unchanged" , "cardEnabled2" , player ) ;
32723270 if ( mod2 != "unchanged" ) {
32733271 return mod2 ;
32743272 }
3275- var mod = game . checkMod ( card , player , "unchanged" , "cardRespondable" , player ) ;
3273+ const mod = game . checkMod ( card , player , "unchanged" , "cardRespondable" , player ) ;
32763274 if ( mod != "unchanged" ) {
32773275 return mod ;
32783276 }
32793277 return true ;
32803278 } )
3281- . set ( "ai" , function ( card ) {
3282- var trigger = _status . event . getTrigger ( ) ;
3283- var player = _status . event . player ;
3284- var judging = _status . event . judging ;
3285- var result = trigger . judge ( card ) - trigger . judge ( judging ) ;
3286- var attitude = get . attitude ( player , trigger . player ) ;
3279+ . set ( "ai" , card => {
3280+ const trigger = get . event ( ) . getTrigger ( ) ;
3281+ const { player, judging } = get . event ( ) ;
3282+ const result = trigger . judge ( card ) - trigger . judge ( judging ) ;
3283+ const attitude = get . attitude ( player , trigger . player ) ;
32873284 let val = get . value ( card ) ;
32883285 if ( get . subtype ( card ) == "equip2" ) {
32893286 val /= 2 ;
@@ -3298,29 +3295,24 @@ const skills = {
32983295 }
32993296 return - result - val ;
33003297 } )
3301- . set ( "judging" , trigger . player . judging [ 0 ] ) ;
3302- "step 1" ;
3303- if ( result . bool ) {
3304- player . respond ( result . cards , "highlight" , "nsguidao" , "noOrdering" ) ;
3305- } else {
3306- event . finish ( ) ;
3307- }
3308- "step 2" ;
3309- if ( result . bool ) {
3298+ . set ( "judging" , trigger . player . judging [ 0 ] )
3299+ . forResult ( ) ;
3300+ } ,
3301+ popup : false ,
3302+ async content ( event , trigger , player ) {
3303+ const { cards } = await player . respond ( event . cards , event . name , "highlight" , "noOrdering" ) ;
3304+ if ( cards ?. length ) {
33103305 player . $gain2 ( trigger . player . judging [ 0 ] ) ;
3311- player . gain ( trigger . player . judging [ 0 ] ) ;
3312- trigger . player . judging [ 0 ] = result . cards [ 0 ] ;
3313- trigger . orderingCards . addArray ( result . cards ) ;
3314- game . log ( trigger . player , "的判定牌改为" , result . cards [ 0 ] ) ;
3306+ await player . gain ( trigger . player . judging [ 0 ] ) ;
3307+ trigger . player . judging [ 0 ] = cards [ 0 ] ;
3308+ trigger . orderingCards . addArray ( cards ) ;
3309+ game . log ( trigger . player , "的判定牌改为" , cards ) ;
3310+ await game . delay ( 2 ) ;
33153311 }
3316- "step 3" ;
3317- game . delay ( 2 ) ;
33183312 } ,
33193313 ai : {
33203314 rejudge : true ,
3321- tag : {
3322- rejudge : 1 ,
3323- } ,
3315+ tag : { rejudge : 1 } ,
33243316 } ,
33253317 } ,
33263318 nstaiping : {
@@ -3818,7 +3810,7 @@ const skills = {
38183810 trigger : { global : "judge" } ,
38193811 usable : 1 ,
38203812 filter ( event , player ) {
3821- return _status . currentPhase && _status . currentPhase . countCards ( "h " ) > 0 ;
3813+ return _status . currentPhase ?. countCards ( "hs " ) > 0 ;
38223814 } ,
38233815 logTarget ( ) {
38243816 return _status . currentPhase ;
@@ -3853,83 +3845,74 @@ const skills = {
38533845 }
38543846 return false ;
38553847 } ,
3856- content ( ) {
3857- "step 0" ;
3848+ async content ( event , trigger , player ) {
3849+ const target = _status . currentPhase ;
38583850 if (
3859- ! _status . currentPhase . countCards ( "h" , function ( card ) {
3860- var player = _status . currentPhase ;
3861- var mod2 = game . checkMod ( card , player , "unchanged" , "cardEnabled2" , player ) ;
3851+ target ?. hasCard ( card => {
3852+ const player = _status . currentPhase ;
3853+ const mod2 = game . checkMod ( card , player , "unchanged" , "cardEnabled2" , player ) ;
38623854 if ( mod2 != "unchanged" ) {
38633855 return mod2 ;
38643856 }
3865- var mod = game . checkMod ( card , player , "unchanged" , "cardRespondable" , player ) ;
3857+ const mod = game . checkMod ( card , player , "unchanged" , "cardRespondable" , player ) ;
38663858 if ( mod != "unchanged" ) {
38673859 return mod ;
38683860 }
38693861 return true ;
3870- } )
3862+ } , "hs" )
38713863 ) {
3872- event . finish ( ) ;
3873- return ;
3874- }
3875- _status . currentPhase
3876- . chooseCard ( get . translation ( trigger . player ) + "的" + ( trigger . judgestr || "" ) + "判定为" + get . translation ( trigger . player . judging [ 0 ] ) + ",请打出一张手牌进行改判" , "h" , true , function ( card ) {
3877- var player = _status . event . player ;
3878- var mod2 = game . checkMod ( card , player , "unchanged" , "cardEnabled2" , player ) ;
3879- if ( mod2 != "unchanged" ) {
3880- return mod2 ;
3881- }
3882- var mod = game . checkMod ( card , player , "unchanged" , "cardRespondable" , player ) ;
3883- if ( mod != "unchanged" ) {
3884- return mod ;
3885- }
3886- return true ;
3887- } )
3888- . set ( "ai" , function ( card ) {
3889- var trigger = _status . event . getTrigger ( ) ;
3890- var player = _status . event . player ;
3891- var judging = _status . event . judging ;
3892- var result = trigger . judge ( card ) - trigger . judge ( judging ) ;
3893- var attitude = get . attitude ( player , trigger . player ) ;
3894- if ( attitude == 0 || result == 0 ) {
3895- return 0 ;
3896- }
3897- if ( attitude > 0 ) {
3898- return result / Math . max ( 0.1 , get . value ( card ) ) ;
3899- } else {
3900- return - result / Math . max ( 0.1 , get . value ( card ) ) ;
3901- }
3902- } )
3903- . set ( "judging" , trigger . player . judging [ 0 ] ) ;
3904- "step 1" ;
3905- if ( result . bool ) {
3906- _status . currentPhase . respond ( result . cards , "highlight" ) . nopopup = true ;
3907- } else {
3908- event . finish ( ) ;
3909- }
3910- "step 2" ;
3911- if ( result . bool ) {
3912- if ( trigger . player . judging [ 0 ] . clone ) {
3913- trigger . player . judging [ 0 ] . clone . classList . remove ( "thrownhighlight" ) ;
3914- game . broadcast ( function ( card ) {
3915- if ( card . clone ) {
3916- card . clone . classList . remove ( "thrownhighlight" ) ;
3864+ const { result } = await target
3865+ . chooseCard ( `${ target == trigger . player ? "你" : get . translation ( trigger . player ) } 的${ trigger . judgestr || "" } 判定为${ get . translation ( trigger . player . judging [ 0 ] ) } ,请打出一张手牌进行改判` , "hs" , card => {
3866+ const player = get . player ( ) ;
3867+ const mod2 = game . checkMod ( card , player , "unchanged" , "cardEnabled2" , player ) ;
3868+ if ( mod2 != "unchanged" ) {
3869+ return mod2 ;
39173870 }
3918- } , trigger . player . judging [ 0 ] ) ;
3919- game . addVideo ( "deletenode" , player , get . cardsInfo ( [ trigger . player . judging [ 0 ] . clone ] ) ) ;
3871+ const mod = game . checkMod ( card , player , "unchanged" , "cardRespondable" , player ) ;
3872+ if ( mod != "unchanged" ) {
3873+ return mod ;
3874+ }
3875+ return true ;
3876+ } )
3877+ . set ( "ai" , card => {
3878+ const trigger = get . event ( ) . getTrigger ( ) ;
3879+ const { player, judging } = get . event ( ) ;
3880+ const result = trigger . judge ( card ) - trigger . judge ( judging ) ;
3881+ const attitude = get . attitude ( player , trigger . player ) ;
3882+ if ( attitude == 0 || result == 0 ) {
3883+ return 0 ;
3884+ }
3885+ if ( attitude > 0 ) {
3886+ return result / Math . max ( 0.1 , get . value ( card ) ) ;
3887+ } else {
3888+ return - result / Math . max ( 0.1 , get . value ( card ) ) ;
3889+ }
3890+ } )
3891+ . set ( "judging" , trigger . player . judging [ 0 ] ) ;
3892+ if ( result ?. cards ?. length ) {
3893+ const { cards } = await target . respond ( result . cards , "highlight" , "noOrdering" ) . set ( "nopopup" , true ) ;
3894+ if ( cards ?. length ) {
3895+ if ( trigger . player . judging [ 0 ] . clone ) {
3896+ trigger . player . judging [ 0 ] . clone . classList . remove ( "thrownhighlight" ) ;
3897+ game . broadcast ( function ( card ) {
3898+ if ( card . clone ) {
3899+ card . clone . classList . remove ( "thrownhighlight" ) ;
3900+ }
3901+ } , trigger . player . judging [ 0 ] ) ;
3902+ game . addVideo ( "deletenode" , player , get . cardsInfo ( [ trigger . player . judging [ 0 ] . clone ] ) ) ;
3903+ }
3904+ await game . cardsDiscard ( trigger . player . judging [ 0 ] ) ;
3905+ trigger . player . judging [ 0 ] = cards [ 0 ] ;
3906+ trigger . orderingCards . addArray ( cards ) ;
3907+ game . log ( trigger . player , "的判定牌改为" , cards ) ;
3908+ await game . delay ( 2 ) ;
3909+ }
39203910 }
3921- game . cardsDiscard ( trigger . player . judging [ 0 ] ) ;
3922- trigger . player . judging [ 0 ] = result . cards [ 0 ] ;
3923- trigger . orderingCards . addArray ( result . cards ) ;
3924- game . log ( trigger . player , "的判定牌改为" , result . cards [ 0 ] ) ;
3925- game . delay ( 2 ) ;
39263911 }
39273912 } ,
39283913 ai : {
39293914 rejudge : true ,
3930- tag : {
3931- rejudge : 1 ,
3932- } ,
3915+ tag : { rejudge : 1 } ,
39333916 } ,
39343917 } ,
39353918 nsxianhai : {
@@ -5978,55 +5961,62 @@ const skills = {
59785961 nswangfeng : {
59795962 trigger : { global : "judge" } ,
59805963 filter ( event , player ) {
5981- return player . countCards ( "he " , { color : "red" } ) > 0 ;
5964+ return player . countCards ( "hes " , { color : "red" } ) > 0 ;
59825965 } ,
5983- direct : true ,
5984- content ( ) {
5985- "step 0" ;
5986- player
5987- . chooseCard ( get . translation ( trigger . player ) + "的" + ( trigger . judgestr || "" ) + "判定为" + get . translation ( trigger . player . judging [ 0 ] ) + "," + get . prompt ( "nswangfeng" ) , "he" , function ( card ) {
5988- return get . color ( card ) == "red" ;
5966+ async cost ( event , trigger , player ) {
5967+ event . result = await player
5968+ . chooseCard ( `${ get . translation ( trigger . player ) } 的${ trigger . judgestr || "" } 判定为${ get . translation ( trigger . player . judging [ 0 ] ) } ,${ get . prompt ( event . skill ) } ` , "hes" , card => {
5969+ const player = get . player ( ) ;
5970+ if ( get . color ( card ) !== "red" ) {
5971+ return false ;
5972+ }
5973+ const mod2 = game . checkMod ( card , player , "unchanged" , "cardEnabled2" , player ) ;
5974+ if ( mod2 != "unchanged" ) {
5975+ return mod2 ;
5976+ }
5977+ const mod = game . checkMod ( card , player , "unchanged" , "cardRespondable" , player ) ;
5978+ if ( mod != "unchanged" ) {
5979+ return mod ;
5980+ }
5981+ return true ;
59895982 } )
5990- . set ( "ai" , function ( card ) {
5991- var trigger = _status . event . getTrigger ( ) ;
5992- var player = _status . event . player ;
5993- var judging = _status . event . judging ;
5994- var result = trigger . judge ( card ) - trigger . judge ( judging ) ;
5995- var attitude = get . attitude ( player , trigger . player ) ;
5983+ . set ( "ai" , card => {
5984+ const trigger = get . event ( ) . getTrigger ( ) ;
5985+ const { player, judging } = get . event ( ) ;
5986+ const result = trigger . judge ( card ) - trigger . judge ( judging ) ;
5987+ const attitude = get . attitude ( player , trigger . player ) ;
5988+ let val = get . value ( card ) ;
5989+ if ( get . subtype ( card ) == "equip2" ) {
5990+ val /= 2 ;
5991+ } else {
5992+ val /= 4 ;
5993+ }
59965994 if ( attitude == 0 || result == 0 ) {
59975995 return 0 ;
59985996 }
59995997 if ( attitude > 0 ) {
6000- return result ;
6001- } else {
6002- return - result ;
5998+ return result - val ;
60035999 }
6000+ return - result - val ;
60046001 } )
6005- . set ( "judging" , trigger . player . judging [ 0 ] ) ;
6006- "step 1" ;
6007- if ( result . bool ) {
6008- player . respond ( result . cards , "highlight" ) ;
6009- } else {
6010- event . finish ( ) ;
6011- }
6012- "step 2" ;
6013- if ( result . bool ) {
6014- player . logSkill ( "nswangfeng" ) ;
6002+ . set ( "judging" , trigger . player . judging [ 0 ] )
6003+ . forResult ( ) ;
6004+ } ,
6005+ popup : false ,
6006+ async content ( event , trigger , player ) {
6007+ const { cards } = await player . respond ( event . cards , event . name , "highlight" , "noOrdering" ) ;
6008+ if ( cards ?. length ) {
60156009 player . $gain2 ( trigger . player . judging [ 0 ] ) ;
6016- player . gain ( trigger . player . judging [ 0 ] ) ;
6017- trigger . player . judging [ 0 ] = result . cards [ 0 ] ;
6018- if ( ! get . owner ( result . cards [ 0 ] , "judge" ) ) {
6019- trigger . position . appendChild ( result . cards [ 0 ] ) ;
6020- }
6021- game . log ( trigger . player , "的判定牌改为" , result . cards [ 0 ] ) ;
6010+ await player . gain ( trigger . player . judging [ 0 ] ) ;
6011+ trigger . player . judging [ 0 ] = cards [ 0 ] ;
6012+ trigger . orderingCards . addArray ( cards ) ;
6013+ game . log ( trigger . player , "的判定牌改为" , cards ) ;
6014+ await game . delay ( 2 ) ;
60226015 }
6023- "step 3" ;
6024- game . delay ( 2 ) ;
60256016 } ,
60266017 ai : {
6027- tag : {
6028- rejudge : 1 ,
6029- } ,
6018+ rejudge : true ,
6019+ tag : { rejudge : 1 } ,
60306020 } ,
60316021 } ,
60326022 nsfuhuo : {
0 commit comments