diff --git a/src/public/user.ts b/src/public/user.ts index 5914259..e74bce3 100644 --- a/src/public/user.ts +++ b/src/public/user.ts @@ -297,12 +297,10 @@ export class UserFun { if (val == -1 && !gud.headFrames[conf.id]) { change = true; gud.headFrames[conf.id] = -1; - } else if (!gud.headFrames[conf.id] || gud.headFrames[conf.id] < G.time) { + } + else if (val >= 0) { change = true; gud.headFrames[conf.id] = G.time + val * v; - } else { - change = true; - gud.headFrames[conf.id] += val * v; } } } @@ -341,19 +339,15 @@ export class UserFun { if (conf?.cond?.[0] == 'time') { let val = conf.cond[1]; - if (val == -1 && !gud.chatFrames[conf.id]) { + if (val == -1 && !gud.headFrames[conf.id]) { change = true; - gud.chatFrames[conf.id] = -1; - } else if (!gud.chatFrames[conf.id] || gud.chatFrames[conf.id] < G.time) { + gud.headFrames[conf.id] = -1; + } else if (val >= 0) { change = true; - gud.chatFrames[conf.id] = G.time + val * v; - } else { - change = true; - gud.chatFrames[conf.id] += val * v; + gud.headFrames[conf.id] = G.time + val * v; } } } - if (change) { PlayerFun.changeAttr(uid, {chatFrames: gud.chatFrames}); G.server.sendMsgByUid(uid, 'msg_s2c/PlayerChange', {chatFrames: gud.chatFrames}); @@ -388,15 +382,13 @@ export class UserFun { if (conf?.cond?.[0] == 'time') { let val = conf.cond[1]; - if (val == -1) { + if (val == -1 && !gud.headFrames[conf.id]) { change = true; - gud.model[conf.id] = {id: conf.id + '', time: -1}; - } else if (gud.model[conf.id].time < G.time) { + gud.headFrames[conf.id] = -1; + } + else if (val >= 0) { change = true; - gud.model[conf.id] = {id: conf.id + '', time: G.time + val * v}; - } else { - change = true; - gud.model[conf.id] = {id: conf.id + '', time: gud.model[conf.id].time += val * v} + gud.headFrames[conf.id] = G.time + val * v; } } }