Merge branch 'libccy:PR-Branch' into PR-Branch

This commit is contained in:
157 2023-11-20 16:20:33 +08:00 committed by GitHub
commit 06776685bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 263 additions and 365 deletions

View File

@ -1,20 +1,31 @@
{ {
"extends": "eslint:recommended", "extends": "eslint:recommended",
"env": { "env": {
"browser": true, "browser": true,
"node": true, "node": true,
"es6": true, "es6": true,
"worker": true "worker": true
}, },
"rules": { "rules": {
"no-console": 0, "no-console": 0,
"no-unused-vars": 0, "no-unused-vars": 0,
"no-undef": 0, "no-undef": 0,
"no-redeclare": 0, "no-redeclare": 0,
"require-yield": 0, "require-yield": 0,
"no-irregular-whitespace": ["error", { "skipStrings": true, "skipTemplates": true }], "no-irregular-whitespace": [
"no-constant-condition": ["error", { "checkLoops": false }]/* , "error",
"comma-dangle": ["error", "only-multiline"], {
"complexity": ["error",100] */ "skipStrings": true,
} "skipTemplates": true
}
],
"no-constant-condition": [
"error",
{
"checkLoops": false
}
] /* ,
"comma-dangle": ["error", "only-multiline"],
"complexity": ["error",100] */
}
} }

Binary file not shown.

Binary file not shown.

