diff --git a/800.пример.json.js b/800.пример.json.js index a397887..302654f 100644 --- a/800.пример.json.js +++ b/800.пример.json.js @@ -564,12 +564,13 @@ function ОтладкаСобытий() { // // // // -function ПовреждениеИгрока(события, колобок) +function ПовреждениеИгрока(события, колобок, имяТела) { this.создать = function() { события.подписать(this); this.создатьМигание(); + this.запомнитьМаску(); this.повреждение = null; }; @@ -601,11 +602,41 @@ function ПовреждениеИгрока(события, колобок) } }; + this.запомнитьМаску = function() + { + var за = мир.маскиПрыжков.задано; + for (var имя in за) + { + var з = за[имя]; + if (з.тело == имяТела) + { + this.имя = имя; + this.маски = [з["маски.0"], з["маски.1"]]; + return; + } + } + }; + + this.выставитьМаскиПовреждения = function() + { + var з = мир.маскиПрыжков.задано[this.имя]; + з["маски.0"] = 1; + з["маски.1"] = 1; + }; + + this.вернутьПервоначальныеМаски = function() + { + var з = мир.маскиПрыжков.задано[this.имя]; + з["маски.0"] = this.маски[0]; + з["маски.1"] = this.маски[1]; + }; + this.повредить = function() { if (!this.повреждение) { колобок.classList.add("мигание"); + this.выставитьМаскиПовреждения(); } this.повреждение = new Date(); var тут = this; @@ -628,6 +659,7 @@ function ПовреждениеИгрока(события, колобок) if (прошло > 4990) { колобок.classList.remove("мигание") + this.вернутьПервоначальныеМаски(); this.повреждение = null; } }; @@ -636,4 +668,8 @@ function ПовреждениеИгрока(события, колобок) this.создать(); } -мир.повреждениеИгрока = new ПовреждениеИгрока(мир.события, мир.изображения.элементы.колобок); +мир.повреждениеИгрока = new ПовреждениеИгрока( + мир.события, + мир.изображения.элементы.колобок, + "игрок" +);