From ab50879a601b21b97081b7570465381cc4415bf3 Mon Sep 17 00:00:00 2001
From: mengxinzxz <2223529500@qq.com>
Date: Wed, 13 Mar 2024 17:35:25 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=9A=90=E5=8C=BF=E8=A1=80?=
=?UTF-8?q?=E9=87=8F=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
layout/default/layout.css | 6 ++++
noname/library/element/player.js | 46 +++++++++++++++++------------
theme/style/hp/image/hidden_hp.png | Bin 0 -> 4082 bytes
3 files changed, 33 insertions(+), 19 deletions(-)
create mode 100644 theme/style/hp/image/hidden_hp.png
diff --git a/layout/default/layout.css b/layout/default/layout.css
index 919c23090..6149f1b2e 100644
--- a/layout/default/layout.css
+++ b/layout/default/layout.css
@@ -2688,6 +2688,12 @@ div:not(.handcards)>.card>.info>span,
background: rgba(63, 119, 173,1);
border: 1px solid rgba(63, 119, 173, 1);
}
+.hp[data-condition="hidden"]>div:not(.lost):not(.shield) {
+ background-image:url('../../theme/style/hp/image/hidden_hp.png') !important;
+ width: 12px;
+ height: 12px;
+ background-size: 100% 100%;
+}
.hp[data-condition="high"]>div:not(.lost):not(.shield) {
background: rgba(57, 123, 4,1);
border: 1px solid rgba(39, 79, 7, 1);
diff --git a/noname/library/element/player.js b/noname/library/element/player.js
index b72b3f7fe..bca4e52a7 100644
--- a/noname/library/element/player.js
+++ b/noname/library/element/player.js
@@ -2099,6 +2099,7 @@ export class Player extends HTMLDivElement {
}
//原有函数
init(character, character2, skill, update) {
+ let hidden = false;
if (typeof character == 'string' && !lib.character[character]) {
lib.character[character] = get.character(character);
}
@@ -2154,7 +2155,7 @@ export class Player extends HTMLDivElement {
skills = [];
this.name = 'unknown';
this.sex = 'male';
- this.storage.nohp = true;
+ hidden = true;
skills.add('g_hidden_ai');
}
if (character2 && lib.character[character2]) {
@@ -2208,17 +2209,19 @@ export class Player extends HTMLDivElement {
if (info2[4].includes('hiddenSkill') && !this.noclick) {
if (!this.hiddenSkills) this.hiddenSkills = [];
this.hiddenSkills.addArray(info2[3]);
- this.storage.nohp = true;
+ hidden = true;
skills.add('g_hidden_ai');
}
else skills = skills.concat(info2[3]);
}
- if (this.storage.nohp) {
+ if (this.storage.nohp || hidden) {
this.storage.rawHp = this.hp;
this.storage.rawMaxHp = this.maxHp;
this.hp = 1;
this.maxHp = 1;
- this.node.hp.hide();
+ if (this.storage.nohp) {
+ this.node.hp.hide();
+ }
}
if (skill != false) {
skills = skills.filter(skill => {
@@ -3050,20 +3053,22 @@ export class Player extends HTMLDivElement {
}
}
if (!this.storage.nohp) {
- if (this.maxHp == Infinity) {
+ const hidden = (this.classList.contains('unseen_show') || this.classList.contains('unseen2_show'));
+ const maxHp = (hidden ? 1 : this.maxHp);
+ if (maxHp == Infinity) {
hp.innerHTML = '∞';
}
- else if (game.layout == 'default' && this.maxHp > 14) {
- hp.innerHTML = this.hp + '/' + this.maxHp;
+ else if (game.layout == 'default' && maxHp > 14) {
+ hp.innerHTML = this.hp + '/' + maxHp;
hp.classList.add('text');
}
else if (get.is.newLayout() &&
(
- this.maxHp > 9 ||
- (this.maxHp > 5 && this.classList.contains('minskin')) ||
- ((game.layout == 'mobile' || game.layout == 'long') && this.dataset.position == 0 && this.maxHp > 7)
+ maxHp > 9 ||
+ (maxHp > 5 && this.classList.contains('minskin')) ||
+ ((game.layout == 'mobile' || game.layout == 'long') && this.dataset.position == 0 && maxHp > 7)
)) {
- hp.innerHTML = this.hp + '
/
' + this.maxHp + '
';
+ hp.innerHTML = this.hp + '
/
' + maxHp + '';
if (this.hp == 0) {
hp.lastChild.classList.add('lost');
}
@@ -3074,16 +3079,16 @@ export class Player extends HTMLDivElement {
hp.innerHTML = '';
hp.classList.remove('text');
hp.classList.remove('textstyle');
- while (this.maxHp > hp.childNodes.length) {
+ while (maxHp > hp.childNodes.length) {
ui.create.div(hp);
}
- while (Math.max(0, this.maxHp) < hp.childNodes.length) {
+ while (Math.max(0, maxHp) < hp.childNodes.length) {
hp.removeChild(hp.lastChild);
}
- for (var i = 0; i < this.maxHp; i++) {
+ for (var i = 0; i < maxHp; i++) {
var index = i;
if (get.is.newLayout()) {
- index = this.maxHp - i - 1;
+ index = maxHp - i - 1;
}
if (i < this.hp) {
hp.childNodes[index].classList.remove('lost');
@@ -3092,23 +3097,26 @@ export class Player extends HTMLDivElement {
hp.childNodes[index].classList.add('lost');
}
}
- // if(this.maxHp==9){
+ // if(maxHp==9){
// hp.classList.add('long');
// }
// else{
// hp.classList.remove('long');
// }
}
- if (hp.classList.contains('room')) {
+ if (hidden) {
+ hp.dataset.condition = 'hidden';
+ }
+ else if (hp.classList.contains('room')) {
hp.dataset.condition = 'high';
}
else if (this.hp == 0) {
hp.dataset.condition = '';
}
- else if (this.hp > Math.round(this.maxHp / 2) || this.hp === this.maxHp) {
+ else if (this.hp > Math.round(maxHp / 2) || this.hp === maxHp) {
hp.dataset.condition = 'high';
}
- else if (this.hp > Math.floor(this.maxHp / 3)) {
+ else if (this.hp > Math.floor(maxHp / 3)) {
hp.dataset.condition = 'mid';
}
else {
diff --git a/theme/style/hp/image/hidden_hp.png b/theme/style/hp/image/hidden_hp.png
new file mode 100644
index 0000000000000000000000000000000000000000..098a611a1d90323eeb354818ca50e0d63bd1a493
GIT binary patch
literal 4082
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
literal 0
HcmV?d00001