noname/extension/cardpile/extension.js

108 lines
1.8 KiB
JavaScript

import { lib, game, ui, get, ai, _status } from "../../noname.js";
game.import("play", function () {
return {
name: "cardpile",
arenaReady: function () {
var data = {
total: 160,
sha: {
diamond: 6,
club: 14,
heart: 3,
spade: 7,
},
huosha: {
diamond: 2,
heart: 3,
},
leisha: {
spade: 5,
club: 4,
},
shan: {
heart: 6,
diamond: 18,
},
jiu: {
diamond: 1,
spade: 2,
club: 2,
},
tao: {
heart: 9,
diamond: 3,
},
wanjian: {
heart: 1,
},
nanman: {
spade: 2,
club: 1,
},
guohe: {
spade: 3,
club: 2,
heart: 1,
},
shunshou: {
spade: 3,
diamond: 2,
},
wuxie: {
heart: 2,
diamond: 1,
spade: 2,
club: 2,
},
tiesuo: {
spade: 2,
club: 4,
},
};
var rand = function () {
return Math.ceil(Math.random() * 13);
};
var getn = function (i, j) {
return Math.round(
data[i][j] *
parseFloat(
lib.config["cardpile_" + i + "_playpackconfig"]
)
);
};
var num = 0;
for (var i in data) {
for (var j in data[i]) {
num += getn(i, j);
}
}
var dn =
(num * (lib.card.list.length - data.total)) /
(data.total - num);
if (dn > 1000) dn = 1000;
if (dn > 0) {
var p = 0;
for (var i in data) {
for (var j in data[i]) {
var n = Math.round((dn * getn(i, j)) / num);
while (n--) {
if (i == "huosha") {
lib.card.list.push([j, rand(), "sha", "fire"]);
} else if (i == "leisha") {
lib.card.list.push([
j,
rand(),
"sha",
"thunder",
]);
} else {
lib.card.list.push([j, rand(), i]);
}
}
}
}
}
},
};
});