anxiety/scripts/act1/Act1_Hong.js

102 lines
1.6 KiB
JavaScript
Raw Normal View History

2019-02-22 23:48:24 +00:00
function Act1_Hong(){
2019-02-18 17:24:52 +00:00
var self = this;
// Sprite!
self.sprite = new Sprite({
2019-02-22 23:48:24 +00:00
image: Library.images.act1_hong,
2019-02-18 17:24:52 +00:00
grid:{
2019-02-18 20:59:10 +00:00
width: 4,
2019-02-18 17:24:52 +00:00
height: 2
},
frame:{
width: 300,
height: 300
},
anchor:{
x: 160/2,
y: 225/2
},
frameNames:[
"_body_1",
"_body_2",
"",
2019-02-18 20:59:10 +00:00
"",
2019-02-18 17:24:52 +00:00
"normal",
2019-02-18 20:59:10 +00:00
"sarcasm",
2019-02-18 17:24:52 +00:00
"smile",
"shock"
],
2019-02-18 20:59:10 +00:00
x: 70,
2019-02-18 17:24:52 +00:00
y: 400
});
// Breathe normally
self.sprite.breatheSpeed = 0.017;
self.sprite.breatheAmp = 0.014;
// Bounce slow
self.sprite.bounceHookes = 0.1;
self.sprite.bounceDamp = 0.9;
// First frame
2019-02-18 20:59:10 +00:00
self.sprite.gotoFrameByName("normal");
2019-02-18 17:24:52 +00:00
// Draw
var ticker = 0;
self.draw = function(ctx){
2019-02-25 14:33:32 +00:00
if(backToNormalTicker-- <= 0 && HP.hong>0){
self.sprite.gotoFrameByName("normal");
}
2019-02-18 17:24:52 +00:00
var fname = self.sprite.currentFrameName;
2019-02-18 20:59:10 +00:00
// Breathe, unless shocked
if(fname=="shock"){
self.sprite.breatheSpeed = 0;
self.sprite.breatheAmp = 0;
}else{
self.sprite.breatheSpeed = 0.017;
self.sprite.breatheAmp = 0.014;
}
2019-02-18 17:24:52 +00:00
// Draw body FIRST
var bod_frame = (Math.floor(ticker/30)%2 == 0) ? "_body_1" : "_body_2";
ticker++;
self.sprite.gotoFrameByName(bod_frame);
self.sprite.draw(ctx);
// Draw face next
self.sprite.gotoFrameByName(fname);
self.sprite.draw(ctx);
};
// When going to frames...
2019-02-25 14:33:32 +00:00
var backToNormalTicker = 0; // HACK
2019-02-18 17:24:52 +00:00
subscribe("hong", function(fname){
2019-02-25 14:33:32 +00:00
if(fname=="attacked"){
self.sprite.gotoFrameByName("shock");
2019-02-18 17:24:52 +00:00
self.sprite.bounce = 1/1.5;
2019-02-25 14:33:32 +00:00
backToNormalTicker = 60;
}else{
self.sprite.gotoFrameByName(fname);
self.sprite.bounce = 1.05;
if(fname=="shock"){
self.sprite.bounce = 1/1.5;
}
2019-02-18 17:24:52 +00:00
}
2019-02-25 14:33:32 +00:00
2019-02-18 17:24:52 +00:00
});
// Kill
self.kill = function(){
};
}