BIN
audio/die/boss_lvbu3.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -115,8 +115,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'虎:使用仅指定唯一目标的牌对目标角色造成的伤害+1', '虎:使用仅指定唯一目标的牌对目标角色造成的伤害+1',
'鹿回复1点体力并弃置判定区的所有牌不能成为延时锦囊牌的目标', '鹿回复1点体力并弃置判定区的所有牌不能成为延时锦囊牌的目标',
'熊:受到伤害时,此伤害-1', '熊:受到伤害时,此伤害-1',
'猿:出牌阶段开始时,摸两张牌', '猿:出牌阶段开始时,选择一名角色,随机获得其装备区里的一张牌',
'鹤:出牌阶段开始时,选择一名角色,随机获得其装备区里的一张牌', '鹤:出牌阶段开始时,摸两张牌',
], ],
updateMark:function(player){ updateMark:function(player){
var wuqinxi=player.storage.wuling_wuqinxi; var wuqinxi=player.storage.wuling_wuqinxi;
@ -143,11 +143,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
intro:{ intro:{
content:function(storage){ content:function(storage){
var str='<li>当前效果:'+storage; var str='<li>当前效果:'+storage;
var list=lib.skill.wuling.wuqinxiMap; var list=lib.skill.wuling.wuqinxiMap.map(str2=>str2.slice(2));
var list1=list.map(str2=>str2.slice(0,1));
var list2=list.map(str2=>str2.slice(2));
str+='<br><li>'; str+='<br><li>';
str+=list2[list1.indexOf(storage)]; str+=list[lib.skill.wuling.wuqinxi.indexOf(storage)];
return str; return str;
}, },
}, },
@ -166,8 +164,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(event.name=='phase') return true; if(event.name=='phase') return true;
switch(name){ switch(name){
case 'damageBegin1': case 'damageBegin1':
if(wuqinxi!='虎') return false; if(wuqinxi!='虎'||!event.card) return false;
return event.card&&event.targets&&event.targets.length==1&&event.targets.includes(event.player); var evt=event.getParent('useCard');
return evt.targets&&evt.targets.length==1&&evt.targets.includes(event.player);
break; break;
case 'damageBegin2': case 'damageBegin2':
return wuqinxi=='熊'; return wuqinxi=='熊';
@ -234,7 +233,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
effect:{ effect:{
target:function(card,player,target){ target:function(card,player,target){
var wuqinxi=target.storage.wuling_wuqinxi; var wuqinxi=target.storage.wuling_wuqinxi;
if(!wuqinxi&&wuqinxi!='熊') return; if(!wuqinxi||wuqinxi!='熊') return;
if(player.hasSkillTag('jueqing',false,target)) return; if(player.hasSkillTag('jueqing',false,target)) return;
var num=get.tag(card,'damage'); var num=get.tag(card,'damage');
if(num){ if(num){
@ -7809,8 +7808,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'<br><li>虎:你使用仅指定唯一目标的牌对目标角色造成的伤害+1'+ '<br><li>虎:你使用仅指定唯一目标的牌对目标角色造成的伤害+1'+
'<br><li>鹿获得或更换至此效果时回复1点体力并弃置判定区的所有牌你不能成为延时锦囊牌的目标'+ '<br><li>鹿获得或更换至此效果时回复1点体力并弃置判定区的所有牌你不能成为延时锦囊牌的目标'+
'<br><li>熊:当你受到伤害时,此伤害-1'+ '<br><li>熊:当你受到伤害时,此伤害-1'+
'<br><li>猿:出牌阶段开始时,你摸两张牌'+ '<br><li>猿:出牌阶段开始时,你选择一名角色,随机获得其装备区里的一张牌'+
'<br><li>鹤:出牌阶段开始时,你选择一名角色,随机获得其装备区里的一张牌', '<br><li>鹤:出牌阶段开始时,你摸两张牌',
youyi:'游医', youyi:'游医',
youyi_info:'①弃牌阶段结束时你可以将所有于此阶段进入弃牌堆的牌置入仁区。②出牌阶段限一次你可以将仁区的所有牌置入弃牌堆然后令所有角色各回复1点体力。', youyi_info:'①弃牌阶段结束时你可以将所有于此阶段进入弃牌堆的牌置入仁区。②出牌阶段限一次你可以将仁区的所有牌置入弃牌堆然后令所有角色各回复1点体力。',

View File

@ -171,9 +171,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
skill:{ skill:{
//界凌统 //界凌统
olxuanfeng:{ olxuanfeng:{
audio:2, audio:'xuanfeng',
audioname:['boss_lvbu3'],
audioname2:{ audioname2:{
lingtong:'xuanfeng', lingtong:'xuanfeng',
ol_lingtong:'rexuanfeng',
}, },
trigger:{ trigger:{
player:['loseAfter'], player:['loseAfter'],
@ -5222,7 +5224,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//贾诩 //贾诩
rewansha:{ rewansha:{
audio:'wansha', audio:'wansha',
audioname:['re_jiaxu','shen_simayi','boss_lvbu2'], audioname:['re_jiaxu','shen_simayi','boss_lvbu3'],
global:'rewansha_global', global:'rewansha_global',
trigger:{global:'dyingBegin'}, trigger:{global:'dyingBegin'},
forced:true, forced:true,

View File

@ -364,7 +364,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function(event,player){ filter:function(event,player){
return event.player!=player&&player.getStorage('sbkanpo').includes(event.card.name); return event.player!=player&&player.getStorage('sbkanpo').includes(event.card.name);
}, },
prompt:function(event,player){ prompt2:function(event,player){
return '移除'+get.translation(event.card.name)+',令'+get.translation(event.card)+'失效'; return '移除'+get.translation(event.card.name)+',令'+get.translation(event.card)+'失效';
}, },
check:function(event,player){ check:function(event,player){
@ -414,7 +414,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(cards.length) player.loseToDiscardpile(cards); if(cards.length) player.loseToDiscardpile(cards);
var bool=player.getAllHistory('useSkill',evt=>evt.skill=='sbguanxing').length>1; var bool=player.getAllHistory('useSkill',evt=>evt.skill=='sbguanxing').length>1;
var num=Math.min(7,bool?cards.length+1:7); var num=Math.min(7,bool?cards.length+1:7);
var cards2=get.cards(num+1); var cards2=get.cards(num);
player.$gain2(cards2,false); player.$gain2(cards2,false);
game.log(player,'将',cards2,'置于了武将牌上'); game.log(player,'将',cards2,'置于了武将牌上');
player.loseToSpecial(cards2,'sbguanxing').visible=true; player.loseToSpecial(cards2,'sbguanxing').visible=true;

View File

@ -9,7 +9,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng','jin_yanghu','wangyan','xiahouxuan','quhuang','zhanghua','wangguan','sunhong','caoxi'], sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng','jin_yanghu','wangyan','xiahouxuan','quhuang','zhanghua','wangguan','sunhong','caoxi'],
sp_tianzhu:['zhangyan','niujin','hejin','hansui',"wutugu","yanbaihu","shamoke","zhugedan",'huangzu','gaogan',"tadun","fanjiangzhangda","ahuinan","dongtuna",'ol_wenqin'], sp_tianzhu:['zhangyan','niujin','hejin','hansui',"wutugu","yanbaihu","shamoke","zhugedan",'huangzu','gaogan',"tadun","fanjiangzhangda","ahuinan","dongtuna",'ol_wenqin'],
sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu',"daxiaoqiao","jin_guohuai"], sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu',"daxiaoqiao","jin_guohuai"],
sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan','zhangzhi','lushi'], sp_shaowei:['lvboshe',"simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan','zhangzhi','lushi'],
sp_huben:['duanjiong','ol_mengda',"caohong","xiahouba","zhugeke","zumao","wenpin","litong","mazhong","heqi","quyi","luzhi","zangba","yuejin","dingfeng","wuyan","ol_zhuling","tianyu","huojun",'zhaoyǎn','dengzhong','ol_furong','macheng','ol_zhangyì','ol_zhujun','maxiumatie','luoxian','ol_huban','haopu','ol_qianzhao'], sp_huben:['duanjiong','ol_mengda',"caohong","xiahouba","zhugeke","zumao","wenpin","litong","mazhong","heqi","quyi","luzhi","zangba","yuejin","dingfeng","wuyan","ol_zhuling","tianyu","huojun",'zhaoyǎn','dengzhong','ol_furong','macheng','ol_zhangyì','ol_zhujun','maxiumatie','luoxian','ol_huban','haopu','ol_qianzhao'],
sp_liesi:['mizhu','weizi','ol_liuba','zhangshiping'], sp_liesi:['mizhu','weizi','ol_liuba','zhangshiping'],
sp_default:["sp_diaochan","sp_zhaoyun","sp_sunshangxiang","sp_caoren","sp_jiangwei","sp_machao","sp_caiwenji","jsp_guanyu","jsp_huangyueying","sp_pangde","sp_jiaxu","yuanshu",'sp_zhangliao','sp_ol_zhanghe','sp_menghuo'], sp_default:["sp_diaochan","sp_zhaoyun","sp_sunshangxiang","sp_caoren","sp_jiangwei","sp_machao","sp_caiwenji","jsp_guanyu","jsp_huangyueying","sp_pangde","sp_jiaxu","yuanshu",'sp_zhangliao','sp_ol_zhanghe','sp_menghuo'],
@ -18,7 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_zhongdan:["cuiyan","huangfusong"], sp_zhongdan:["cuiyan","huangfusong"],
sp_guozhan2:["sp_dongzhuo","liqueguosi","zhangren"], sp_guozhan2:["sp_dongzhuo","liqueguosi","zhangren"],
sp_others:["hanba","caiyang"], sp_others:["hanba","caiyang"],
sp_waitforsort:['ol_luyusheng','ol_pengyang','ol_tw_zhangji','ol_feiyi','lvboshe','ol_dingshangwan','ol_liwan'], sp_waitforsort:['ol_luyusheng','ol_pengyang','ol_tw_zhangji','ol_feiyi','ol_dingshangwan','ol_liwan'],
}, },
}, },
characterFilter:{ characterFilter:{

View File

@ -5477,14 +5477,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
} }
else{ else{
player.addTempSkill('taoluan3'); player.addTempSkill('taoluan3');
var next=player.loseHp(); player.loseHp();
event.next.remove(next);
event.getParent('phase').after.push(next);
} }
} }
}, },
taoluan3:{charlotte:true}, taoluan3:{charlotte:true},
taoluan4:{ taoluan4:{
audio:'taoluan',
prompt:'将一张牌当做闪使用', prompt:'将一张牌当做闪使用',
enable:'chooseToUse', enable:'chooseToUse',
filter:function(event,player){ filter:function(event,player){
@ -14238,11 +14237,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lianhuo:'链祸', lianhuo:'链祸',
lianhuo_info:'锁定技,当你受到火焰伤害时,若你的武将牌处于横置状态且此伤害不为连环伤害,则此伤害+1。', lianhuo_info:'锁定技,当你受到火焰伤害时,若你的武将牌处于横置状态且此伤害不为连环伤害,则此伤害+1。',
taoluan:'滔乱', taoluan:'滔乱',
taoluan_backup:'滔乱',
taoluan4:'滔乱', taoluan4:'滔乱',
taoluan5:'滔乱', taoluan5:'滔乱',
taoluan_backup:'滔乱', taoluan_backup:'滔乱',
taoluan_info:'你可以将一张牌当做任意一张基本牌或普通锦囊牌使用此牌不得是本局游戏你以此法使用过的牌然后你令一名其他角色选择一项1.交给你一张与你以此法使用的牌类别不同的牌2.你于回合结束时失去1点体力且〖滔乱〗无效直到回合结束。', taoluan_info:'你可以将一张牌当做任意一张基本牌或普通锦囊牌使用此牌不得是本局游戏你以此法使用过的牌然后你令一名其他角色选择一项1.交给你一张与你以此法使用的牌类别不同的牌2.你失去1点体力且〖滔乱〗无效直到回合结束。',
xintaoluan:'滔乱', xintaoluan:'滔乱',
xintaoluan_backup:'滔乱',
xintaoluan4:'滔乱', xintaoluan4:'滔乱',
xintaoluan5:'滔乱', xintaoluan5:'滔乱',
xintaoluan_backup:'滔乱', xintaoluan_backup:'滔乱',

View File

@ -1,7 +1,7 @@
/** /**
* core-js 3.33.0 * core-js 3.33.2
* © 2014-2023 Denis Pushkarev (zloirock.ru) * © 2014-2023 Denis Pushkarev (zloirock.ru)
* license: https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE * license: https://github.com/zloirock/core-js/blob/v3.33.2/LICENSE
* source: https://github.com/zloirock/core-js * source: https://github.com/zloirock/core-js
*/ */
!function (undefined) { 'use strict'; /******/ (function(modules) { // webpackBootstrap !function (undefined) { 'use strict'; /******/ (function(modules) { // webpackBootstrap
@ -721,14 +721,15 @@ if (!NATIVE_SYMBOL) {
var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);
var tag = uid(description); var tag = uid(description);
var setter = function (value) { var setter = function (value) {
if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); var $this = this === undefined ? global : this;
if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false; if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);
if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;
var descriptor = createPropertyDescriptor(1, value); var descriptor = createPropertyDescriptor(1, value);
try { try {
setSymbolDescriptor(this, tag, descriptor); setSymbolDescriptor($this, tag, descriptor);
} catch (error) { } catch (error) {
if (!(error instanceof RangeError)) throw error; if (!(error instanceof RangeError)) throw error;
fallbackDefineProperty(this, tag, descriptor); fallbackDefineProperty($this, tag, descriptor);
} }
}; };
if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
@ -1483,10 +1484,10 @@ var store = __webpack_require__(37);
(module.exports = function (key, value) { (module.exports = function (key, value) {
return store[key] || (store[key] = value !== undefined ? value : {}); return store[key] || (store[key] = value !== undefined ? value : {});
})('versions', []).push({ })('versions', []).push({
version: '3.33.0', version: '3.33.2',
mode: IS_PURE ? 'pure' : 'global', mode: IS_PURE ? 'pure' : 'global',
copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE', license: 'https://github.com/zloirock/core-js/blob/v3.33.2/LICENSE',
source: 'https://github.com/zloirock/core-js' source: 'https://github.com/zloirock/core-js'
}); });
@ -3758,7 +3759,6 @@ if (ErrorPrototype.toString !== errorToString) {
var DESCRIPTORS = __webpack_require__(6); var DESCRIPTORS = __webpack_require__(6);
var fails = __webpack_require__(7); var fails = __webpack_require__(7);
var anObject = __webpack_require__(47); var anObject = __webpack_require__(47);
var create = __webpack_require__(72);
var normalizeStringArgument = __webpack_require__(121); var normalizeStringArgument = __webpack_require__(121);
var nativeErrorToString = Error.prototype.toString; var nativeErrorToString = Error.prototype.toString;
@ -3766,8 +3766,8 @@ var nativeErrorToString = Error.prototype.toString;
var INCORRECT_TO_STRING = fails(function () { var INCORRECT_TO_STRING = fails(function () {
if (DESCRIPTORS) { if (DESCRIPTORS) {
// Chrome 32- incorrectly call accessor // Chrome 32- incorrectly call accessor
// eslint-disable-next-line es/no-object-defineproperty -- safe // eslint-disable-next-line es/no-object-create, es/no-object-defineproperty -- safe
var object = create(Object.defineProperty({}, 'name', { get: function () { var object = Object.create(Object.defineProperty({}, 'name', { get: function () {
return this === object; return this === object;
} })); } }));
if (nativeErrorToString.call(object) !== 'true') return true; if (nativeErrorToString.call(object) !== 'true') return true;
@ -4977,13 +4977,12 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
}, function () { }, function () {
var state = getInternalState(this); var state = getInternalState(this);
var target = state.target; var target = state.target;
var kind = state.kind;
var index = state.index++; var index = state.index++;
if (!target || index >= target.length) { if (!target || index >= target.length) {
state.target = undefined; state.target = undefined;
return createIterResultObject(undefined, true); return createIterResultObject(undefined, true);
} }
switch (kind) { switch (state.kind) {
case 'keys': return createIterResultObject(index, false); case 'keys': return createIterResultObject(index, false);
case 'values': return createIterResultObject(target[index], false); case 'values': return createIterResultObject(target[index], false);
} return createIterResultObject([index, target[index]], false); } return createIterResultObject([index, target[index]], false);
@ -6008,11 +6007,11 @@ var uncurryThis = __webpack_require__(14);
var aCallable = __webpack_require__(31); var aCallable = __webpack_require__(31);
var toIndexedObject = __webpack_require__(12); var toIndexedObject = __webpack_require__(12);
var arrayFromConstructorAndList = __webpack_require__(199); var arrayFromConstructorAndList = __webpack_require__(199);
var getVirtual = __webpack_require__(200); var getBuiltInPrototypeMethod = __webpack_require__(200);
var addToUnscopables = __webpack_require__(140); var addToUnscopables = __webpack_require__(140);
var $Array = Array; var $Array = Array;
var sort = uncurryThis(getVirtual('Array').sort); var sort = uncurryThis(getBuiltInPrototypeMethod('Array', 'sort'));
// `Array.prototype.toSorted` method // `Array.prototype.toSorted` method
// https://tc39.es/ecma262/#sec-array.prototype.tosorted // https://tc39.es/ecma262/#sec-array.prototype.tosorted
@ -6053,8 +6052,10 @@ module.exports = function (Constructor, list) {
var global = __webpack_require__(4); var global = __webpack_require__(4);
module.exports = function (CONSTRUCTOR) { module.exports = function (CONSTRUCTOR, METHOD) {
return global[CONSTRUCTOR].prototype; var Constructor = global[CONSTRUCTOR];
var Prototype = Constructor && Constructor.prototype;
return Prototype && Prototype[METHOD];
}; };
@ -15957,14 +15958,14 @@ var getIterator = __webpack_require__(135);
var getIteratorDirect = __webpack_require__(496); var getIteratorDirect = __webpack_require__(496);
var getIteratorMethod = __webpack_require__(136); var getIteratorMethod = __webpack_require__(136);
var getMethod = __webpack_require__(30); var getMethod = __webpack_require__(30);
var getVirtual = __webpack_require__(200);
var getBuiltIn = __webpack_require__(24); var getBuiltIn = __webpack_require__(24);
var getBuiltInPrototypeMethod = __webpack_require__(200);
var wellKnownSymbol = __webpack_require__(34); var wellKnownSymbol = __webpack_require__(34);
var AsyncFromSyncIterator = __webpack_require__(494); var AsyncFromSyncIterator = __webpack_require__(494);
var toArray = __webpack_require__(497).toArray; var toArray = __webpack_require__(497).toArray;
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
var arrayIterator = uncurryThis(getVirtual('Array').values); var arrayIterator = uncurryThis(getBuiltInPrototypeMethod('Array', 'values'));
var arrayIteratorNext = uncurryThis(arrayIterator([]).next); var arrayIteratorNext = uncurryThis(arrayIterator([]).next);
var safeArrayIterator = function () { var safeArrayIterator = function () {
@ -17721,7 +17722,7 @@ var AsyncFromSyncIterator = __webpack_require__(494);
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
module.exports = function from(obj) { module.exports = function (obj) {
var object = anObject(obj); var object = anObject(obj);
var alreadyAsync = true; var alreadyAsync = true;
var method = getMethod(object, ASYNC_ITERATOR); var method = getMethod(object, ASYNC_ITERATOR);
@ -18272,7 +18273,7 @@ var uncurryThis = __webpack_require__(14);
var getUint8 = uncurryThis(DataView.prototype.getUint8); var getUint8 = uncurryThis(DataView.prototype.getUint8);
// `DataView.prototype.getUint8Clamped` method // `DataView.prototype.getUint8Clamped` method
// https://github.com/tc39/proposal-dataview-get-set-uint8c // https://github.com/tc39/proposal-dataview-get-set-uint8clamped
$({ target: 'DataView', proto: true, forced: true }, { $({ target: 'DataView', proto: true, forced: true }, {
getUint8Clamped: function getUint8Clamped(byteOffset) { getUint8Clamped: function getUint8Clamped(byteOffset) {
return getUint8(this, byteOffset); return getUint8(this, byteOffset);
@ -18345,7 +18346,7 @@ var $TypeError = TypeError;
var setUint8 = uncurryThis(DataView.prototype.setUint8); var setUint8 = uncurryThis(DataView.prototype.setUint8);
// `DataView.prototype.setUint8Clamped` method // `DataView.prototype.setUint8Clamped` method
// https://github.com/tc39/proposal-dataview-get-set-uint8c // https://github.com/tc39/proposal-dataview-get-set-uint8clamped
$({ target: 'DataView', proto: true, forced: true }, { $({ target: 'DataView', proto: true, forced: true }, {
setUint8Clamped: function setUint8Clamped(byteOffset, value) { setUint8Clamped: function setUint8Clamped(byteOffset, value) {
if (classof(this) !== 'DataView') throw new $TypeError('Incorrect receiver'); if (classof(this) !== 'DataView') throw new $TypeError('Incorrect receiver');
@ -20734,18 +20735,19 @@ var INVALID_RADIX = 'Invalid radix';
var $RangeError = RangeError; var $RangeError = RangeError;
var $SyntaxError = SyntaxError; var $SyntaxError = SyntaxError;
var $TypeError = TypeError; var $TypeError = TypeError;
var valid = /^[\da-z]+$/; var pow = Math.pow;
var valid = /^[\d.a-z]+$/;
var charAt = uncurryThis(''.charAt); var charAt = uncurryThis(''.charAt);
var exec = uncurryThis(valid.exec); var exec = uncurryThis(valid.exec);
var numberToString = uncurryThis(1.0.toString); var numberToString = uncurryThis(1.0.toString);
var stringSlice = uncurryThis(''.slice); var stringSlice = uncurryThis(''.slice);
var split = uncurryThis(''.split);
// `Number.fromString` method // `Number.fromString` method
// https://github.com/tc39/proposal-number-fromstring // https://github.com/tc39/proposal-number-fromstring
$({ target: 'Number', stat: true, forced: true }, { $({ target: 'Number', stat: true, forced: true }, {
fromString: function fromString(string, radix) { fromString: function fromString(string, radix) {
var sign = 1; var sign = 1;
var R, mathNum;
if (typeof string != 'string') throw new $TypeError(INVALID_NUMBER_REPRESENTATION); if (typeof string != 'string') throw new $TypeError(INVALID_NUMBER_REPRESENTATION);
if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION); if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
if (charAt(string, 0) === '-') { if (charAt(string, 0) === '-') {
@ -20753,11 +20755,13 @@ $({ target: 'Number', stat: true, forced: true }, {
string = stringSlice(string, 1); string = stringSlice(string, 1);
if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION); if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
} }
R = radix === undefined ? 10 : toIntegerOrInfinity(radix); var R = radix === undefined ? 10 : toIntegerOrInfinity(radix);
if (R < 2 || R > 36) throw new $RangeError(INVALID_RADIX); if (R < 2 || R > 36) throw new $RangeError(INVALID_RADIX);
if (!exec(valid, string) || numberToString(mathNum = parseInt(string, R), R) !== string) { if (!exec(valid, string)) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION); var parts = split(string, '.');
} var mathNum = parseInt(parts[0], R);
if (parts.length > 1) mathNum += parseInt(parts[1], R) / pow(R, parts[1].length);
if (numberToString(mathNum, R) !== string) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
return sign * mathNum; return sign * mathNum;
} }
}); });
@ -23203,7 +23207,6 @@ defineWellKnownSymbol('matcher');
"use strict"; "use strict";
// TODO: Remove from `core-js@4`
var defineWellKnownSymbol = __webpack_require__(81); var defineWellKnownSymbol = __webpack_require__(81);
// `Symbol.metadata` well-known symbol // `Symbol.metadata` well-known symbol
@ -23217,6 +23220,7 @@ defineWellKnownSymbol('metadata');
"use strict"; "use strict";
// TODO: Remove from `core-js@4`
var defineWellKnownSymbol = __webpack_require__(81); var defineWellKnownSymbol = __webpack_require__(81);
// `Symbol.metadataKey` well-known symbol // `Symbol.metadataKey` well-known symbol
@ -24449,7 +24453,7 @@ try {
var IS_PURE = __webpack_require__(36); var IS_PURE = __webpack_require__(36);
var $ = __webpack_require__(3); var $ = __webpack_require__(3);
var global = __webpack_require__(4); var global = __webpack_require__(4);
var getBuiltin = __webpack_require__(24); var getBuiltIn = __webpack_require__(24);
var uncurryThis = __webpack_require__(14); var uncurryThis = __webpack_require__(14);
var fails = __webpack_require__(7); var fails = __webpack_require__(7);
var uid = __webpack_require__(41); var uid = __webpack_require__(41);
@ -24469,7 +24473,8 @@ var validateArgumentsLength = __webpack_require__(329);
var getRegExpFlags = __webpack_require__(369); var getRegExpFlags = __webpack_require__(369);
var MapHelpers = __webpack_require__(506); var MapHelpers = __webpack_require__(506);
var SetHelpers = __webpack_require__(659); var SetHelpers = __webpack_require__(659);
var arrayBufferTransfer = __webpack_require__(519); var setIterate = __webpack_require__(664);
var detachTransferable = __webpack_require__(520);
var ERROR_STACK_INSTALLABLE = __webpack_require__(125); var ERROR_STACK_INSTALLABLE = __webpack_require__(125);
var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(522); var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(522);
@ -24477,25 +24482,17 @@ var Object = global.Object;
var Array = global.Array; var Array = global.Array;
var Date = global.Date; var Date = global.Date;
var Error = global.Error; var Error = global.Error;
var EvalError = global.EvalError;
var RangeError = global.RangeError;
var ReferenceError = global.ReferenceError;
var SyntaxError = global.SyntaxError;
var TypeError = global.TypeError; var TypeError = global.TypeError;
var URIError = global.URIError;
var PerformanceMark = global.PerformanceMark; var PerformanceMark = global.PerformanceMark;
var WebAssembly = global.WebAssembly; var DOMException = getBuiltIn('DOMException');
var CompileError = WebAssembly && WebAssembly.CompileError || Error;
var LinkError = WebAssembly && WebAssembly.LinkError || Error;
var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;
var DOMException = getBuiltin('DOMException');
var Map = MapHelpers.Map; var Map = MapHelpers.Map;
var mapHas = MapHelpers.has; var mapHas = MapHelpers.has;
var mapGet = MapHelpers.get; var mapGet = MapHelpers.get;
var mapSet = MapHelpers.set; var mapSet = MapHelpers.set;
var Set = SetHelpers.Set; var Set = SetHelpers.Set;
var setAdd = SetHelpers.add; var setAdd = SetHelpers.add;
var objectKeys = getBuiltin('Object', 'keys'); var setHas = SetHelpers.has;
var objectKeys = getBuiltIn('Object', 'keys');
var push = uncurryThis([].push); var push = uncurryThis([].push);
var thisBooleanValue = uncurryThis(true.valueOf); var thisBooleanValue = uncurryThis(true.valueOf);
var thisNumberValue = uncurryThis(1.0.valueOf); var thisNumberValue = uncurryThis(1.0.valueOf);
@ -24510,7 +24507,7 @@ var checkBasicSemantic = function (structuredCloneImplementation) {
var set1 = new global.Set([7]); var set1 = new global.Set([7]);
var set2 = structuredCloneImplementation(set1); var set2 = structuredCloneImplementation(set1);
var number = structuredCloneImplementation(Object(7)); var number = structuredCloneImplementation(Object(7));
return set2 === set1 || !set2.has(7) || typeof number != 'object' || +number !== 7; return set2 === set1 || !set2.has(7) || !isObject(number) || +number !== 7;
}) && structuredCloneImplementation; }) && structuredCloneImplementation;
}; };
@ -24606,10 +24603,10 @@ var cloneBuffer = function (value, map, $type) {
// `ArrayBuffer#slice` is not available in IE10 // `ArrayBuffer#slice` is not available in IE10
// `ArrayBuffer#slice` and `DataView` are not available in old FF // `ArrayBuffer#slice` and `DataView` are not available in old FF
if (!DataView && typeof value.slice != 'function') throwUnpolyfillable('ArrayBuffer'); if (!DataView && !isCallable(value.slice)) throwUnpolyfillable('ArrayBuffer');
// detached buffers throws in `DataView` and `.slice` // detached buffers throws in `DataView` and `.slice`
try { try {
if (typeof value.slice == 'function' && !value.resizable) { if (isCallable(value.slice) && !value.resizable) {
clone = value.slice(0); clone = value.slice(0);
} else { } else {
length = value.byteLength; length = value.byteLength;
@ -24639,13 +24636,7 @@ var cloneView = function (value, type, offset, length, map) {
return new C(cloneBuffer(value.buffer, map), offset, length); return new C(cloneBuffer(value.buffer, map), offset, length);
}; };
var Placeholder = function (object, type, metadata) { var structuredCloneInternal = function (value, map) {
this.object = object;
this.type = type;
this.metadata = metadata;
};
var structuredCloneInternal = function (value, map, transferredBuffers) {
if (isSymbol(value)) throwUncloneable('Symbol'); if (isSymbol(value)) throwUncloneable('Symbol');
if (!isObject(value)) return value; if (!isObject(value)) return value;
// effectively preserves circular references // effectively preserves circular references
@ -24678,34 +24669,21 @@ var structuredCloneInternal = function (value, map, transferredBuffers) {
name = value.name; name = value.name;
switch (name) { switch (name) {
case 'AggregateError': case 'AggregateError':
cloned = new (getBuiltin('AggregateError'))([]); cloned = new (getBuiltIn(name))([]);
break; break;
case 'EvalError': case 'EvalError':
cloned = new EvalError();
break;
case 'RangeError': case 'RangeError':
cloned = new RangeError();
break;
case 'ReferenceError': case 'ReferenceError':
cloned = new ReferenceError(); case 'SuppressedError':
break;
case 'SyntaxError': case 'SyntaxError':
cloned = new SyntaxError();
break;
case 'TypeError': case 'TypeError':
cloned = new TypeError();
break;
case 'URIError': case 'URIError':
cloned = new URIError(); cloned = new (getBuiltIn(name))();
break; break;
case 'CompileError': case 'CompileError':
cloned = new CompileError();
break;
case 'LinkError': case 'LinkError':
cloned = new LinkError();
break;
case 'RuntimeError': case 'RuntimeError':
cloned = new RuntimeError(); cloned = new (getBuiltIn('WebAssembly', name))();
break; break;
default: default:
cloned = new Error(); cloned = new Error();
@ -24716,9 +24694,7 @@ var structuredCloneInternal = function (value, map, transferredBuffers) {
break; break;
case 'ArrayBuffer': case 'ArrayBuffer':
case 'SharedArrayBuffer': case 'SharedArrayBuffer':
cloned = transferredBuffers cloned = cloneBuffer(value, map, type);
? new Placeholder(value, type)
: cloneBuffer(value, map, type);
break; break;
case 'DataView': case 'DataView':
case 'Int8Array': case 'Int8Array':
@ -24734,17 +24710,15 @@ var structuredCloneInternal = function (value, map, transferredBuffers) {
case 'BigInt64Array': case 'BigInt64Array':
case 'BigUint64Array': case 'BigUint64Array':
length = type === 'DataView' ? value.byteLength : value.length; length = type === 'DataView' ? value.byteLength : value.length;
cloned = transferredBuffers cloned = cloneView(value, type, value.byteOffset, length, map);
? new Placeholder(value, type, { offset: value.byteOffset, length: length })
: cloneView(value, type, value.byteOffset, length, map);
break; break;
case 'DOMQuad': case 'DOMQuad':
try { try {
cloned = new DOMQuad( cloned = new DOMQuad(
structuredCloneInternal(value.p1, map, transferredBuffers), structuredCloneInternal(value.p1, map),
structuredCloneInternal(value.p2, map, transferredBuffers), structuredCloneInternal(value.p2, map),
structuredCloneInternal(value.p3, map, transferredBuffers), structuredCloneInternal(value.p3, map),
structuredCloneInternal(value.p4, map, transferredBuffers) structuredCloneInternal(value.p4, map)
); );
} catch (error) { } catch (error) {
cloned = tryNativeRestrictedStructuredClone(value, type); cloned = tryNativeRestrictedStructuredClone(value, type);
@ -24765,7 +24739,7 @@ var structuredCloneInternal = function (value, map, transferredBuffers) {
dataTransfer = createDataTransfer(); dataTransfer = createDataTransfer();
if (dataTransfer) { if (dataTransfer) {
for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { for (i = 0, length = lengthOfArrayLike(value); i < length; i++) {
dataTransfer.items.add(structuredCloneInternal(value[i], map, transferredBuffers)); dataTransfer.items.add(structuredCloneInternal(value[i], map));
} }
cloned = dataTransfer.files; cloned = dataTransfer.files;
} else cloned = tryNativeRestrictedStructuredClone(value, type); } else cloned = tryNativeRestrictedStructuredClone(value, type);
@ -24774,7 +24748,7 @@ var structuredCloneInternal = function (value, map, transferredBuffers) {
// Safari 9 ImageData is a constructor, but typeof ImageData is 'object' // Safari 9 ImageData is a constructor, but typeof ImageData is 'object'
try { try {
cloned = new ImageData( cloned = new ImageData(
structuredCloneInternal(value.data, map, transferredBuffers), structuredCloneInternal(value.data, map),
value.width, value.width,
value.height, value.height,
{ colorSpace: value.colorSpace } { colorSpace: value.colorSpace }
@ -24871,105 +24845,38 @@ var structuredCloneInternal = function (value, map, transferredBuffers) {
keys = objectKeys(value); keys = objectKeys(value);
for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {
key = keys[i]; key = keys[i];
createProperty(cloned, key, structuredCloneInternal(value[key], map, transferredBuffers)); createProperty(cloned, key, structuredCloneInternal(value[key], map));
} break; } break;
case 'Map': case 'Map':
value.forEach(function (v, k) { value.forEach(function (v, k) {
mapSet(cloned, structuredCloneInternal(k, map, transferredBuffers), structuredCloneInternal(v, map, transferredBuffers)); mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map));
}); });
break; break;
case 'Set': case 'Set':
value.forEach(function (v) { value.forEach(function (v) {
setAdd(cloned, structuredCloneInternal(v, map, transferredBuffers)); setAdd(cloned, structuredCloneInternal(v, map));
}); });
break; break;
case 'Error': case 'Error':
createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map, transferredBuffers)); createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map));
if (hasOwn(value, 'cause')) { if (hasOwn(value, 'cause')) {
createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map, transferredBuffers)); createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map));
} }
if (name === 'AggregateError') { if (name === 'AggregateError') {
cloned.errors = structuredCloneInternal(value.errors, map, transferredBuffers); cloned.errors = structuredCloneInternal(value.errors, map);
} else if (name === 'SuppressedError') {
cloned.error = structuredCloneInternal(value.error, map);
cloned.suppressed = structuredCloneInternal(value.suppressed, map);
} // break omitted } // break omitted
case 'DOMException': case 'DOMException':
if (ERROR_STACK_INSTALLABLE) { if (ERROR_STACK_INSTALLABLE) {
createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map, transferredBuffers)); createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map));
} }
} }
return cloned; return cloned;
}; };
var replacePlaceholders = function (value, map) {
if (!isObject(value)) return value;
if (mapHas(map, value)) return mapGet(map, value);
var type, object, metadata, i, length, keys, key, replacement;
if (value instanceof Placeholder) {
type = value.type;
object = value.object;
switch (type) {
case 'ArrayBuffer':
case 'SharedArrayBuffer':
replacement = cloneBuffer(object, map, type);
break;
case 'DataView':
case 'Int8Array':
case 'Uint8Array':
case 'Uint8ClampedArray':
case 'Int16Array':
case 'Uint16Array':
case 'Int32Array':
case 'Uint32Array':
case 'Float16Array':
case 'Float32Array':
case 'Float64Array':
case 'BigInt64Array':
case 'BigUint64Array':
metadata = value.metadata;
replacement = cloneView(object, type, metadata.offset, metadata.length, map);
}
} else switch (classof(value)) {
case 'Array':
case 'Object':
keys = objectKeys(value);
for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {
key = keys[i];
value[key] = replacePlaceholders(value[key], map);
} break;
case 'Map':
replacement = new Map();
value.forEach(function (v, k) {
mapSet(replacement, replacePlaceholders(k, map), replacePlaceholders(v, map));
});
break;
case 'Set':
replacement = new Set();
value.forEach(function (v) {
setAdd(replacement, replacePlaceholders(v, map));
});
break;
case 'Error':
value.message = replacePlaceholders(value.message, map);
if (hasOwn(value, 'cause')) {
value.cause = replacePlaceholders(value.cause, map);
}
if (value.name === 'AggregateError') {
value.errors = replacePlaceholders(value.errors, map);
} // break omitted
case 'DOMException':
if (ERROR_STACK_INSTALLABLE) {
value.stack = replacePlaceholders(value.stack, map);
}
}
mapSet(map, value, replacement || value);
return replacement || value;
};
var tryToTransfer = function (rawTransfer, map) { var tryToTransfer = function (rawTransfer, map) {
if (!isObject(rawTransfer)) throw new TypeError('Transfer option cannot be converted to a sequence'); if (!isObject(rawTransfer)) throw new TypeError('Transfer option cannot be converted to a sequence');
@ -24981,7 +24888,7 @@ var tryToTransfer = function (rawTransfer, map) {
var i = 0; var i = 0;
var length = lengthOfArrayLike(transfer); var length = lengthOfArrayLike(transfer);
var buffers = []; var buffers = new Set();
var value, type, C, transferred, canvas, context; var value, type, C, transferred, canvas, context;
while (i < length) { while (i < length) {
@ -24989,12 +24896,14 @@ var tryToTransfer = function (rawTransfer, map) {
type = classof(value); type = classof(value);
if (type === 'ArrayBuffer') { if (type === 'ArrayBuffer' ? setHas(buffers, value) : mapHas(map, value)) {
push(buffers, value); throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);
continue;
} }
if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); if (type === 'ArrayBuffer') {
setAdd(buffers, value);
continue;
}
if (PROPER_STRUCTURED_CLONE_TRANSFER) { if (PROPER_STRUCTURED_CLONE_TRANSFER) {
transferred = nativeStructuredClone(value, { transfer: [value] }); transferred = nativeStructuredClone(value, { transfer: [value] });
@ -25034,25 +24943,18 @@ var tryToTransfer = function (rawTransfer, map) {
return buffers; return buffers;
}; };
var tryToTransferBuffers = function (transfer, map) { var detachBuffers = function (buffers) {
var i = 0; setIterate(buffers, function (buffer) {
var length = lengthOfArrayLike(transfer); if (PROPER_STRUCTURED_CLONE_TRANSFER) {
var value, transferred; nativeRestrictedStructuredClone(buffer, { transfer: [buffer] });
} else if (isCallable(buffer.transfer)) {
while (i < length) { buffer.transfer();
value = transfer[i++]; } else if (detachTransferable) {
detachTransferable(buffer);
if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);
if (arrayBufferTransfer) {
transferred = arrayBufferTransfer(value, undefined, true);
} else { } else {
if (!isCallable(value.transfer)) throwUnpolyfillable('ArrayBuffer', TRANSFERRING); throwUnpolyfillable('ArrayBuffer', TRANSFERRING);
transferred = value.transfer();
} }
});
mapSet(map, value, transferred);
}
}; };
// `structuredClone` method // `structuredClone` method
@ -25061,24 +24963,18 @@ $({ global: true, enumerable: true, sham: !PROPER_STRUCTURED_CLONE_TRANSFER, for
structuredClone: function structuredClone(value /* , { transfer } */) { structuredClone: function structuredClone(value /* , { transfer } */) {
var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined;
var transfer = options ? options.transfer : undefined; var transfer = options ? options.transfer : undefined;
var transferredBuffers = false;
var map, buffers; var map, buffers;
if (transfer !== undefined) { if (transfer !== undefined) {
map = new Map(); map = new Map();
buffers = tryToTransfer(transfer, map); buffers = tryToTransfer(transfer, map);
transferredBuffers = !!lengthOfArrayLike(buffers);
} }
var clone = structuredCloneInternal(value, map, transferredBuffers); var clone = structuredCloneInternal(value, map);
// since of an issue with cloning views of transferred buffers, we a forced to transfer / clone them in 2 steps // since of an issue with cloning views of transferred buffers, we a forced to detach them later
// https://github.com/zloirock/core-js/issues/1265 // https://github.com/zloirock/core-js/issues/1265
if (transferredBuffers) { if (buffers) detachBuffers(buffers);
map = new Map();
tryToTransferBuffers(transfer, map);
clone = replacePlaceholders(clone, map);
}
return clone; return clone;
} }
@ -26468,6 +26364,7 @@ var create = __webpack_require__(72);
var createPropertyDescriptor = __webpack_require__(11); var createPropertyDescriptor = __webpack_require__(11);
var getIterator = __webpack_require__(135); var getIterator = __webpack_require__(135);
var getIteratorMethod = __webpack_require__(136); var getIteratorMethod = __webpack_require__(136);
var createIterResultObject = __webpack_require__(173);
var validateArgumentsLength = __webpack_require__(329); var validateArgumentsLength = __webpack_require__(329);
var wellKnownSymbol = __webpack_require__(34); var wellKnownSymbol = __webpack_require__(34);
var arraySort = __webpack_require__(189); var arraySort = __webpack_require__(189);
@ -26556,17 +26453,23 @@ var serialize = function (it) {
var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
setInternalState(this, { setInternalState(this, {
type: URL_SEARCH_PARAMS_ITERATOR, type: URL_SEARCH_PARAMS_ITERATOR,
iterator: getIterator(getInternalParamsState(params).entries), target: getInternalParamsState(params).entries,
index: 0,
kind: kind kind: kind
}); });
}, 'Iterator', function next() { }, URL_SEARCH_PARAMS, function next() {
var state = getInternalIteratorState(this); var state = getInternalIteratorState(this);
var kind = state.kind; var target = state.target;
var step = state.iterator.next(); var index = state.index++;
var entry = step.value; if (!target || index >= target.length) {
if (!step.done) { state.target = undefined;
step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; return createIterResultObject(undefined, true);
} return step; }
var entry = target[index];
switch (state.kind) {
case 'keys': return createIterResultObject(entry.key, false);
case 'values': return createIterResultObject(entry.value, false);
} return createIterResultObject([entry.key, entry.value], false);
}, true); }, true);
var URLSearchParamsState = function (init) { var URLSearchParamsState = function (init) {
@ -26586,6 +26489,7 @@ URLSearchParamsState.prototype = {
this.update(); this.update();
}, },
parseObject: function (object) { parseObject: function (object) {
var entries = this.entries;
var iteratorMethod = getIteratorMethod(object); var iteratorMethod = getIteratorMethod(object);
var iterator, next, step, entryIterator, entryNext, first, second; var iterator, next, step, entryIterator, entryNext, first, second;
@ -26600,14 +26504,15 @@ URLSearchParamsState.prototype = {
(second = call(entryNext, entryIterator)).done || (second = call(entryNext, entryIterator)).done ||
!call(entryNext, entryIterator).done !call(entryNext, entryIterator).done
) throw new TypeError('Expected sequence with length 2'); ) throw new TypeError('Expected sequence with length 2');
push(this.entries, { key: $toString(first.value), value: $toString(second.value) }); push(entries, { key: $toString(first.value), value: $toString(second.value) });
} }
} else for (var key in object) if (hasOwn(object, key)) { } else for (var key in object) if (hasOwn(object, key)) {
push(this.entries, { key: key, value: $toString(object[key]) }); push(entries, { key: key, value: $toString(object[key]) });
} }
}, },
parseQuery: function (query) { parseQuery: function (query) {
if (query) { if (query) {
var entries = this.entries;
var attributes = split(query, '&'); var attributes = split(query, '&');
var index = 0; var index = 0;
var attribute, entry; var attribute, entry;
@ -26615,7 +26520,7 @@ URLSearchParamsState.prototype = {
attribute = attributes[index++]; attribute = attributes[index++];
if (attribute.length) { if (attribute.length) {
entry = split(attribute, '='); entry = split(attribute, '=');
push(this.entries, { push(entries, {
key: deserialize(shift(entry)), key: deserialize(shift(entry)),
value: deserialize(join(entry, '=')) value: deserialize(join(entry, '='))
}); });

View File

@ -1,5 +1,15 @@
"use strict"; "use strict";
{ const nonameInitialized=localStorage.getItem('noname_inited');
const assetURL=typeof nonameInitialized!='string'||nonameInitialized=='nodejs'?'':nonameInitialized;
new Promise(resolve=>{
if('__core-js_shared__' in window) resolve();
else{
const coreJSBundle=document.createElement('script');
coreJSBundle.onerror=coreJSBundle.onload=resolve;
coreJSBundle.src=`${assetURL}game/core-js-bundle.js`;
document.head.appendChild(coreJSBundle);
}
}).then(()=>{
/** /**
* @typedef {InstanceType<typeof lib.element.Player>} Player * @typedef {InstanceType<typeof lib.element.Player>} Player
* @typedef {InstanceType<typeof lib.element.Card>} Card * @typedef {InstanceType<typeof lib.element.Card>} Card
@ -36,7 +46,6 @@
} }
} }
} }
const nonameInitialized=localStorage.getItem('noname_inited');
const GeneratorFunction=(function*(){}).constructor; const GeneratorFunction=(function*(){}).constructor;
// gnc: GeNCoroutine // gnc: GeNCoroutine
const gnc={ const gnc={
@ -122,7 +131,7 @@
updateURL:'https://raw.githubusercontent.com/libccy/noname', updateURL:'https://raw.githubusercontent.com/libccy/noname',
mirrorURL:'https://raw.fgit.cf/libccy/noname', mirrorURL:'https://raw.fgit.cf/libccy/noname',
hallURL:'47.99.105.222', hallURL:'47.99.105.222',
assetURL:typeof nonameInitialized!='string'||nonameInitialized=='nodejs'?'':nonameInitialized, assetURL:assetURL,
userAgent:userAgent, userAgent:userAgent,
compatibleEdition:Boolean(typeof nonameInitialized=='string'&&nonameInitialized.match(/\/(?:com\.widget|yuri\.nakamura)\.noname\//)), compatibleEdition:Boolean(typeof nonameInitialized=='string'&&nonameInitialized.match(/\/(?:com\.widget|yuri\.nakamura)\.noname\//)),
changeLog:[], changeLog:[],
@ -8656,36 +8665,33 @@
else src=`image/${type}/${subfolder}/${name}${ext}`; else src=`image/${type}/${subfolder}/${name}${ext}`;
} }
else src=`image/${name}${ext}`; else src=`image/${name}${ext}`;
new Promise((resolve,reject)=>{ this.setBackgroundImage(src);
const image=new Image(); this.style.backgroundPositionX='center';
image.src=`${lib.assetURL}${src}`; this.style.backgroundSize='cover';
image.onload=resolve; if(type=='character'){
if(type=='character') image.onerror=reject; new Promise((_,reject)=>{
}).then(()=>{ const image=new Image();
this.setBackgroundImage(src); image.src=`${lib.assetURL}${src}`;
this.style.backgroundPositionX='center'; image.onerror=reject;
this.style.backgroundSize='cover'; }).catch(()=>new Promise((_,reject)=>{
}).catch(()=>new Promise((resolve,reject)=>{ const nameinfo=get.character(name);
const nameinfo=get.character(name); if(!nameinfo) reject('noinfo');
const sex=nameinfo[0]; const sex=nameinfo[0];
src=`image/character/default_silhouette_${sex}${ext}`; src=`image/character/default_silhouette_${sex}${ext}`;
const image=new Image(); const image=new Image();
image.src=`${lib.assetURL}${src}`; image.src=`${lib.assetURL}${src}`;
image.onload=()=>resolve(src); image.onload=()=>this.setBackgroundImage(src);
image.onerror=reject; image.onerror=()=>reject(`sex:${sex}`);
}).catch(()=>new Promise((resolve,reject)=>{ })).catch(reason=>{
const nameinfo=get.character(name); let sex;
const sex=nameinfo[0]; if(reason=='noinfo') sex='male';
src=`image/character/default_silhouette_${sex=='female'?'female':'male'}${ext}`; else sex=reason.slice(4);
const image=new Image(); src=`image/character/default_silhouette_${sex=='female'?'female':'male'}${ext}`;
image.src=`${lib.assetURL}${src}`; const image=new Image();
image.onload=()=>resolve(src); image.src=`${lib.assetURL}${src}`;
image.onerror=reject; image.onload=()=>this.setBackgroundImage(src);
})).then((src)=>{ });
this.setBackgroundImage(src); }
this.style.backgroundPositionX='center';
this.style.backgroundSize='cover';
}));
return this; return this;
} }
}); });
@ -27370,8 +27376,19 @@
} }
addSkillLog(skill){ addSkillLog(skill){
this.addSkill(skill); this.addSkill(skill);
this.popup(skill); if(!Array.isArray(skill)) skill=[skill];
game.log(this,'获得了技能','#g【'+get.translation(skill)+'】'); skill.forEach(i=>{
this.popup(i);
game.log(this,'获得了技能','#g【'+get.translation(i)+'】');
});
}
removeSkillLog(skill,popop){
this.removeSkill(skill);
if(!Array.isArray(skill)) skill=[skill];
skill.forEach(i=>{
if(popop===true) this.popup(i);
game.log(this,'失去了技能','#g【'+get.translation(i)+'】');
});
} }
addInvisibleSkill(skill){ addInvisibleSkill(skill){
if(Array.isArray(skill)){ if(Array.isArray(skill)){
@ -27859,7 +27876,7 @@
this.removeAdditionalSkill(i); this.removeAdditionalSkill(i);
} }
} }
this.removeSkill(list); this[all?'removeSkill':'removeSkillLog'](list);
this.checkConflict(); this.checkConflict();
this.checkMarks(); this.checkMarks();
return list; return list;
@ -32533,7 +32550,7 @@
} }
if(game.online||game.onlineroom){ if(game.online||game.onlineroom){
if((game.servermode||game.onlinehall)&&_status.over){ if((game.servermode||game.onlinehall)&&_status.over){
void 0;
} }
else{ else{
localStorage.setItem(lib.configprefix+'directstart',true); localStorage.setItem(lib.configprefix+'directstart',true);
@ -35147,9 +35164,7 @@
} }
} }
if(!_status.requestReadClipboard&&get.config('read_clipboard','connect')){ if(!_status.requestReadClipboard&&get.config('read_clipboard','connect')){
//每次启动只请求一次 const read=text=>{
_status.requestReadClipboard=true;
function read(text){
try{ try{
var roomId=text.split('\n')[1].match(/\d+/); var roomId=text.split('\n')[1].match(/\d+/);
var caption=ui.rooms.find(caption=>caption.key==roomId); var caption=ui.rooms.find(caption=>caption.key==roomId);
@ -35159,6 +35174,8 @@
} }
}catch(e){console.log(e)} }catch(e){console.log(e)}
} }
//每次启动只请求一次
_status.requestReadClipboard=true;
if(_status.read_clipboard_text){ if(_status.read_clipboard_text){
read(_status.read_clipboard_text); read(_status.read_clipboard_text);
}else{ }else{
@ -37423,7 +37440,7 @@
ui.create.chat(); ui.create.chat();
if(game.onlineroom){ if(game.onlineroom){
void 0;
} }
else{ else{
var WebSocketServer=require('ws').Server; var WebSocketServer=require('ws').Server;
@ -44904,7 +44921,7 @@
config.item=config.item(); config.item=config.item();
} }
if(Array.isArray(config.init)){ if(Array.isArray(config.init)){
void 0;
} }
else{ else{
node.classList.add('switcher'); node.classList.add('switcher');
@ -44982,7 +44999,7 @@
} }
} }
else if(config.range){ else if(config.range){
void 0;
} }
else if(config.clear){ else if(config.clear){
if(node.innerHTML.length>=15) node.style.height='auto'; if(node.innerHTML.length>=15) node.style.height='auto';
@ -53749,19 +53766,15 @@
}, },
player:(position,noclick)=>new lib.element.Player(position,noclick), player:(position,noclick)=>new lib.element.Player(position,noclick),
connectPlayers:ip=>{ connectPlayers:ip=>{
ui.updateConnectPlayerPositions();
game.connectPlayers=[]; game.connectPlayers=[];
let numberOfPlayers=lib.configOL.number; const configOL=lib.configOL;
const gameMode=lib.configOL.mode; const numberOfPlayers=parseInt(configOL.player_number)||configOL.number;
if(gameMode=='guozhan'||(gameMode=='identity'&&(lib.configOL.identity_mode!='zhong'&&lib.configOL.identity_mode!='purple'))){
numberOfPlayers=10;
}
ui.updateConnectPlayerPositions(numberOfPlayers);
for(let position=0;position<numberOfPlayers;position++){ for(let position=0;position<numberOfPlayers;position++){
const player=ui.create.player(ui.window); const player=ui.create.player(ui.window);
player.dataset.position=position; player.dataset.position=position;
player.classList.add('connect'); player.classList.add('connect');
game.connectPlayers.push(player); game.connectPlayers.push(player);
if(position>=lib.configOL.number) player.classList.add('unselectable2');
} }
var bar=ui.create.div(ui.window); var bar=ui.create.div(ui.window);
@ -53793,7 +53806,7 @@
for(var i of game.connectPlayers){ for(var i of game.connectPlayers){
if(!i.nickname&&!i.classList.contains('unselectable2')) num++; if(!i.nickname&&!i.classList.contains('unselectable2')) num++;
} }
if(num>=numberOfPlayers-1){ if(num>=lib.configOL.number-1){
alert('至少要有两名玩家才能开始游戏!'); alert('至少要有两名玩家才能开始游戏!');
return; return;
} }
@ -58534,7 +58547,10 @@
* @param {number} [numberOfPlayers] * @param {number} [numberOfPlayers]
*/ */
updateConnectPlayerPositions:numberOfPlayers=>{ updateConnectPlayerPositions:numberOfPlayers=>{
if(typeof numberOfPlayers!='number') numberOfPlayers=lib.configOL.number; if(typeof numberOfPlayers!='number'){
const configOL=lib.configOL;
numberOfPlayers=parseInt(configOL.player_number)||configOL.number;
}
if(!numberOfPlayers) return; if(!numberOfPlayers) return;
const playerPositions=ui.playerPositions; const playerPositions=ui.playerPositions;
playerPositions.forEach((position) => { playerPositions.forEach((position) => {
@ -59770,14 +59786,14 @@
case 'guandu':return '官渡之战'; case 'guandu':return '官渡之战';
} }
} }
else if(config.mode=='single'){ if(config.mode=='single'){
switch(config.single_mode){ switch(config.single_mode){
case 'normal':return '新1v1'; case 'normal':return '新1v1';
case 'changban':return '血战长坂坡'; case 'changban':return '血战长坂坡';
case 'dianjiang':return '点将单挑'; case 'dianjiang':return '点将单挑';
} }
} }
else if(config.mode=='identity'){ if(config.mode=='identity'){
switch(config.identity_mode){ switch(config.identity_mode){
case 'purple':return '三对三对二'; case 'purple':return '三对三对二';
case 'zhong':return (config.double_character?'双将':'')+'忠胆英杰'; case 'zhong':return (config.double_character?'双将':'')+'忠胆英杰';
@ -59785,20 +59801,18 @@
default:return `${get.cnNumber(parseInt(config.number))}${config.double_nei?'双内':''}${config.enable_commoner?'带民':''}${config.double_character?'双将':''}身份`; default:return `${get.cnNumber(parseInt(config.number))}${config.double_nei?'双内':''}${config.enable_commoner?'带民':''}${config.double_character?'双将':''}身份`;
} }
} }
else if(config.mode=='guozhan'){ if(config.mode=='guozhan'){
if(config.separatism) return '群雄割据'; if(config.separatism) return '群雄割据';
if(config.guozhan_mode!='normal') switch(config.guozhan_mode){ if(config.guozhan_mode!='normal') switch(config.guozhan_mode){
case 'yingbian':return '应变国战'; case 'yingbian':return '应变国战';
case 'old':return '怀旧国战'; case 'old':return '怀旧国战';
} }
} }
if(server){
return get.translation(config.mode)+'模式';
}
else{ else{
if(server){ return get.cnNumber(parseInt(config.number))+'人'+get.translation(config.mode);
return get.translation(config.mode)+'模式';
}
else{
return get.cnNumber(parseInt(config.number))+'人'+get.translation(config.mode);
}
} }
}, },
charactersOL:func=>{ charactersOL:func=>{
@ -63444,11 +63458,5 @@
setAllPropertiesEnumerable(lib.element.Control.prototype); setAllPropertiesEnumerable(lib.element.Control.prototype);
setAllPropertiesEnumerable(lib.element.Client.prototype); setAllPropertiesEnumerable(lib.element.Client.prototype);
setAllPropertiesEnumerable(lib.element.NodeWS.prototype); setAllPropertiesEnumerable(lib.element.NodeWS.prototype);
if('__core-js_shared__' in window) lib.init.init(); lib.init.init();
else{ });
const coreJSBundle=document.createElement('script');
coreJSBundle.onerror=coreJSBundle.onload=lib.init.init;
coreJSBundle.src=`${lib.assetURL}game/core-js-bundle.js`;
document.head.appendChild(coreJSBundle);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -3256,38 +3256,6 @@ div:not(.handcards)>.card>.info>span,
left: calc(50% - 106px); left: calc(50% - 106px);
} }
#window>.player.connect[data-position='0'] {
left: calc(25% - 120px);
top: calc(300% / 7 - 155px);
}
#window>.player.connect[data-position='1'] {
left: calc(50% - 60px);
top: calc(300% / 7 - 155px);
}
#window>.player.connect[data-position='2'] {
left: calc(75% - 0px);
top: calc(300% / 7 - 155px);
}
#window>.player.connect[data-position='3'] {
left: calc(25% - 120px);
top: calc(400% / 7 - 75px);
}
#window>.player.connect[data-position='4'] {
left: calc(75% - 0px);
top: calc(400% / 7 - 75px);
}
#window>.player.connect[data-position='5'] {
left: calc(25% - 120px);
top: calc(500% / 7 + 5px);
}
#window>.player.connect[data-position='6'] {
left: calc(50% - 60px);
top: calc(500% / 7 + 5px);
}
#window>.player.connect[data-position='7'] {
left: calc(75% - 0px);
top: calc(500% / 7 + 5px);
}
#window>.player.connect[data-position='c0'] { #window>.player.connect[data-position='c0'] {
left: calc(50% - 120px); left: calc(50% - 120px);
top: calc(50% - 200px) top: calc(50% - 200px)

View File

@ -895,7 +895,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_dizangwang:['male','qun',8,['boss_bufo','boss_wuliang','boss_dayuan','boss_diting'],['shu','hiddenboss','bossallowed']], boss_dizangwang:['male','qun',8,['boss_bufo','boss_wuliang','boss_dayuan','boss_diting'],['shu','hiddenboss','bossallowed']],
//boss_shikieiki:['female','qun',8,['boss_yingzhong'],['qun','hiddenboss','bossallowed']], //boss_shikieiki:['female','qun',8,['boss_yingzhong'],['qun','hiddenboss','bossallowed']],
boss_lvbu1:['male','shen',8,['mashu','wushuang','boss_baonu','boss_jingjia','boss_aozhan'],['qun','boss','bossallowed'],'wei'], boss_lvbu1:['male','shen',8,['mashu','wushuang','boss_baonu','boss_jingjia','boss_aozhan'],['qun','boss','bossallowed'],'qun'],
boss_lvbu2:['male','shen',6,['mashu','wushuang','xiuluo','shenwei','shenji'],['qun','hiddenboss','bossallowed'],'qun'], boss_lvbu2:['male','shen',6,['mashu','wushuang','xiuluo','shenwei','shenji'],['qun','hiddenboss','bossallowed'],'qun'],
boss_lvbu3:['male','shen',6,['wushuang','shenqu','jiwu'],['qun','hiddenboss','bossallowed'],'qun'], boss_lvbu3:['male','shen',6,['wushuang','shenqu','jiwu'],['qun','hiddenboss','bossallowed'],'qun'],
@ -8551,20 +8551,21 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
} }
}, },
jiwu:{ jiwu:{
derivation:['qiangxix','retieji','olxuanfeng','rewansha'],
audio:2, audio:2,
enable:'phaseUse', enable:'phaseUse',
filter:function(event,player){ filter:function(event,player){
if(player.countCards('h')==0) return false; if(player.countCards('h')==0) return false;
if(!player.hasSkill('qiangxix')) return true; if(!player.hasSkill('qiangxix')) return true;
if(!player.hasSkill('retieji')) return true; if(!player.hasSkill('retieji')) return true;
if(!player.hasSkill('rexuanfeng')) return true; if(!player.hasSkill('olxuanfeng')) return true;
if(!player.hasSkill('wansha')) return true; if(!player.hasSkill('rewansha')) return true;
return false; return false;
}, },
filterCard:true, filterCard:true,
position:'he', position:'he',
check:function(card){ check:function(card){
if(get.position(card)=='e'&&_status.event.player.hasSkill('rexuanfeng')) return 16-get.value(card); if(get.position(card)=='e'&&_status.event.player.hasSkill('olxuanfeng')) return 16-get.value(card);
return 7-get.value(card); return 7-get.value(card);
}, },
content:function(){ content:function(){
@ -8572,30 +8573,30 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var list=[]; var list=[];
if(!player.hasSkill('qiangxix')) list.push('qiangxix'); if(!player.hasSkill('qiangxix')) list.push('qiangxix');
if(!player.hasSkill('retieji')) list.push('retieji'); if(!player.hasSkill('retieji')) list.push('retieji');
if(!player.hasSkill('rexuanfeng')) list.push('rexuanfeng'); if(!player.hasSkill('olxuanfeng')) list.push('olxuanfeng');
if(!player.hasSkill('wansha')) list.push('wansha'); if(!player.hasSkill('rewansha')) list.push('rewansha');
if(list.length==1){ if(list.length==1){
player.addTempSkill(list[0]); player.addTempSkill(list[0]);
event.finish(); event.finish();
} }
else{ else{
player.chooseControl(list,function(){ player.chooseControl(list,function(){
if(list.contains('rexuanfeng')&&player.countCards('he',{type:'equip'})) return 'rexuanfeng'; if(list.contains('olxuanfeng')&&player.countCards('he',{type:'equip'})) return 'olxuanfeng';
if(!player.getStat().skill.qiangxix){ if(!player.getStat().skill.qiangxix){
if(player.hasSkill('qiangxix')&&player.getEquip(1)&&list.contains('rexuanfeng')) return 'rexuanfeng'; if(player.hasSkill('qiangxix')&&player.getEquip(1)&&list.contains('olxuanfeng')) return 'olxuanfeng';
if(list.contains('wansha')||list.contains('qiangxix')){ if(list.contains('rewansha')||list.contains('qiangxix')){
var players=game.filterPlayer(); var players=game.filterPlayer();
for(var i=0;i<players.length;i++){ for(var i=0;i<players.length;i++){
if(players[i].hp==1&&get.attitude(player,players[i])<0){ if(players[i].hp==1&&get.attitude(player,players[i])<0){
if(list.contains('wansha')) return 'wansha'; if(list.contains('rewansha')) return 'rewansha';
if(list.contains('qiangxix')) return 'qiangxix'; if(list.contains('qiangxix')) return 'qiangxix';
} }
} }
} }
} }
if(list.contains('qiangxix')) return 'qiangxix'; if(list.contains('qiangxix')) return 'qiangxix';
if(list.contains('wansha')) return 'wansha'; if(list.contains('rewansha')) return 'rewansha';
if(list.contains('rexuanfeng')) return 'rexuanfeng'; if(list.contains('olxuanfeng')) return 'olxuanfeng';
return 'retieji'; return 'retieji';
}).set('prompt','选择获得一项技能直到回合结束'); }).set('prompt','选择获得一项技能直到回合结束');
} }
@ -8608,8 +8609,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var player=_status.event.player; var player=_status.event.player;
if(player.countCards('e',{type:'equip'})) return 10; if(player.countCards('e',{type:'equip'})) return 10;
if(!player.getStat().skill.qiangxix){ if(!player.getStat().skill.qiangxix){
if(player.hasSkill('qiangxix')&&player.getEquip(1)&&!player.hasSkill('rexuanfeng')) return 10; if(player.hasSkill('qiangxix')&&player.getEquip(1)&&!player.hasSkill('olxuanfeng')) return 10;
if(player.hasSkill('wansha')) return 1; if(player.hasSkill('rewansha')) return 1;
var players=game.filterPlayer(); var players=game.filterPlayer();
for(var i=0;i<players.length;i++){ for(var i=0;i<players.length;i++){
if(players[i].hp==1&&get.attitude(player,players[i])<0) return 10; if(players[i].hp==1&&get.attitude(player,players[i])<0) return 10;
@ -8621,8 +8622,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
player:function(player){ player:function(player){
if(player.countCards('e',{type:'equip'})) return 1; if(player.countCards('e',{type:'equip'})) return 1;
if(!player.getStat().skill.qiangxix){ if(!player.getStat().skill.qiangxix){
if(player.hasSkill('qiangxix')&&player.getEquip(1)&&!player.hasSkill('rexuanfeng')) return 1; if(player.hasSkill('qiangxix')&&player.getEquip(1)&&!player.hasSkill('olxuanfeng')) return 1;
if(!player.hasSkill('wansha')||!player.hasSkill('qiangxix')){ if(!player.hasSkill('rewansha')||!player.hasSkill('qiangxix')){
var players=game.filterPlayer(); var players=game.filterPlayer();
for(var i=0;i<players.length;i++){ for(var i=0;i<players.length;i++){
if(players[i].hp==1&&get.attitude(player,players[i])<0) return 1; if(players[i].hp==1&&get.attitude(player,players[i])<0) return 1;
@ -9293,11 +9294,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
shenwei:'神威', shenwei:'神威',
shenwei_info:'锁定技摸牌阶段你额外摸X张牌你的手牌上限+XX为场上其他角色的数目且至多为3。', shenwei_info:'锁定技摸牌阶段你额外摸X张牌你的手牌上限+XX为场上其他角色的数目且至多为3。',
xiuluo:'修罗', xiuluo:'修罗',
xiuluo_info:'准备阶段,你可以弃置一张牌,然后弃置你判定区内一张同花色的牌你可以重复此流程。', xiuluo_info:'准备阶段,你可以弃置一张牌,然后弃置你判定区内一张同花色的牌,然后你可以重复此流程。',
shenqu:'神躯', shenqu:'神躯',
shenqu_info:'每名角色的准备阶段,若你的手牌数少于或等于你的体力上限数,你可以摸两张牌;当你受到伤害后,你可以使用一张【桃】。', shenqu_info:'每名角色的准备阶段,若你的手牌数少于或等于你的体力上限数,你可以摸两张牌;当你受到伤害后,你可以使用一张【桃】。',
jiwu:'极武', jiwu:'极武',
jiwu_info:'出牌阶段,你可以弃置一张牌,然后获得一项:“强袭”、“铁骑”(界)、“旋风”、“完杀”,直到回合结束。', jiwu_info:'出牌阶段,你可以弃置一张牌,然后获得获得以下一项技能直到回合结束:〖强袭〗、〖铁骑〗、〖旋风〗、〖完杀〗。',
"boss_jingjia":"精甲", "boss_jingjia":"精甲",
"boss_jingjia_info":"锁定技,游戏开始时,将本局游戏中加入的装备随机置入你的装备区。", "boss_jingjia_info":"锁定技,游戏开始时,将本局游戏中加入的装备随机置入你的装备区。",

View File

@ -42,17 +42,20 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
node.style.overflow='hidden'; node.style.overflow='hidden';
var connect=function(e){ var connect=function(e){
const info=lib.config.reconnect_info;
if(info&&info[0]==node.textContent){
game.onlineID=info[1];
if(typeof (game.roomId=info[2])=='string') game.roomIdServer=true;
}
event.textnode.textContent='正在连接...'; event.textnode.textContent='正在连接...';
clearTimeout(event.timeout); clearTimeout(event.timeout);
if(e) e.preventDefault(); if(e) e.preventDefault();
game.saveConfig('last_ip',node.textContent); game.saveConfig('last_ip',node.textContent);
game.connect(node.textContent,function(success){ game.connect(node.textContent,function(success){
if(!success&&event.textnode){ if(success){
var info=lib.config.reconnect_info;
if(info&&info[0]==_status.ip){
game.onlineID=info[1];
if(typeof (game.roomId=info[2])=='string') game.roomIdServer=true;
}
return;
}
if(event.textnode){
alert('连接失败'); alert('连接失败');
event.textnode.textContent='输入联机地址'; event.textnode.textContent='输入联机地址';
} }
@ -121,7 +124,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},220); },220);
if (get.config('read_clipboard','connect')){ if (get.config('read_clipboard','connect')){
var ced=false; var ced=false;
function read(text){ var read=text=>{
try{ try{
var text2=text.split('\n')[2]; var text2=text.split('\n')[2];
var ip=text2.slice(5); var ip=text2.slice(5);