Word bubbles

This commit is contained in:
2014-06-11 22:25:47 -07:00
parent b16554cc93
commit c22da5c205

View File

@@ -2,6 +2,15 @@ STATE_UNAWARE = 1 << 1;
STATE_CONCERNED = 1 << 2;
STATE_ALERTED = 1 << 3;
STATE_LOSTHIM = 1 << 4;
STATE_RUN = 1 << 5;
STATE_MOVE_LEFT = 1 << 6;
STATE_MOVE_RIGHT = 1 << 7;
STATE_MOVE_UP = 1 << 8;
STATE_MOVE_DOWN = 1 << 9;
SPRITE_TOWNSFOLK_MALE = 1;
SPRITE_TOWNSFOLK_FEMALE = 5;
SPRITE_TOWNSFOLK_GUARD = 9;
SPRITE_TOWNSFOLK_MALE1 = 1;
SPRITE_TOWNSFOLK_MALE2 = 2;
@@ -158,7 +167,7 @@ var moonlightSettings = {
var moonlightDialog = {
"status": {
"townsfolk-male": {
SPRITE_TOWNSFOLK_MALE: {
STATE_UNAWARE : [
"I'd rather be fishing.",
"Different day, same old stuff.",
@@ -200,13 +209,13 @@ var moonlightDialog = {
"Bloody wanker!"
]
},
"townsfolk-female": {
SPRITE_TOWNSFOLK_FEMALE: {
STATE_UNAWARE : [],
STATE_CONCERNED : [],
STATE_ALERTED : [],
STATE_LOSTHIM: []
},
"townsfolk-guard": {
SPRITE_TOWNSFOLK_GUARD: {
STATE_UNAWARE : [],
STATE_CONCERNED : [],
STATE_ALERTED : [],
@@ -256,6 +265,25 @@ Light.prototype = Object.create(Phaser.Sprite.prototype);
Light.prototype.constructor = Light;
var AISprite = function(game, x, y, spritetype) {
this.setWordBubble = function()
{
if ( this.bubble != null ) {
return;
}
//this.bubble = game.add.group()
aistate = this.state & ( STATE_UNAWARE | STATE_CONCERNED | STATE_ALERTED | STATE_LOSTHIM );
var mylines = moonlightDialog['status'][this.sprite_group][aistate];
var text = mylines[game.rnd.integerInRange(0, mylines.length)];
var style = {font: '12px Arial Bold', fill: '#ffffff', align: 'center'}
this.bubble = game.add.text(this.x, this.y, style);
}
this.clearWordBubble = function()
{
this.bubble.destroy();
this.bubble = null;
}
this.update = function()
{
if ( game.rnd.integerInRange(0, 100) < 95 )
@@ -266,6 +294,10 @@ var AISprite = function(game, x, y, spritetype) {
running = true;
}
if ( game.rnd.integerInRange(0, 500) > 450 ) {
this.setWordBubble();
}
switch ( game.rnd.integerInRange(0, 4) ) {
case 0: {
setSpriteMovement(this, running, 'up');
@@ -297,10 +329,18 @@ var AISprite = function(game, x, y, spritetype) {
'townsfolk-guard-1',
'townsfolk-guard-2'
];
this.bubble = null;
this.state = STATE_UNAWARE;
Phaser.Sprite.call(this, game, x, y, spritenames_by_type[spritetype]);
game.physics.arcade.enable(this);
this.body.collideWorldBounds = true;
if ( spritetype >= 9 ) {
this.sprite_group = 3;
} else {
this.sprite_group = spritetype / 4;
}
addAnimation(this, 'bipedwalkleft');
addAnimation(this, 'bipedwalkright');
addAnimation(this, 'bipedwalkup');
@@ -509,8 +549,6 @@ GameState.prototype.check_input = function()
player.body.velocity.y = 0;
velocityMod = 0;
runningSpeed = {true: 150, false: 75}
if ( controls.up.isDown) {
setSpriteMovement(player, controls.up.shiftKey, 'up');
} else if ( controls.down.isDown ) {