Dialog for Uziel, added Gabriel
BIN
images/png/gabriel_background.png
Normal file
|
After Width: | Height: | Size: 994 KiB |
BIN
images/png/gabriel_fail.png
Normal file
|
After Width: | Height: | Size: 853 KiB |
BIN
images/png/gabriel_idle.png
Normal file
|
After Width: | Height: | Size: 832 KiB |
BIN
images/png/gabriel_win.png
Normal file
|
After Width: | Height: | Size: 841 KiB |
BIN
images/xcf/gabriel_background.xcf
Normal file
BIN
images/xcf/gabriel_fail.xcf
Normal file
BIN
images/xcf/gabriel_idle.xcf
Normal file
BIN
images/xcf/gabriel_win.xcf
Normal file
BIN
public/sprite/gabriel_background.webp
Normal file
|
After Width: | Height: | Size: 156 KiB |
BIN
public/sprite/gabriel_fail.webp
Normal file
|
After Width: | Height: | Size: 143 KiB |
BIN
public/sprite/gabriel_idle.webp
Normal file
|
After Width: | Height: | Size: 151 KiB |
BIN
public/sprite/gabriel_win.webp
Normal file
|
After Width: | Height: | Size: 114 KiB |
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.button {
|
.button {
|
||||||
max-width: 700px;
|
max-width: 800px;
|
||||||
position: relative;
|
position: relative;
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
background: url("/sprite/button2.webp");
|
background: url("/sprite/button2.webp");
|
||||||
background-size: auto 100%;
|
background-size: auto 100%;
|
||||||
background-repeat: repeat-x;
|
background-repeat: repeat-x;
|
||||||
padding: 5px 70px;
|
padding: 5px 5px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-position-x: center;
|
background-position-x: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
$: character = characters.find(c => c.name === d.character);
|
$: character = characters.find(c => c.name === d.character);
|
||||||
|
|
||||||
var art;
|
var art;
|
||||||
$: art = d.character_art || d.pose ? character.poses[d.pose] : character.art;;
|
$: art = !character ? null : d.character_art || d.pose ? character.poses[d.pose] : character.art;
|
||||||
var background;
|
var background;
|
||||||
$: background = d.background;
|
$: background = d.background;
|
||||||
|
|
||||||
|
|
@ -42,11 +42,11 @@
|
||||||
art = "/sprite/death1.webp";
|
art = "/sprite/death1.webp";
|
||||||
failure = true;
|
failure = true;
|
||||||
(async() => {
|
(async() => {
|
||||||
await asleep(200);
|
await asleep(150);
|
||||||
art = "/sprite/death2.webp";
|
art = "/sprite/death2.webp";
|
||||||
await asleep(200);
|
await asleep(150);
|
||||||
art = "/sprite/death3.webp";
|
art = "/sprite/death3.webp";
|
||||||
await asleep(200);
|
await asleep(150);
|
||||||
art = "/sprite/death4.webp";
|
art = "/sprite/death4.webp";
|
||||||
allowSwitch = true;
|
allowSwitch = true;
|
||||||
failureShown = true;
|
failureShown = true;
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
failure = false;
|
failure = false;
|
||||||
current = next;
|
current = next;
|
||||||
d = dialog[current];
|
d = dialog[current];
|
||||||
art = d.character_art || d.pose ? character.poses[d.pose] : character.art;
|
art = !character ? null : d.character_art || d.pose ? character.poses[d.pose] : character.art;
|
||||||
background = d.background;
|
background = d.background;
|
||||||
localStorage.setItem("dialog-page", next);
|
localStorage.setItem("dialog-page", next);
|
||||||
}
|
}
|
||||||
|
|
@ -133,7 +133,11 @@
|
||||||
{#if showText}
|
{#if showText}
|
||||||
<div class="text">
|
<div class="text">
|
||||||
<div class="data">
|
<div class="data">
|
||||||
<h1>{character.name}, {character.title}</h1>
|
{#if character}
|
||||||
|
<h1>{character.name}, {character.title}</h1>
|
||||||
|
{:else}
|
||||||
|
<h1>???</h1>
|
||||||
|
{/if}
|
||||||
<p class="animate" bind:this={textElement}>{d.text}</p>
|
<p class="animate" bind:this={textElement}>{d.text}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="buttons" bind:this={buttons}>
|
<div class="buttons" bind:this={buttons}>
|
||||||
|
|
@ -247,7 +251,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.text {
|
.text {
|
||||||
max-width: 900px;
|
max-width: 1100px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
.data {
|
.data {
|
||||||
|
|
@ -265,6 +269,7 @@
|
||||||
}
|
}
|
||||||
.failure .background .character {
|
.failure .background .character {
|
||||||
object-fit: scale-down;
|
object-fit: scale-down;
|
||||||
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
.background img {
|
.background img {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -274,6 +279,8 @@
|
||||||
}
|
}
|
||||||
.background .full {
|
.background .full {
|
||||||
height: 80%;
|
height: 80%;
|
||||||
|
width: 100%;
|
||||||
|
object-fit: none;
|
||||||
}
|
}
|
||||||
.background .character {
|
.background .character {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@ export const characters = [{
|
||||||
poses: {
|
poses: {
|
||||||
side_normal: "/sprite/uriel_side_normal.webp",
|
side_normal: "/sprite/uriel_side_normal.webp",
|
||||||
side_happy: "/sprite/uriel_side_happy.webp",
|
side_happy: "/sprite/uriel_side_happy.webp",
|
||||||
bat: "/sprite/uriel_bat.webp"
|
bat: "/sprite/uriel_bat.webp",
|
||||||
|
chibi: "/sprite/uriel.gif"
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
name: "Michael",
|
name: "Michael",
|
||||||
|
|
@ -13,7 +14,8 @@ export const characters = [{
|
||||||
title: "the high marshal",
|
title: "the high marshal",
|
||||||
poses: {
|
poses: {
|
||||||
wings: "/sprite/michael_wings.webp",
|
wings: "/sprite/michael_wings.webp",
|
||||||
happy: "/sprite/michael_happy.webp"
|
happy: "/sprite/michael_happy.webp",
|
||||||
|
chibi: "/sprite/uriel.gif"
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
name: "Uziel",
|
name: "Uziel",
|
||||||
|
|
@ -23,4 +25,12 @@ export const characters = [{
|
||||||
happy: "/sprite/uziel_happy.webp",
|
happy: "/sprite/uziel_happy.webp",
|
||||||
dead: "/sprite/uziel_dead.webp"
|
dead: "/sprite/uziel_dead.webp"
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
name: "Gabriel",
|
||||||
|
art: "/sprite/gabriel_idle.webp",
|
||||||
|
title: "the administrator",
|
||||||
|
poses: {
|
||||||
|
happy: "/sprite/gabriel_win.webp",
|
||||||
|
sad: "/sprite/gabriel_fail.webp"
|
||||||
|
}
|
||||||
}];
|
}];
|
||||||
|
|
@ -64,19 +64,19 @@ export const dialog = [{
|
||||||
name: "uziel_start",
|
name: "uziel_start",
|
||||||
background: "/sprite/backg.webp",
|
background: "/sprite/backg.webp",
|
||||||
character: "Uziel",
|
character: "Uziel",
|
||||||
text: "Hello there",
|
text: "(she appear out of nowhere and suddenly approaches you.)",
|
||||||
buttons: [{
|
buttons: [{
|
||||||
text: "Failure",
|
text: "oh, you're approaching me? Had you heard of my harem proposal.",
|
||||||
next: "uziel_failure"
|
next: "uziel_failure"
|
||||||
}, {
|
}, {
|
||||||
text: "Success",
|
text: "Harem of angle, yes or no ?",
|
||||||
next: "uziel_success"
|
next: "uziel_success"
|
||||||
}]
|
}]
|
||||||
}, {
|
}, {
|
||||||
name: "uziel_failure",
|
name: "uziel_failure",
|
||||||
background: "/sprite/backg.webp",
|
background: "/sprite/backg.webp",
|
||||||
character: "Uziel",
|
character: "Uziel",
|
||||||
text: "You're dead",
|
text: "I can't beat the living shit out of you without getting closer.",
|
||||||
next: "uziel_start",
|
next: "uziel_start",
|
||||||
flags: ["failure"],
|
flags: ["failure"],
|
||||||
pose: "dead"
|
pose: "dead"
|
||||||
|
|
@ -85,7 +85,46 @@ export const dialog = [{
|
||||||
background: "/sprite/backg.webp",
|
background: "/sprite/backg.webp",
|
||||||
character: "Uziel",
|
character: "Uziel",
|
||||||
pose: "happy",
|
pose: "happy",
|
||||||
text: "You got me",
|
text: "That had to be the madest and stupidest thing i ever heard. Yes, i must see how this whole thing will end up.",
|
||||||
|
flags: ["success"],
|
||||||
|
next: "gabriel_start"
|
||||||
|
}, {
|
||||||
|
name: "gabriel_start",
|
||||||
|
background: "/sprite/backg.webp",
|
||||||
|
character: "Gabriel",
|
||||||
|
text: "Hello sir. My name is Gabriel, Heaven's administration department. How may I help you?",
|
||||||
|
buttons: [{
|
||||||
|
text: "You look tired, how about let me help you instead.",
|
||||||
|
next: "gabriel_success"
|
||||||
|
}, {
|
||||||
|
text: "How about you ditching this job and come with me.",
|
||||||
|
next: "gabriel_fail"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
name: "gabriel_success",
|
||||||
|
background: "/sprite/backg.webp",
|
||||||
|
character: "Gabriel",
|
||||||
|
text: "That... That would be lovely actually. Could you buy me some coffee? After my department got defund I can't even afford it.",
|
||||||
next: "uriel_entrance",
|
next: "uriel_entrance",
|
||||||
|
pose: "happy",
|
||||||
flags: ["success"]
|
flags: ["success"]
|
||||||
|
}, {
|
||||||
|
name: "gabriel_fail",
|
||||||
|
background: "/sprite/backg.webp",
|
||||||
|
character: "Gabriel",
|
||||||
|
text: "Oh... you looking for that type of girl, don't worry I know just the place.",
|
||||||
|
next: "helltaker",
|
||||||
|
pose: "sad"
|
||||||
|
}, {
|
||||||
|
name: "helltaker",
|
||||||
|
background: "/sprite/gabriel_background.webp",
|
||||||
|
text: "...",
|
||||||
|
next: "helltaker2",
|
||||||
|
flags: ["helltaker"]
|
||||||
|
}, {
|
||||||
|
name: "helltaker2",
|
||||||
|
background: "/sprite/gabriel_background.webp",
|
||||||
|
text: "What are you doing here?",
|
||||||
|
next: "uriel_entrance",
|
||||||
|
flags: ["failure"]
|
||||||
}];
|
}];
|
||||||