HELL YEAH ACT 3 is DONEEEEEEE
This commit is contained in:
parent
f41cef3252
commit
9a706a1bb7
5
TODO
5
TODO
|
@ -30,13 +30,18 @@ ACT II
|
||||||
ACT III
|
ACT III
|
||||||
- BB special attack anim
|
- BB special attack anim
|
||||||
- sfx for endings
|
- sfx for endings
|
||||||
|
- bb: "surface tension"
|
||||||
- hunter, hand on heart "hurts people like us"
|
- hunter, hand on heart "hurts people like us"
|
||||||
- hunter, angry lookaway "otherwise, you're gonna let it win"
|
- hunter, angry lookaway "otherwise, you're gonna let it win"
|
||||||
- hong, angry AFTER "not gonna let it win"
|
- hong, angry AFTER "not gonna let it win"
|
||||||
|
- o_o for hunter instead
|
||||||
|
- shaking ambulance
|
||||||
|
- ALL NEW SFX
|
||||||
|
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
ACT IV
|
ACT IV
|
||||||
|
- (say auto-saved)
|
||||||
- hong char + anims
|
- hong char + anims
|
||||||
- bb char + anims
|
- bb char + anims
|
||||||
- more al/shire
|
- more al/shire
|
||||||
|
|
|
@ -260,7 +260,7 @@
|
||||||
<script src="scripts/game/Loader.js"></script>
|
<script src="scripts/game/Loader.js"></script>
|
||||||
<script src="scripts/game/Game.js"></script>
|
<script src="scripts/game/Game.js"></script>
|
||||||
<script src="scripts/game/Sprite.js"></script>
|
<script src="scripts/game/Sprite.js"></script>
|
||||||
<script src="scripts/game/HP.js?v=2"></script>
|
<script src="scripts/game/HP.js"></script>
|
||||||
<script src="scripts/game/BG_Anxiety.js"></script>
|
<script src="scripts/game/BG_Anxiety.js"></script>
|
||||||
<script src="scripts/game/Character.js"></script>
|
<script src="scripts/game/Character.js"></script>
|
||||||
<script src="scripts/game/Sounds.js"></script>
|
<script src="scripts/game/Sounds.js"></script>
|
||||||
|
|
316
scenes/act3.md
316
scenes/act3.md
|
@ -7,8 +7,6 @@ Game.WORDS_HEIGHT_BOTTOM = 205;
|
||||||
|
|
||||||
r: Cheers!
|
r: Cheers!
|
||||||
|
|
||||||
(#act3_skip)
|
|
||||||
|
|
||||||
```
|
```
|
||||||
publish("act3",["roofhunter",1]);
|
publish("act3",["roofhunter",1]);
|
||||||
publish("act3",["roofhong",1]);
|
publish("act3",["roofhong",1]);
|
||||||
|
@ -196,8 +194,6 @@ publish("act3",["dd",2]);
|
||||||
|
|
||||||
h2: No. You're wrong.
|
h2: No. You're wrong.
|
||||||
|
|
||||||
# act3_skip
|
|
||||||
|
|
||||||
```
|
```
|
||||||
publish("act3",["roofhunter",13]);
|
publish("act3",["roofhunter",13]);
|
||||||
publish("act3",["roofhong",15]);
|
publish("act3",["roofhong",15]);
|
||||||
|
@ -227,6 +223,7 @@ r: Fuck yeah! I believe in you, babe! Kill it! <3
|
||||||
Game.clearText();
|
Game.clearText();
|
||||||
publish("act3-out");
|
publish("act3-out");
|
||||||
Game.WORDS_HEIGHT_BOTTOM = -1; /* reset */
|
Game.WORDS_HEIGHT_BOTTOM = -1; /* reset */
|
||||||
|
_.act3_bb_body = 1;
|
||||||
```
|
```
|
||||||
|
|
||||||
(...1500)
|
(...1500)
|
||||||
|
@ -243,11 +240,18 @@ b: NO NO NO NO NO NO NO NO NO NO NO NO NO NO
|
||||||
|
|
||||||
n: CHOOSE WISELY. PROTECT YOUR HUMAN
|
n: CHOOSE WISELY. PROTECT YOUR HUMAN
|
||||||
|
|
||||||
|
`bb({ eyes:"oh_crap", mouth:"normal_talk", MOUTH_LOCK:true });`
|
||||||
|
|
||||||
b: AAAAAAAAAAAAAAAAAA
|
b: AAAAAAAAAAAAAAAAAA
|
||||||
|
|
||||||
|
`bb({ mouth:"normal" });`
|
||||||
|
|
||||||
n: GOOD LUCK
|
n: GOOD LUCK
|
||||||
|
|
||||||
`Game.clearText();`
|
```
|
||||||
|
Game.clearText();
|
||||||
|
bb({ eyes:"start" });
|
||||||
|
```
|
||||||
|
|
||||||
[Human, you could actually DIE here!](#act3a_harm) `Game.OVERRIDE_CHOICE_LINE=true`
|
[Human, you could actually DIE here!](#act3a_harm) `Game.OVERRIDE_CHOICE_LINE=true`
|
||||||
|
|
||||||
|
@ -257,18 +261,24 @@ n: GOOD LUCK
|
||||||
|
|
||||||
# act3a_harm
|
# act3a_harm
|
||||||
|
|
||||||
|
`bb({ MOUTH_LOCK:true, mouth:"normal_talk" });`
|
||||||
|
|
||||||
b: H--
|
b: H--
|
||||||
|
|
||||||
(#act3a_after)
|
(#act3a_after)
|
||||||
|
|
||||||
# act3a_alone
|
# act3a_alone
|
||||||
|
|
||||||
|
`bb({ MOUTH_LOCK:true, mouth:"normal_talk" });`
|
||||||
|
|
||||||
b: T--
|
b: T--
|
||||||
|
|
||||||
(#act3a_after)
|
(#act3a_after)
|
||||||
|
|
||||||
# act3a_bad
|
# act3a_bad
|
||||||
|
|
||||||
|
`bb({ MOUTH_LOCK:true, mouth:"normal_talk" });`
|
||||||
|
|
||||||
b: T--
|
b: T--
|
||||||
|
|
||||||
(#act3a_after)
|
(#act3a_after)
|
||||||
|
@ -279,19 +289,24 @@ b: T--
|
||||||
hong({body:"drink"});
|
hong({body:"drink"});
|
||||||
bb({body:"attacked"});
|
bb({body:"attacked"});
|
||||||
attackBB("32p");
|
attackBB("32p");
|
||||||
|
_.act3_bb_body++;
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2000)
|
(...2000)
|
||||||
|
|
||||||
```
|
```
|
||||||
hong({body:"angry"});
|
hong({ body:"normal" });
|
||||||
bb({body:"scared"});
|
bb({ body:"normal_"+_.act3_bb_body, mouth:"normal", eyes:"normal" });
|
||||||
```
|
```
|
||||||
|
|
||||||
h: You know, I might've believed you... if you hadn't tried that a zillion times before.
|
h: You know, I might've believed you... if you hadn't tried that a zillion times before.
|
||||||
|
|
||||||
h: You're the wolf who cried wolf.
|
h: You're the wolf who cried wolf.
|
||||||
|
|
||||||
|
```
|
||||||
|
bb({ eyes:"sad" });
|
||||||
|
```
|
||||||
|
|
||||||
`Game.OVERRIDE_CHOICE_SPEAKER = "fear_harm"`
|
`Game.OVERRIDE_CHOICE_SPEAKER = "fear_harm"`
|
||||||
|
|
||||||
[](#act3_fork) `_.SPECIAL_ATTACK="harm"; Game.OVERRIDE_CHOICE_LINE=true`
|
[](#act3_fork) `_.SPECIAL_ATTACK="harm"; Game.OVERRIDE_CHOICE_LINE=true`
|
||||||
|
@ -311,40 +326,51 @@ h: You're the wolf who cried wolf.
|
||||||
hong({body:"drink"});
|
hong({body:"drink"});
|
||||||
bb({body:"attacked"});
|
bb({body:"attacked"});
|
||||||
attackBB("32p");
|
attackBB("32p");
|
||||||
|
_.act3_bb_body++;
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2000)
|
(...2000)
|
||||||
|
|
||||||
```
|
```
|
||||||
hong({body:"angry"});
|
hong({ body:"normal" });
|
||||||
bb({body:"scared"});
|
bb({ body:"normal_"+_.act3_bb_body, mouth:"normal", eyes:"normal" });
|
||||||
```
|
```
|
||||||
|
|
||||||
h: You already tried that too.
|
h: You already tried that too.
|
||||||
|
|
||||||
b: human, please...
|
b: human, please...
|
||||||
|
|
||||||
|
`hong({ eyes:"look_right" });`
|
||||||
|
|
||||||
h: Oh I'm *sorry* Big Pharma doesn't approve of my self-medication.
|
h: Oh I'm *sorry* Big Pharma doesn't approve of my self-medication.
|
||||||
|
|
||||||
h: Look asshole, we *all* have a way of shutting you the fuck up.
|
h: Look asshole, we *all* have a way of shutting you the fuck up.
|
||||||
|
|
||||||
|
`hong({ body:"look_up", eyes:"look_up" });`
|
||||||
|
|
||||||
h: Some people throw themselves into work.
|
h: Some people throw themselves into work.
|
||||||
|
|
||||||
|
`hong({ body:"look_down", eyes:"look_down" });`
|
||||||
|
|
||||||
h: Some people throw themselves into sex, drugs, and refreshing their Facebook feed.
|
h: Some people throw themselves into sex, drugs, and refreshing their Facebook feed.
|
||||||
|
|
||||||
|
`hong({ body:"normal", eyes:"look_right" });`
|
||||||
|
|
||||||
h: Some people throw themselves into other people.
|
h: Some people throw themselves into other people.
|
||||||
|
|
||||||
|
`hong({ eyes:"angry" });`
|
||||||
|
|
||||||
h: I'm going to throw myself into that swimming pool.
|
h: I'm going to throw myself into that swimming pool.
|
||||||
|
|
||||||
[You're drunk and it's SIX FLOORS DOWN](#act3_bad_1_harm)
|
[You're drunk and it's SIX FLOORS DOWN](#act3_bad_1_harm)
|
||||||
|
|
||||||
[Dang it, this is the thanks I get?!](#act3_bad_1_insult)
|
[Dang it, this is the thanks I get?!](#act3_bad_1_insult) `bb({eyes:"angry"});`
|
||||||
|
|
||||||
[Okay, I admit it. I messed up.](#act3_good_1) `bb({body:"sad"})`
|
[Okay, I admit it. I messed up.](#act3_good_1) `bb({mouth:"sorry", eyes:"sorry_down"});`
|
||||||
|
|
||||||
# act3_bad_1_harm
|
# act3_bad_1_harm
|
||||||
|
|
||||||
b: Even if you somehow land *in* the water, you'll still smash into the bottom of the pool and break your bones!
|
b: Even if you land in the water, the surface tension will crack your ribs and give you a concussion *at the least!*
|
||||||
|
|
||||||
h: Eh.
|
h: Eh.
|
||||||
|
|
||||||
|
@ -352,23 +378,28 @@ h: Eh.
|
||||||
hong({body:"drink"});
|
hong({body:"drink"});
|
||||||
bb({body:"attacked"});
|
bb({body:"attacked"});
|
||||||
attackBB("32p");
|
attackBB("32p");
|
||||||
|
_.act3_bb_body++;
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2000)
|
(...2000)
|
||||||
|
|
||||||
```
|
```
|
||||||
hong({body:"angry"});
|
hong({ body:"normal", mouth:"angry", eyes:"angry" });
|
||||||
bb({body:"scared"});
|
bb({ body:"normal_"+_.act3_bb_body, mouth:"normal", eyes:"normal" });
|
||||||
```
|
```
|
||||||
|
|
||||||
h: I think I saw a Russian guy do this on YouTube once.
|
h: I saw a Russian guy do this on YouTube once.
|
||||||
|
|
||||||
(#act3_bad_2)
|
(#act3_bad_2)
|
||||||
|
|
||||||
# act3_bad_1_insult
|
# act3_bad_1_insult
|
||||||
|
|
||||||
|
`hong({ eyes:"look_right" });`
|
||||||
|
|
||||||
h: I- Excuse me, the *thanks?*
|
h: I- Excuse me, the *thanks?*
|
||||||
|
|
||||||
|
`bb({ eyes:"angry" });`
|
||||||
|
|
||||||
b: This is exactly why I *exist!* Because humans can't be trusted to protect themselves!
|
b: This is exactly why I *exist!* Because humans can't be trusted to protect themselves!
|
||||||
|
|
||||||
b: I've been trying to protect your stupid butt all my life and now you're just going t--
|
b: I've been trying to protect your stupid butt all my life and now you're just going t--
|
||||||
|
@ -377,34 +408,50 @@ b: I've been trying to protect your stupid butt all my life and now you're just
|
||||||
hong({body:"drink"});
|
hong({body:"drink"});
|
||||||
bb({body:"attacked"});
|
bb({body:"attacked"});
|
||||||
attackBB("32p");
|
attackBB("32p");
|
||||||
|
_.act3_bb_body++;
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2000)
|
(...2000)
|
||||||
|
|
||||||
```
|
```
|
||||||
hong({body:"angry"});
|
hong({ body:"normal", mouth:"angry", eyes:"angry" });
|
||||||
bb({body:"scared"});
|
bb({ body:"normal_"+_.act3_bb_body, mouth:"normal", eyes:"normal" });
|
||||||
```
|
```
|
||||||
|
|
||||||
(#act3_bad_2)
|
(#act3_bad_2)
|
||||||
|
|
||||||
# act3_good_1
|
# act3_good_1
|
||||||
|
|
||||||
|
`hong({ body:"laugh_1" })``
|
||||||
|
|
||||||
h: heh.
|
h: heh.
|
||||||
|
|
||||||
|
`hong({ body:"laugh_2" })``
|
||||||
|
|
||||||
h: hahahaha
|
h: hahahaha
|
||||||
|
|
||||||
|
`hong({ body:"laugh_3" })``
|
||||||
|
|
||||||
h: HAHAHAHAHAHA
|
h: HAHAHAHAHAHA
|
||||||
|
|
||||||
|
```
|
||||||
|
bb({ eyes:"sorry"});
|
||||||
|
hong({ body:"yell_1", mouth:"yell", eyes:"blank" });
|
||||||
|
```
|
||||||
|
|
||||||
h: Oh WOW is that the biggest *fucking* understatement of the century!
|
h: Oh WOW is that the biggest *fucking* understatement of the century!
|
||||||
|
|
||||||
|
`hong({ body:"yell_2" });`
|
||||||
|
|
||||||
h: Yeah, you rotting pile of blood-coated shit! You messed the fuck up!
|
h: Yeah, you rotting pile of blood-coated shit! You messed the fuck up!
|
||||||
|
|
||||||
|
`hong({ body:"normal", mouth:"angry", eyes:"angry" });`
|
||||||
|
|
||||||
h: Any other remarks, Captain Obvious?
|
h: Any other remarks, Captain Obvious?
|
||||||
|
|
||||||
[But revenge on me isn't the answer!](#act3_good_1_fail_revenge) `bb({body:"scared"})`
|
[But revenge on me isn't the answer!](#act3_good_1_fail_revenge) `bb({ body:"normal_"+_.act3_bb_body, mouth:"normal", eyes:"normal" });`
|
||||||
|
|
||||||
[But this time I'm *actually* right!](#act3_good_1_fail_harm) `bb({body:"scared"})`
|
[But this time I'm *actually* right!](#act3_good_1_fail_harm) `bb({ body:"normal_"+_.act3_bb_body, mouth:"normal", eyes:"normal" });`
|
||||||
|
|
||||||
[I've hurt you.](#act3_good_2a)
|
[I've hurt you.](#act3_good_2a)
|
||||||
|
|
||||||
|
@ -417,13 +464,14 @@ b: You need to have a healthier relationship with your emotions, rather than dro
|
||||||
hong({body:"drink"});
|
hong({body:"drink"});
|
||||||
bb({body:"attacked"});
|
bb({body:"attacked"});
|
||||||
attackBB("32p");
|
attackBB("32p");
|
||||||
|
_.act3_bb_body++;
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2000)
|
(...2000)
|
||||||
|
|
||||||
```
|
```
|
||||||
hong({body:"angry"});
|
hong({ body:"normal", mouth:"angry", eyes:"angry" });
|
||||||
bb({body:"scared"});
|
bb({ body:"normal_"+_.act3_bb_body, mouth:"normal", eyes:"normal" });
|
||||||
```
|
```
|
||||||
|
|
||||||
(#act3_bad_2)
|
(#act3_bad_2)
|
||||||
|
@ -438,13 +486,14 @@ b: So please, put the bottle down and let's--
|
||||||
hong({body:"drink"});
|
hong({body:"drink"});
|
||||||
bb({body:"attacked"});
|
bb({body:"attacked"});
|
||||||
attackBB("32p");
|
attackBB("32p");
|
||||||
|
_.act3_bb_body++;
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2000)
|
(...2000)
|
||||||
|
|
||||||
```
|
```
|
||||||
hong({body:"angry"});
|
hong({ body:"normal", mouth:"angry", eyes:"angry" });
|
||||||
bb({body:"scared"});
|
bb({ body:"normal_"+_.act3_bb_body, mouth:"normal", eyes:"normal" });
|
||||||
```
|
```
|
||||||
|
|
||||||
(#act3_bad_2)
|
(#act3_bad_2)
|
||||||
|
@ -454,27 +503,40 @@ bb({body:"scared"});
|
||||||
|
|
||||||
# act3_bad_2
|
# act3_bad_2
|
||||||
|
|
||||||
|
`bb({ eyes:"sad" });`
|
||||||
|
|
||||||
b: please... don't...
|
b: please... don't...
|
||||||
|
|
||||||
h: Your energy bar's looking awfully low there, wolf.
|
h: Your energy bar's looking awfully low there, wolf.
|
||||||
|
|
||||||
h: If I were you, I'd choose your next words very carefully.
|
h: If I were you, I'd choose your next words very carefully.
|
||||||
|
|
||||||
[Fine. I'm done protecting you.](#act3_bad_2_jump)
|
`bb({ eyes:"normal" });`
|
||||||
|
|
||||||
|
[Fine. I'm done protecting you.](#act3_bad_2_jump) `bb({ mouth:"ignore", eyes:"ignore" });`
|
||||||
|
|
||||||
[I was right all along.](#act3_bad_2_right)
|
[I was right all along.](#act3_bad_2_right)
|
||||||
|
|
||||||
[I'm sorry.](#act3_good_2b) `bb({body:"sad"})`
|
[I'm sorry.](#act3_good_2b) `bb({mouth:"sorry", eyes:"sorry_down"});`
|
||||||
|
|
||||||
|
|
||||||
# act3_bad_2_jump
|
# act3_bad_2_jump
|
||||||
|
|
||||||
b: So, go ahead and jump. See what I care.
|
b: So, go ahead and jump. See what I care.
|
||||||
|
|
||||||
|
`hong({ eyes:"look_right", mouth:"normal", MOUTH_LOCK:true });`
|
||||||
|
|
||||||
h: ...
|
h: ...
|
||||||
|
|
||||||
|
```
|
||||||
|
hong({ eyes:"less_angry", mouth:"normal" });
|
||||||
|
bb({ eyes:"ignore_oh_crap" });
|
||||||
|
```
|
||||||
|
|
||||||
h: Okay then. Bottoms up.
|
h: Okay then. Bottoms up.
|
||||||
|
|
||||||
|
`bb({ mouth:"normal", eyes:"oh_crap" });`
|
||||||
|
|
||||||
b: WAIT NO THAT WAS REVERSE PSYCHOLOGY YOU WERE SUPPOSED TO DO THE *OPPOSITE* OF WHAT I SA--
|
b: WAIT NO THAT WAS REVERSE PSYCHOLOGY YOU WERE SUPPOSED TO DO THE *OPPOSITE* OF WHAT I SA--
|
||||||
|
|
||||||
(#act3_bad_3)
|
(#act3_bad_3)
|
||||||
|
@ -483,20 +545,28 @@ b: WAIT NO THAT WAS REVERSE PSYCHOLOGY YOU WERE SUPPOSED TO DO THE *OPPOSITE* OF
|
||||||
|
|
||||||
# act3_bad_2_right
|
# act3_bad_2_right
|
||||||
|
|
||||||
|
`bb({ eyes:"angry" });`
|
||||||
|
|
||||||
b: You *are* putting yourself in danger. Your so-called friends *are* using you. And *you* are using your so-called friends.
|
b: You *are* putting yourself in danger. Your so-called friends *are* using you. And *you* are using your so-called friends.
|
||||||
|
|
||||||
|
`bb({ eyes:"sad" });`
|
||||||
|
|
||||||
b: So please, human... why don't you believe me?!
|
b: So please, human... why don't you believe me?!
|
||||||
|
|
||||||
h: Because you don't believe in *me*.
|
h: Because you never believed in *me*.
|
||||||
|
|
||||||
(#act3_bad_3)
|
(#act3_bad_3)
|
||||||
|
|
||||||
|
|
||||||
# act3_bad_2_terrible
|
# act3_bad_2_terrible
|
||||||
|
|
||||||
b: Other guard-wolves have humans who actually take time to patiently train them, to learn to work together,
|
`bb({ eyes:"angry" });`
|
||||||
|
|
||||||
b: Rather than hate the guard-wolves for trying to protect them! So why couldn't you jus--
|
b: Other guard-wolves have humans who actually take time to patiently train them, to *learn* to work together,
|
||||||
|
|
||||||
|
b: Rather than hate the guard-wolves for trying to protect them! So why can't you jus--
|
||||||
|
|
||||||
|
`bb({ eyes:"normal" });`
|
||||||
|
|
||||||
h: Wrong fucking answer.
|
h: Wrong fucking answer.
|
||||||
|
|
||||||
|
@ -510,28 +580,37 @@ h: Wrong fucking answer.
|
||||||
music(null);
|
music(null);
|
||||||
hong({body:"drink"});
|
hong({body:"drink"});
|
||||||
bb({body:"attacked"});
|
bb({body:"attacked"});
|
||||||
|
publish("bb_STOP_VIBRATING");
|
||||||
attackBB("100p");
|
attackBB("100p");
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2000)
|
(...2000)
|
||||||
|
|
||||||
```
|
```
|
||||||
hong({body:"angry"});
|
hong({ body:"normal", mouth:"normal", eyes:"normal" });
|
||||||
bb({body:"dead"});
|
bb({ body:"dead" });
|
||||||
```
|
```
|
||||||
|
|
||||||
(...999)
|
(...999)
|
||||||
|
|
||||||
h: *"The only thing to fear is fear itself."*
|
h: *"The only thing to fear is fear itself."*
|
||||||
|
|
||||||
|
`hong({ body:"look_up", mouth:"happy", eyes:"blank" });`
|
||||||
|
|
||||||
h: *"Don't worry, be happy!"*
|
h: *"Don't worry, be happy!"*
|
||||||
|
|
||||||
|
`hong({ body:"normal", mouth:"normal", eyes:"normal" });`
|
||||||
|
|
||||||
h: All the wise folk of our time agree: negative emotions are *bad!*
|
h: All the wise folk of our time agree: negative emotions are *bad!*
|
||||||
|
|
||||||
|
`hong({ eyes:"less_angry" });`
|
||||||
|
|
||||||
h: Duh! That's why they're called *negative!*
|
h: Duh! That's why they're called *negative!*
|
||||||
|
|
||||||
b: human... please...
|
b: human... please...
|
||||||
|
|
||||||
|
`hong({ eyes:"normal" });`
|
||||||
|
|
||||||
h: A while back, I said: “I just want to be free from all this pain.”
|
h: A while back, I said: “I just want to be free from all this pain.”
|
||||||
|
|
||||||
h: I got my wish. I no longer feel pain, or fear, or anxiety...
|
h: I got my wish. I no longer feel pain, or fear, or anxiety...
|
||||||
|
@ -546,12 +625,23 @@ h: I don't feel anything at all.
|
||||||
|
|
||||||
# act3_good_2a
|
# act3_good_2a
|
||||||
|
|
||||||
|
`bb({mouth:"sorry", eyes:"sorry_down"});`
|
||||||
|
|
||||||
b: I was so obsessed with making sure nothing else hurt you, that I didn't realize *I* was creating the hurt.
|
b: I was so obsessed with making sure nothing else hurt you, that I didn't realize *I* was creating the hurt.
|
||||||
|
|
||||||
|
```
|
||||||
|
bb({ eyes:"sorry"});
|
||||||
|
hong({ body:"yell_2", mouth:"yell", eyes:"blank" });
|
||||||
|
```
|
||||||
|
|
||||||
h: NO. SHIT.
|
h: NO. SHIT.
|
||||||
|
|
||||||
|
`hong({ body:"yell_1" });`
|
||||||
|
|
||||||
h: GODDAMN. It really took you this long to finally figure it out?!
|
h: GODDAMN. It really took you this long to finally figure it out?!
|
||||||
|
|
||||||
|
`hong({ body:"cry", mouth:"cry", eyes:"blank" });`
|
||||||
|
|
||||||
h: You could've saved us so much trouble, you big fluffy dumbass. Why didn't you realize this sooner?...
|
h: You could've saved us so much trouble, you big fluffy dumbass. Why didn't you realize this sooner?...
|
||||||
|
|
||||||
`_.apologized_for_hurt = true;`
|
`_.apologized_for_hurt = true;`
|
||||||
|
@ -562,8 +652,12 @@ h: You could've saved us so much trouble, you big fluffy dumbass. Why didn't you
|
||||||
|
|
||||||
# act3_good_2b
|
# act3_good_2b
|
||||||
|
|
||||||
|
`hong({ body:"normal", mouth:"angry", eyes:"look_right" });`
|
||||||
|
|
||||||
h: ...you're *sorry.*
|
h: ...you're *sorry.*
|
||||||
|
|
||||||
|
`hong({ eyes:"angry", MOUTH_LOCK:true });`
|
||||||
|
|
||||||
h: ...
|
h: ...
|
||||||
|
|
||||||
h: Sorry for *what*?
|
h: Sorry for *what*?
|
||||||
|
@ -573,6 +667,8 @@ h: Sorry for *what*?
|
||||||
|
|
||||||
# act3_good_2q
|
# act3_good_2q
|
||||||
|
|
||||||
|
`bb({mouth:"sorry", eyes:"sorry"});`
|
||||||
|
|
||||||
{{if _.apologized_for_hurt}}
|
{{if _.apologized_for_hurt}}
|
||||||
(#act3_good_2q_already_apologized)
|
(#act3_good_2q_already_apologized)
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -584,6 +680,8 @@ h: Sorry for *what*?
|
||||||
|
|
||||||
# act3_good_2q_already_apologized
|
# act3_good_2q_already_apologized
|
||||||
|
|
||||||
|
`hong({ body:"normal", mouth:"angry", eyes:"less_angry" });`
|
||||||
|
|
||||||
[I'm sorry I wasn't a good protector.](#act3_good_3_protector)
|
[I'm sorry I wasn't a good protector.](#act3_good_3_protector)
|
||||||
|
|
||||||
[I'm sorry I didn't respect you.](#act3_good_3_respect)
|
[I'm sorry I didn't respect you.](#act3_good_3_respect)
|
||||||
|
@ -593,7 +691,9 @@ h: Sorry for *what*?
|
||||||
|
|
||||||
# act3_good_2q_not_already_apologized
|
# act3_good_2q_not_already_apologized
|
||||||
|
|
||||||
[I'm sorry I have a terrible human!](#act3_bad_2_terrible) `bb({body:"scared"})`
|
`hong({ body:"normal", mouth:"angry", eyes:"angry" }, 0);`
|
||||||
|
|
||||||
|
[I'm sorry I have a terrible human!](#act3_bad_2_terrible) `bb({mouth:"normal", eyes:"normal"})`
|
||||||
|
|
||||||
[I'm sorry I didn't respect you.](#act3_good_3_respect)
|
[I'm sorry I didn't respect you.](#act3_good_3_respect)
|
||||||
|
|
||||||
|
@ -603,12 +703,20 @@ h: Sorry for *what*?
|
||||||
|
|
||||||
# act3_good_3_protector
|
# act3_good_3_protector
|
||||||
|
|
||||||
|
`bb({eyes:"sorry_down"});`
|
||||||
|
|
||||||
b: It's my duty to warn you against *real* danger, but I kept barking at cars and the mailman.
|
b: It's my duty to warn you against *real* danger, but I kept barking at cars and the mailman.
|
||||||
|
|
||||||
|
`bb({eyes:"sorry_up"});`
|
||||||
|
|
||||||
b: Barking at shadows. Barking so much.
|
b: Barking at shadows. Barking so much.
|
||||||
|
|
||||||
|
`bb({eyes:"sorry"});`
|
||||||
|
|
||||||
b: It only makes sense that you'd want to muzzle me.
|
b: It only makes sense that you'd want to muzzle me.
|
||||||
|
|
||||||
|
`bb({eyes:"sorry_down"});`
|
||||||
|
|
||||||
b: I'm sorry.
|
b: I'm sorry.
|
||||||
|
|
||||||
(#act3_good_4)
|
(#act3_good_4)
|
||||||
|
@ -617,9 +725,15 @@ b: I'm sorry.
|
||||||
|
|
||||||
# act3_good_3_respect
|
# act3_good_3_respect
|
||||||
|
|
||||||
|
`bb({eyes:"sorry_down"});`
|
||||||
|
|
||||||
b: I was supposed to be *your* loyal guard-dog, but I acted as if you were supposed to obey *me*.
|
b: I was supposed to be *your* loyal guard-dog, but I acted as if you were supposed to obey *me*.
|
||||||
|
|
||||||
b: There's a difference between protector and prison warden, and I crossed the line.
|
`bb({eyes:"sorry_up"});`
|
||||||
|
|
||||||
|
b: There's a difference between a protector and a prison warden, and I crossed the line.
|
||||||
|
|
||||||
|
`bb({eyes:"sorry_down"});`
|
||||||
|
|
||||||
b: I'm sorry.
|
b: I'm sorry.
|
||||||
|
|
||||||
|
@ -629,10 +743,16 @@ b: I'm sorry.
|
||||||
|
|
||||||
# act3_good_3_hurt
|
# act3_good_3_hurt
|
||||||
|
|
||||||
|
`bb({eyes:"sorry_down"});`
|
||||||
|
|
||||||
b: I was so obsessed with trying to protect you from being hurt, I never stopped to realize *I* was hurting you.
|
b: I was so obsessed with trying to protect you from being hurt, I never stopped to realize *I* was hurting you.
|
||||||
|
|
||||||
|
`bb({eyes:"sorry_up"});`
|
||||||
|
|
||||||
b: I was a bad dog.
|
b: I was a bad dog.
|
||||||
|
|
||||||
|
`bb({eyes:"sorry_down"});`
|
||||||
|
|
||||||
b: I'm sorry.
|
b: I'm sorry.
|
||||||
|
|
||||||
(#act3_good_4)
|
(#act3_good_4)
|
||||||
|
@ -641,13 +761,14 @@ b: I'm sorry.
|
||||||
# act3_good_4
|
# act3_good_4
|
||||||
|
|
||||||
```
|
```
|
||||||
music(null,{fade:5});
|
music(null,{fade:3});
|
||||||
|
hong({ eyes:"less_angry", MOUTH_LOCK:true },0);
|
||||||
```
|
```
|
||||||
|
|
||||||
h: ...
|
h: ...
|
||||||
|
|
||||||
```
|
```
|
||||||
hong({body:"stop"});
|
hong({ body:"stop", mouth:"stop", eyes:"blank" });
|
||||||
```
|
```
|
||||||
|
|
||||||
h: Yeah, well, this was a dumb idea anyway.
|
h: Yeah, well, this was a dumb idea anyway.
|
||||||
|
@ -656,6 +777,11 @@ h: I only did this to fuck you up, and, well, I fucked you up.
|
||||||
|
|
||||||
h: Let's just call this round a tie, okay?
|
h: Let's just call this round a tie, okay?
|
||||||
|
|
||||||
|
```
|
||||||
|
bb({ mouth:"sorry", eyes:"sorry" });
|
||||||
|
bb({ MOUTH_LOCK:true });
|
||||||
|
```
|
||||||
|
|
||||||
b: ...
|
b: ...
|
||||||
|
|
||||||
b: Okay.
|
b: Okay.
|
||||||
|
@ -702,11 +828,23 @@ Game.FORCE_CANT_SKIP = true;
|
||||||
|
|
||||||
```
|
```
|
||||||
publish("start-walkaway-anim");
|
publish("start-walkaway-anim");
|
||||||
|
Game.WORDS_HEIGHT_BOTTOM = 205;
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2001)
|
(...3501)
|
||||||
|
|
||||||
`publish('hong-next')`
|
```
|
||||||
|
publish('hong-next');
|
||||||
|
publish("act3",["roofhunter",7]);
|
||||||
|
```
|
||||||
|
|
||||||
|
(...667)
|
||||||
|
|
||||||
|
```
|
||||||
|
publish("act3",["dd",4]);
|
||||||
|
publish("act3",["roofhunter",26]);
|
||||||
|
publish('hong-next');
|
||||||
|
```
|
||||||
|
|
||||||
(...667)
|
(...667)
|
||||||
|
|
||||||
|
@ -714,20 +852,20 @@ publish("start-walkaway-anim");
|
||||||
|
|
||||||
(...667)
|
(...667)
|
||||||
|
|
||||||
`publish('hong-next')`
|
```
|
||||||
|
publish('hong-next');
|
||||||
(...667)
|
publish("act3",["roofhunter",27]);
|
||||||
|
```
|
||||||
`publish('hong-next')`
|
|
||||||
|
|
||||||
`Game.FORCE_CANT_SKIP = false;`
|
`Game.FORCE_CANT_SKIP = false;`
|
||||||
|
|
||||||
r: Oh *come on*. After all that, you're just walking away?
|
r: Oh *come on*. After all that, you're just *giving up* the fight?
|
||||||
|
|
||||||
r: What's the matter, kid? Are you *scared?*
|
r: What's the matter, kid? Are you *scared?*
|
||||||
|
|
||||||
```
|
```
|
||||||
publish('hong-next');
|
publish('hong-next');
|
||||||
|
publish("act3",["roofhunter",26]);
|
||||||
```
|
```
|
||||||
|
|
||||||
h2: Yes.
|
h2: Yes.
|
||||||
|
@ -761,7 +899,11 @@ Game.FORCE_CANT_SKIP = true;
|
||||||
|
|
||||||
(...1333)
|
(...1333)
|
||||||
|
|
||||||
`publish('hong-next')`
|
```
|
||||||
|
publish('hong-next');
|
||||||
|
publish("act3",["dd",5]);
|
||||||
|
publish("act3",["roofhunter",31]);
|
||||||
|
```
|
||||||
|
|
||||||
(...667)
|
(...667)
|
||||||
|
|
||||||
|
@ -781,15 +923,21 @@ Game.FORCE_CANT_SKIP = true;
|
||||||
publish('hong-next');
|
publish('hong-next');
|
||||||
Game.FORCE_CANT_SKIP = false;
|
Game.FORCE_CANT_SKIP = false;
|
||||||
sfx("lock_door");
|
sfx("lock_door");
|
||||||
|
publish("act3",["roofhunter",32]);
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2001)
|
(...2001)
|
||||||
|
|
||||||
|
```
|
||||||
|
publish("act3",["roofhunter",33]);
|
||||||
|
```
|
||||||
|
|
||||||
r: Did they just lock the door?
|
r: Did they just lock the door?
|
||||||
|
|
||||||
```
|
```
|
||||||
Game.clearAll();
|
Game.clearAll();
|
||||||
_.INJURED = false;
|
_.INJURED = false;
|
||||||
|
Game.WORDS_HEIGHT_BOTTOM = -1;
|
||||||
```
|
```
|
||||||
|
|
||||||
(...2000)
|
(...2000)
|
||||||
|
@ -801,7 +949,10 @@ _.INJURED = false;
|
||||||
|
|
||||||
# act3_jump
|
# act3_jump
|
||||||
|
|
||||||
`publish("start-jump-anim");`
|
```
|
||||||
|
publish("start-jump-anim");
|
||||||
|
Game.FORCE_TEXT_Y = 300;
|
||||||
|
```
|
||||||
|
|
||||||
(...2001)
|
(...2001)
|
||||||
|
|
||||||
|
@ -809,15 +960,49 @@ _.INJURED = false;
|
||||||
|
|
||||||
(...833)
|
(...833)
|
||||||
|
|
||||||
`publish('hong-next')`
|
```
|
||||||
|
publish('hong-next');
|
||||||
|
publish("act3",["dd",4]);
|
||||||
|
publish("act3",["roofhunter",28]);
|
||||||
|
```
|
||||||
|
(...125)
|
||||||
|
|
||||||
(...501)
|
`publish("act3",["roofhunter",29]);`
|
||||||
|
|
||||||
`publish('hong-next')`
|
(...125)
|
||||||
|
|
||||||
(...501)
|
`publish("act3",["roofhunter",28]);`
|
||||||
|
|
||||||
`publish('hong-next')`
|
(...125)
|
||||||
|
|
||||||
|
`publish("act3",["roofhunter",29]);`
|
||||||
|
|
||||||
|
(...125)
|
||||||
|
|
||||||
|
```
|
||||||
|
publish('hong-next');
|
||||||
|
publish("act3",["roofhunter",28]);
|
||||||
|
```
|
||||||
|
|
||||||
|
(...125)
|
||||||
|
|
||||||
|
`publish("act3",["roofhunter",29]);`
|
||||||
|
|
||||||
|
(...125)
|
||||||
|
|
||||||
|
`publish("act3",["roofhunter",28]);`
|
||||||
|
|
||||||
|
(...125)
|
||||||
|
|
||||||
|
`publish("act3",["roofhunter",29]);`
|
||||||
|
|
||||||
|
(...125)
|
||||||
|
|
||||||
|
```
|
||||||
|
publish('hong-next');
|
||||||
|
publish("act3",["dd",5]);
|
||||||
|
publish("act3",["roofhunter",34]);
|
||||||
|
```
|
||||||
|
|
||||||
(...1167)
|
(...1167)
|
||||||
|
|
||||||
|
@ -829,12 +1014,12 @@ _.INJURED = false;
|
||||||
|
|
||||||
b: no...
|
b: no...
|
||||||
|
|
||||||
`publish('hong-next')`
|
|
||||||
|
|
||||||
(...501)
|
(...501)
|
||||||
|
|
||||||
`Game.clearText();`
|
`Game.clearText();`
|
||||||
|
|
||||||
|
`publish('hong-next')`
|
||||||
|
|
||||||
(...1333)
|
(...1333)
|
||||||
|
|
||||||
`publish('hong-next')`
|
`publish('hong-next')`
|
||||||
|
@ -857,11 +1042,11 @@ b: no no no
|
||||||
|
|
||||||
(...501)
|
(...501)
|
||||||
|
|
||||||
`publish('hong-next')`
|
```
|
||||||
|
publish('hong-next');
|
||||||
(...167)
|
publish("act3",["dd",4]);
|
||||||
|
publish("act3",["roofhunter",30]);
|
||||||
`publish('hong-next')`
|
```
|
||||||
|
|
||||||
(...167)
|
(...167)
|
||||||
|
|
||||||
|
@ -871,7 +1056,16 @@ b: no no no
|
||||||
|
|
||||||
```
|
```
|
||||||
publish('hong-next');
|
publish('hong-next');
|
||||||
publish("hunter-roof", ["front_shock"]);
|
publish("act3",["dd",2]);
|
||||||
|
publish("act3",["roofhunter",15]);
|
||||||
|
```
|
||||||
|
|
||||||
|
(...167)
|
||||||
|
|
||||||
|
```
|
||||||
|
publish('hong-next');
|
||||||
|
publish("act3",["dd",3]);
|
||||||
|
publish("act3",["roofhunter",16]);
|
||||||
```
|
```
|
||||||
|
|
||||||
(...833)
|
(...833)
|
||||||
|
@ -884,13 +1078,19 @@ publish("hunter-roof", ["front_shock"]);
|
||||||
|
|
||||||
(...167)
|
(...167)
|
||||||
|
|
||||||
`publish('hong-next')`
|
```
|
||||||
|
publish('hong-next');
|
||||||
|
Game.FORCE_TEXT_Y = 325;
|
||||||
|
Game.OVERRIDE_FONT_SIZE = 50;
|
||||||
|
```
|
||||||
|
|
||||||
b: NO!
|
b: NO!
|
||||||
|
|
||||||
(...400)
|
(...400)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
Game.WORDS_HEIGHT_BOTTOM = -1;
|
||||||
|
Game.FORCE_TEXT_Y = -1;
|
||||||
Game.clearText();
|
Game.clearText();
|
||||||
publish("act4-injury-show");
|
publish("act4-injury-show");
|
||||||
```
|
```
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
# intro-play-button
|
# intro-play-button
|
||||||
|
|
||||||
`Game.HACK_MAKE_THE_LINE_BIG=true;`
|
`Game.OVERRIDE_FONT_SIZE=30;`
|
||||||
|
|
||||||
[<div class="mini-icon" pic="play1"></div> PLAY! <div class="mini-icon" pic="play2"></div>](#intro-start) `publish("intro-to-game-1"); Game.OVERRIDE_CHOICE_LINE=true;`
|
[<div class="mini-icon" pic="play1"></div> PLAY! <div class="mini-icon" pic="play2"></div>](#intro-start) `publish("intro-to-game-1"); Game.OVERRIDE_CHOICE_LINE=true;`
|
||||||
|
|
||||||
|
|
|
@ -194,19 +194,32 @@ function BG_Rooftop(){
|
||||||
PARALLAXING = null;
|
PARALLAXING = null;
|
||||||
|
|
||||||
// Stage 1 transition end
|
// Stage 1 transition end
|
||||||
/*if(STAGE==1){
|
if(STAGE==1){
|
||||||
ALPHAS[1] = 0; // HIDE Hunter
|
ALPHAS.forEach(function(val, index){
|
||||||
ALPHAS[3] = 0; // HIDE Old Hong
|
if(index<9) ALPHAS[index]=0;
|
||||||
ALPHAS[4] = 1; // SHOW new hong
|
});
|
||||||
ALPHAS[5] = 1; // SHOW Beebee
|
}
|
||||||
}*/
|
if(STAGE==2){
|
||||||
|
ALPHAS[11] = 0; // HIDE battle Hong
|
||||||
|
ALPHAS[12] = 0; // HIDE battle Beebee
|
||||||
|
|
||||||
|
// Transition BB in
|
||||||
|
if(_.a3_ending=="walkaway"){
|
||||||
|
setTimeout(function(){
|
||||||
|
self.roofhong.nextFrame();
|
||||||
|
},800);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// BYE CLOUDS
|
// BYE CLOUDS
|
||||||
OFFSETS[2] -= 3/60;
|
if(ALPHAS[9]!=1){ // unless anxiety BG
|
||||||
|
OFFSETS[2] -= 3/60;
|
||||||
|
}
|
||||||
|
|
||||||
// SUPER HACKY - ANIMATE THE DIZZIES
|
// SUPER HACKY - ANIMATE THE DIZZIES
|
||||||
ticker += 1/60;
|
ticker += 1/60;
|
||||||
|
@ -230,7 +243,7 @@ function BG_Rooftop(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ANIMATE HONG
|
// ANIMATE TRANSITION
|
||||||
if(self.transition.currentFrame>0){
|
if(self.transition.currentFrame>0){
|
||||||
self.transition._hack_timer = (self.transition._hack_timer===undefined) ? 0 : self.transition._hack_timer;
|
self.transition._hack_timer = (self.transition._hack_timer===undefined) ? 0 : self.transition._hack_timer;
|
||||||
self.transition._hack_timer += 1/60;
|
self.transition._hack_timer += 1/60;
|
||||||
|
@ -238,7 +251,8 @@ function BG_Rooftop(){
|
||||||
self.transition._hack_timer = 0;
|
self.transition._hack_timer = 0;
|
||||||
if(self.transition.currentFrame<7){
|
if(self.transition.currentFrame<7){
|
||||||
self.transition.nextFrame();
|
self.transition.nextFrame();
|
||||||
}else{
|
}else if(!self.transition._HACK_DONE_FOREVER){
|
||||||
|
self.transition._HACK_DONE_FOREVER = true;
|
||||||
publish("act3-alpha", ["transition", 0]);
|
publish("act3-alpha", ["transition", 0]);
|
||||||
publish("act3-alpha", ["hong", 1]);
|
publish("act3-alpha", ["hong", 1]);
|
||||||
publish("act3-alpha", ["beebee", 1]);
|
publish("act3-alpha", ["beebee", 1]);
|
||||||
|
@ -246,6 +260,17 @@ function BG_Rooftop(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ANIMATE HONG
|
||||||
|
var h = self.roofhong;
|
||||||
|
if(h.currentFrame>=36 && h.currentFrame<43){
|
||||||
|
h._hack_timer = (h._hack_timer===undefined) ? 0 : h._hack_timer;
|
||||||
|
h._hack_timer += 1/60;
|
||||||
|
if(h._hack_timer>1/15){ // 15fps
|
||||||
|
h._hack_timer = 0;
|
||||||
|
h.nextFrame();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Anxiety BG
|
// Anxiety BG
|
||||||
if(ALPHAS[9]>0){
|
if(ALPHAS[9]>0){
|
||||||
self.anxiety.update(ALPHAS[9]);
|
self.anxiety.update(ALPHAS[9]);
|
||||||
|
@ -308,13 +333,19 @@ function BG_Rooftop(){
|
||||||
}),
|
}),
|
||||||
subscribe("act3-in", function(){
|
subscribe("act3-in", function(){
|
||||||
|
|
||||||
// SHOW ACTION, HIDE CHARS
|
// WEIRD PARALLAXIN' TIME
|
||||||
/*
|
self.hong.ALLOW_PARALLAX = true;
|
||||||
ALPHAS[1] = 1; // SHOW Hunter
|
self.beebee.ALLOW_PARALLAX = true;
|
||||||
ALPHAS[3] = 1; // SHOW Roof Hong
|
PARALLAXES[11] = 1.0; // battle hong
|
||||||
ALPHAS[4] = 0; // HIDE battle Hong
|
PARALLAXES[12] = 1.27; // battle bb
|
||||||
ALPHAS[5] = 0; // HIDE battle Beebee
|
OFFSETS[11] = MAGIC_NUMBER*PARALLAXES[11]; // battle hong
|
||||||
*/
|
OFFSETS[12] = MAGIC_NUMBER*PARALLAXES[12]; // battle bb
|
||||||
|
|
||||||
|
// SHOW EVERYTHING BELOW ANXIETY BG
|
||||||
|
ALPHAS.forEach(function(val, index){
|
||||||
|
if(index<9) ALPHAS[index]=1;
|
||||||
|
});
|
||||||
|
ALPHAS[6] = ALPHAS[7] = 0; // Except dizzy
|
||||||
|
|
||||||
// WHOOSH
|
// WHOOSH
|
||||||
STAGE = 2;
|
STAGE = 2;
|
||||||
|
@ -323,24 +354,20 @@ function BG_Rooftop(){
|
||||||
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// HUNTER FRAME
|
// JUMP OFF / WALK AWAY
|
||||||
subscribe("hunter-roof", function(frameName){
|
|
||||||
self.hunterSprite.gotoFrameByName(frameName);
|
|
||||||
}),
|
|
||||||
|
|
||||||
// JUMP OFF
|
|
||||||
subscribe("start-jump-anim", function(){
|
subscribe("start-jump-anim", function(){
|
||||||
self.hongSprite.gotoFrame(4);
|
self.dd.gotoFrame(2);
|
||||||
self.hunterSprite.gotoFrameByName("front_badass");
|
self.roofhunter.gotoFrame(15);
|
||||||
|
self.roofhong.gotoFrame(16);
|
||||||
|
}),
|
||||||
|
subscribe("start-walkaway-anim", function(){
|
||||||
|
self.dd.gotoFrame(2);
|
||||||
|
self.roofhunter.gotoFrame(5);
|
||||||
|
self.roofhong.gotoFrame(35);
|
||||||
}),
|
}),
|
||||||
subscribe("hong-next", function(){
|
subscribe("hong-next", function(){
|
||||||
self.hongSprite.nextFrame();
|
//self.hongSprite.nextFrame();
|
||||||
}),
|
self.roofhong.nextFrame();
|
||||||
|
|
||||||
// WALK AWAY
|
|
||||||
subscribe("start-walkaway-anim", function(){
|
|
||||||
self.hongSprite.gotoFrame(23);
|
|
||||||
self.hunterSprite.gotoFrameByName("side_neutral");
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// INJURY
|
// INJURY
|
||||||
|
|
|
@ -10,8 +10,8 @@ function Act3_Beebee(){
|
||||||
var spriteConfig = {
|
var spriteConfig = {
|
||||||
image: Library.images.act3_bb,
|
image: Library.images.act3_bb,
|
||||||
grid:{
|
grid:{
|
||||||
width: 4,
|
width: 8,
|
||||||
height: 2
|
height: 3
|
||||||
},
|
},
|
||||||
frame:{
|
frame:{
|
||||||
width: 720,
|
width: 720,
|
||||||
|
@ -19,15 +19,37 @@ function Act3_Beebee(){
|
||||||
},
|
},
|
||||||
anchor:{
|
anchor:{
|
||||||
x: 270,
|
x: 270,
|
||||||
y: 222
|
y: 223
|
||||||
},
|
},
|
||||||
frameNames:[
|
frameNames:[
|
||||||
"body_scared*",
|
|
||||||
"body_sad*",
|
"body_normal_1",
|
||||||
|
"body_normal_2",
|
||||||
|
"body_normal_3",
|
||||||
|
"body_normal_4",
|
||||||
|
"mouth_sorry",
|
||||||
|
"mouth_sorry_talk",
|
||||||
|
"eyes_sorry_down",
|
||||||
|
"eyes_sorry",
|
||||||
|
|
||||||
|
"eyes_sorry_up",
|
||||||
|
"mouth_normal",
|
||||||
|
"mouth_normal_talk",
|
||||||
|
"eyes_oh_crap",
|
||||||
|
"eyes_start",
|
||||||
|
"eyes_normal",
|
||||||
|
"eyes_angry",
|
||||||
|
"eyes_sad",
|
||||||
|
|
||||||
|
"mouth_ignore",
|
||||||
|
"mouth_ignore_talk",
|
||||||
|
"eyes_ignore",
|
||||||
|
"eyes_ignore_oh_crap",
|
||||||
"body_attacked*",
|
"body_attacked*",
|
||||||
"body_dead*",
|
"body_dead*",
|
||||||
"eyes_blank",
|
//"eyes_blank", // BLANK
|
||||||
"mouth_blank",
|
//"mouth_blank", // BLANK
|
||||||
|
|
||||||
],
|
],
|
||||||
x: 270,
|
x: 270,
|
||||||
y: 258+222-60
|
y: 258+222-60
|
||||||
|
@ -41,13 +63,19 @@ function Act3_Beebee(){
|
||||||
|
|
||||||
// Go To Frames!
|
// Go To Frames!
|
||||||
self.gotoFrames({
|
self.gotoFrames({
|
||||||
body: "scared",
|
body: "normal_1",
|
||||||
mouth: "blank",
|
mouth: "normal",
|
||||||
eyes: "blank",
|
eyes: "start",
|
||||||
});
|
});
|
||||||
var _subscriptions = [];
|
var _subscriptions = [];
|
||||||
_subscriptions.push( subscribe("bb", self.gotoFrames) );
|
_subscriptions.push( subscribe("bb", self.gotoFrames) );
|
||||||
_subscriptions.push( subscribe("attack_bb", self.showAttackedIcon) );
|
_subscriptions.push( subscribe("attack_bb", self.showAttackedIcon) );
|
||||||
|
_subscriptions.push( subscribe("DONE_SPEAKING", self.whenDoneSpeaking) );
|
||||||
|
_subscriptions.push(
|
||||||
|
subscribe("bb_STOP_VIBRATING", function(){
|
||||||
|
self.isVibrating = false;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
// Draw! Same as earlier except a lot of vibration
|
// Draw! Same as earlier except a lot of vibration
|
||||||
var ticker = 0;
|
var ticker = 0;
|
||||||
|
@ -55,11 +83,16 @@ function Act3_Beebee(){
|
||||||
self.characterSpeakerID = "b";
|
self.characterSpeakerID = "b";
|
||||||
self.bounceHookes = 0.25; // loose
|
self.bounceHookes = 0.25; // loose
|
||||||
self.bounceDamp = 0.9; // loose
|
self.bounceDamp = 0.9; // loose
|
||||||
|
self.isVibrating = true;
|
||||||
self.draw = function(ctx){
|
self.draw = function(ctx){
|
||||||
|
|
||||||
// Vibration!
|
// Vibration!
|
||||||
ticker += 1/60;
|
ticker += 1/60;
|
||||||
self.characterSquash = 1 + Math.sin(ticker*Math.TAU*7)*0.01; // seven vibes per second
|
if(self.isVibrating){
|
||||||
|
self.characterSquash = 1 + Math.sin(ticker*Math.TAU*7)*0.01; // seven vibes per second
|
||||||
|
}else{
|
||||||
|
self.characterSquash = 1;
|
||||||
|
}
|
||||||
|
|
||||||
// Old Draw
|
// Old Draw
|
||||||
_oldDraw.apply(self, arguments);
|
_oldDraw.apply(self, arguments);
|
||||||
|
|
|
@ -10,8 +10,8 @@ function Act3_Hong(){
|
||||||
var spriteConfig = {
|
var spriteConfig = {
|
||||||
image: Library.images.act3_hong,
|
image: Library.images.act3_hong,
|
||||||
grid:{
|
grid:{
|
||||||
width: 4,
|
width: 8,
|
||||||
height: 1
|
height: 4
|
||||||
},
|
},
|
||||||
frame:{
|
frame:{
|
||||||
width: 720,
|
width: 720,
|
||||||
|
@ -19,15 +19,44 @@ function Act3_Hong(){
|
||||||
},
|
},
|
||||||
anchor:{
|
anchor:{
|
||||||
x: 59,
|
x: 59,
|
||||||
y: 180
|
y: 181
|
||||||
},
|
},
|
||||||
frameNames:[
|
frameNames:[
|
||||||
"body_angry*",
|
|
||||||
|
"body_normal",
|
||||||
|
"body_cry",
|
||||||
|
"mouth_cry",
|
||||||
|
"mouth_cry_talk",
|
||||||
|
"body_look_up",
|
||||||
|
"body_look_down",
|
||||||
|
"mouth_happy",
|
||||||
|
"eyes_normal",
|
||||||
|
|
||||||
|
"eyes_look_right",
|
||||||
|
"eyes_angry",
|
||||||
|
"eyes_less_angry",
|
||||||
|
"eyes_look_up",
|
||||||
|
"eyes_look_down",
|
||||||
|
"mouth_angry",
|
||||||
|
"mouth_angry_talk",
|
||||||
|
"mouth_normal",
|
||||||
|
|
||||||
|
"mouth_normal_talk",
|
||||||
"body_drink*",
|
"body_drink*",
|
||||||
"body_stop*",
|
"body_stop",
|
||||||
"body_foobar*",
|
"mouth_stop",
|
||||||
"mouth_blank",
|
"mouth_stop_talk",
|
||||||
"eyes_blank",
|
"body_laugh_1*",
|
||||||
|
"body_laugh_2*",
|
||||||
|
"body_laugh_3*",
|
||||||
|
|
||||||
|
"body_yell_1",
|
||||||
|
"body_yell_2",
|
||||||
|
"mouth_yell",
|
||||||
|
"mouth_yell_talk",
|
||||||
|
"mouth_blank", // BLANK
|
||||||
|
"eyes_blank", // BLANK
|
||||||
|
|
||||||
],
|
],
|
||||||
x: 59,
|
x: 59,
|
||||||
y: 258+180
|
y: 258+180
|
||||||
|
@ -41,12 +70,13 @@ function Act3_Hong(){
|
||||||
|
|
||||||
// Go To Frames!
|
// Go To Frames!
|
||||||
self.gotoFrames({
|
self.gotoFrames({
|
||||||
body: "angry",
|
body: "normal",
|
||||||
mouth: "blank",
|
mouth: "angry",
|
||||||
eyes: "blank",
|
eyes: "angry",
|
||||||
});
|
},0);
|
||||||
var _subscriptions = [];
|
var _subscriptions = [];
|
||||||
_subscriptions.push( subscribe("hong", self.gotoFrames) );
|
_subscriptions.push( subscribe("hong", self.gotoFrames) );
|
||||||
|
_subscriptions.push( subscribe("DONE_SPEAKING", self.whenDoneSpeaking) );
|
||||||
//_subscriptions.push( subscribe("attack_hong", self.showAttackedIcon) );
|
//_subscriptions.push( subscribe("attack_hong", self.showAttackedIcon) );
|
||||||
|
|
||||||
// Draw
|
// Draw
|
||||||
|
|
|
@ -59,6 +59,10 @@ function Character(spriteConfig, animLoops){
|
||||||
self.bounceHookes = 0.2;
|
self.bounceHookes = 0.2;
|
||||||
self.bounceDamp = 0.8;
|
self.bounceDamp = 0.8;
|
||||||
self.characterFrames = {};
|
self.characterFrames = {};
|
||||||
|
self.MOUTH_LOCK = false;
|
||||||
|
self.whenDoneSpeaking = function(){
|
||||||
|
self.MOUTH_LOCK = false;
|
||||||
|
};
|
||||||
self.gotoFrames = function(args, bounce){
|
self.gotoFrames = function(args, bounce){
|
||||||
|
|
||||||
// Bounce?
|
// Bounce?
|
||||||
|
@ -98,6 +102,11 @@ function Character(spriteConfig, animLoops){
|
||||||
l.mouth.gotoFrameByName( "mouth_"+c.mouth );
|
l.mouth.gotoFrameByName( "mouth_"+c.mouth );
|
||||||
l.eyes.gotoFrameByName( "eyes_"+c.eyes );
|
l.eyes.gotoFrameByName( "eyes_"+c.eyes );
|
||||||
|
|
||||||
|
// MOUTH LOCK?
|
||||||
|
if(args.MOUTH_LOCK){
|
||||||
|
self.MOUTH_LOCK = l.mouth.currentFrameName;
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Draw
|
// Draw
|
||||||
|
@ -144,17 +153,21 @@ function Character(spriteConfig, animLoops){
|
||||||
if(l.body.currentFrameName.indexOf("*")<0){
|
if(l.body.currentFrameName.indexOf("*")<0){
|
||||||
|
|
||||||
// Mouth
|
// Mouth
|
||||||
if(Game.WHO_IS_SPEAKING==self.characterSpeakerID){
|
if(self.MOUTH_LOCK){
|
||||||
// If I'm talking, switch to a talking mouth!
|
l.mouth.gotoFrameByName(self.MOUTH_LOCK);
|
||||||
var mouthTalkFrame = "mouth_"+c.mouth+"_talk";
|
|
||||||
if( l.mouth.doesFrameNameExist(mouthTalkFrame) ){
|
|
||||||
l.mouth.gotoFrameByName(mouthTalkFrame);
|
|
||||||
}
|
|
||||||
}else{
|
}else{
|
||||||
// If I'm not talking & my mouth is in the talk position, switch it back!
|
if(Game.WHO_IS_SPEAKING==self.characterSpeakerID){
|
||||||
var isMyMouthTalking = (l.mouth.currentFrameName.indexOf("_talk")>=0);
|
// If I'm talking, switch to a talking mouth!
|
||||||
if(isMyMouthTalking){
|
var mouthTalkFrame = "mouth_"+c.mouth+"_talk";
|
||||||
l.mouth.gotoFrameByName( "mouth_"+c.mouth );
|
if( l.mouth.doesFrameNameExist(mouthTalkFrame) ){
|
||||||
|
l.mouth.gotoFrameByName(mouthTalkFrame);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
// If I'm not talking & my mouth is in the talk position, switch it back!
|
||||||
|
var isMyMouthTalking = (l.mouth.currentFrameName.indexOf("_talk")>=0);
|
||||||
|
if(isMyMouthTalking){
|
||||||
|
l.mouth.gotoFrameByName( "mouth_"+c.mouth );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
l.mouth.draw(ctx);
|
l.mouth.draw(ctx);
|
||||||
|
|
|
@ -339,6 +339,9 @@ Game.executeText = function(line){
|
||||||
Game.wordsDOM.appendChild(div);
|
Game.wordsDOM.appendChild(div);
|
||||||
Game.WHO_IS_SPEAKING = speaker; // WHO'S SPEAKING?!
|
Game.WHO_IS_SPEAKING = speaker; // WHO'S SPEAKING?!
|
||||||
Game.CURRENT_SPEAKING_SPEED = Game.OVERRIDE_TEXT_SPEED;
|
Game.CURRENT_SPEAKING_SPEED = Game.OVERRIDE_TEXT_SPEED;
|
||||||
|
if(Game.OVERRIDE_FONT_SIZE){
|
||||||
|
div.style.fontSize = Game.OVERRIDE_FONT_SIZE+"px";
|
||||||
|
}
|
||||||
switch(speaker){
|
switch(speaker){
|
||||||
case "b":
|
case "b":
|
||||||
div.className = "beebee-bubble";
|
div.className = "beebee-bubble";
|
||||||
|
@ -595,6 +598,7 @@ Game.executeText = function(line){
|
||||||
|
|
||||||
// Return overrides to default
|
// Return overrides to default
|
||||||
Game.OVERRIDE_TEXT_SPEED = 1;
|
Game.OVERRIDE_TEXT_SPEED = 1;
|
||||||
|
Game.OVERRIDE_FONT_SIZE = false;
|
||||||
Game.FORCE_TEXT_DURATION = -1;
|
Game.FORCE_TEXT_DURATION = -1;
|
||||||
Game.FORCE_NO_VOICE = false;
|
Game.FORCE_NO_VOICE = false;
|
||||||
|
|
||||||
|
@ -610,6 +614,7 @@ Game.executeText = function(line){
|
||||||
// No one's speaking anymore.
|
// No one's speaking anymore.
|
||||||
Game.setTimeout(function(){
|
Game.setTimeout(function(){
|
||||||
Game.WHO_IS_SPEAKING = null;
|
Game.WHO_IS_SPEAKING = null;
|
||||||
|
publish("DONE_SPEAKING");
|
||||||
}, interval);
|
}, interval);
|
||||||
|
|
||||||
// Show the clicky UI
|
// Show the clicky UI
|
||||||
|
@ -641,7 +646,7 @@ Loader.addSounds([
|
||||||
// Execute choice! Add it to choice DOM.
|
// Execute choice! Add it to choice DOM.
|
||||||
Game.OVERRIDE_CHOICE_LINE = false;
|
Game.OVERRIDE_CHOICE_LINE = false;
|
||||||
Game.OVERRIDE_CHOICE_SPEAKER = null;
|
Game.OVERRIDE_CHOICE_SPEAKER = null;
|
||||||
Game.HACK_MAKE_THE_LINE_BIG = false;
|
Game.OVERRIDE_FONT_SIZE = false;
|
||||||
Game.executeChoice = function(line){
|
Game.executeChoice = function(line){
|
||||||
|
|
||||||
var choiceText = line.match(/\[([^\]]*)\]/)[1].trim();
|
var choiceText = line.match(/\[([^\]]*)\]/)[1].trim();
|
||||||
|
@ -705,8 +710,8 @@ Game.executeChoice = function(line){
|
||||||
},10);
|
},10);
|
||||||
|
|
||||||
// Or... FORCE
|
// Or... FORCE
|
||||||
if(Game.HACK_MAKE_THE_LINE_BIG){
|
if(Game.OVERRIDE_FONT_SIZE){
|
||||||
div.style.fontSize = "30px";
|
div.style.fontSize = Game.OVERRIDE_FONT_SIZE+"px";
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
// If it's too big, shrink font size
|
// If it's too big, shrink font size
|
||||||
|
@ -731,7 +736,7 @@ Game.executeChoice = function(line){
|
||||||
},1);
|
},1);
|
||||||
|
|
||||||
}
|
}
|
||||||
Game.HACK_MAKE_THE_LINE_BIG = false;
|
Game.OVERRIDE_FONT_SIZE = false;
|
||||||
|
|
||||||
// Wait a bit before adding new line
|
// Wait a bit before adding new line
|
||||||
return new RSVP.Promise(function(resolve){
|
return new RSVP.Promise(function(resolve){
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 139 KiB |
Binary file not shown.
Before Width: | Height: | Size: 448 KiB After Width: | Height: | Size: 448 KiB |
Loading…
Reference in New Issue