Parcourir la source

more cave work

tags/v0.1.4^2
Big Bad Waffle il y a 7 ans
Parent
révision
f6eeeb1a92
16 fichiers modifiés avec 484 ajouts et 159 suppressions
  1. BIN
     
  2. BIN
     
  3. BIN
     
  4. BIN
     
  5. BIN
     
  6. +7
    -6
      src/client/js/rendering/tileOpacity.js
  7. +1
    -1
      src/server/components/chatter.js
  8. +2
    -0
      src/server/components/notice.js
  9. +30
    -14
      src/server/components/spellbook.js
  10. +0
    -1
      src/server/components/stats.js
  11. +20
    -0
      src/server/config/maps/cave/chats.js
  12. +333
    -130
      src/server/config/maps/cave/map.json
  13. +67
    -2
      src/server/config/maps/cave/zone.js
  14. +21
    -4
      src/server/config/spells/spellSmokeBomb.js
  15. +2
    -0
      src/server/objects/objBase.js
  16. +1
    -1
      src/server/world/map.js





+ 7
- 6
src/client/js/rendering/tileOpacity.js Voir le fichier

@@ -77,7 +77,8 @@ define([
],
wallsNoFlip: [
156, 158, 162, 163, 167, 168, //Ledges
189 //Wall Sign
189, //Wall Sign
195, 196, 197, 198, 199, 200, 201 //Stone Ledges
],
objectsNoFlip: [
96, 101, //Clotheslines
@@ -88,7 +89,7 @@ define([
getSheetNum: function(tile) {
if (tile < 192)
return 0;
else if (tile < 384)
else if (tile < 448)
return 1;
else
return 2;
@@ -99,12 +100,12 @@ define([

if (tile < 192)
sheetNum = 0;
else if (tile < 384) {
else if (tile < 448) {
tile -= 192;
sheetNum = 1;
}
else {
tile -= 384;
tile -= 448;
sheetNum = 2;
}
@@ -124,12 +125,12 @@ define([

if (tile < 192)
sheetNum = 0;
else if (tile < 384) {
else if (tile < 448) {
tile -= 192;
sheetNum = 1;
}
else {
tile -= 384;
tile -= 448;
sheetNum = 2;
}


+ 1
- 1
src/server/components/chatter.js Voir le fichier

@@ -9,7 +9,7 @@ define([
chats: null,
cdMax: 50,
cd: 0,
chance: 0.02,
chance: 0.035,

init: function(blueprint) {
this.chats = extend(true, [], blueprint.chats);


+ 2
- 0
src/server/components/notice.js Voir le fichier

@@ -13,6 +13,8 @@ define([

maxLevel: 0,

contents: [],

init: function(blueprint) {
this.msg = blueprint.msg;
this.actions = blueprint.actions || {};


+ 30
- 14
src/server/components/spellbook.js Voir le fichier

@@ -114,8 +114,7 @@ define([
if ((animation) && (animation[this.obj.cell]) && (animation[this.obj.cell][animationName])) {
builtSpell.animation = extend(true, {}, animation[this.obj.cell][animationName]);
builtSpell.animation.name = animationName;
}
else
} else
builtSpell.animation = null;
}

@@ -138,7 +137,7 @@ define([
if (builtSpell.init)
builtSpell.init();

if (this.obj.player)
if (this.obj.player)
this.obj.syncer.setArray(true, 'spellbook', 'getSpells', builtSpell.simplify());

return builtSpell.id;
@@ -156,7 +155,7 @@ define([
runeSpell.rolls = {};

runeSpell.values = {};
var builtSpell = extend(true, {
values: {}
}, playerSpell, playerSpellConfig);
@@ -172,8 +171,7 @@ define([
if (int) {
val = ~~val;
r = r.replace('i_', '');
}
else
} else
val = ~~(val * 10) / 10;

builtSpell[r] = val;
@@ -220,8 +218,7 @@ define([
});

return true;
}
else
} else
exists.target = action.target;
},
getRandomSpell: function(target) {
@@ -230,10 +227,10 @@ define([
if (s.canCast(target))
valid.push(i);
});
if (valid.length > 0)
return valid[~~(Math.random() * valid.length)]
else
else
return null;
},
cast: function(action, isAuto) {
@@ -253,8 +250,7 @@ define([
x: this.obj.x,
y: this.obj.y
};
}
else if (spell.spellType == 'buff') {
} else if (spell.spellType == 'buff') {
action.target = this.obj;
}
}
@@ -377,9 +373,9 @@ define([
if ((spell.range > furthest) && (spell.canCast()))
furthest = spell.range;
}
if (furthest == 0)
if (furthest == 0)
furthest = this.furthestRange;
return furthest;
}
},
@@ -495,6 +491,26 @@ define([
});
},

fireEvent: function(event, args) {
var spells = this.spells;
var sLen = spells.length;
for (var i = 0; i < sLen; i++) {
var s = spells[i];

var events = s.events;
if (events) {
var callback = events[event];
if (!callback)
continue;

callback.apply(s, args);
}

if (s.castEvent == event)
s.cast();
}
},

events: {
beforeRezone: function() {
var callbacks = this.callbacks;


+ 0
- 1
src/server/components/stats.js Voir le fichier

@@ -296,7 +296,6 @@ define([
amount = this.values.hp;

this.values.hp -= amount;

var recipients = [];
if (this.obj.serverId != null)
recipients.push(this.obj.serverId);


+ 20
- 0
src/server/config/maps/cave/chats.js Voir le fichier

@@ -0,0 +1,20 @@
module.exports = {
'cultist biorn': [{
msg: 'That pool sure looks cold'
}, {
msg: '*sighs*'
}, {
msg: 'Come on, think!'
}, {
msg: 'How will we ever get across?'
}],
'cultist veleif': [{
msg: `How about we try and jump?`
}, {
msg: '*scratches his head*'
}, {
msg: 'Thorald will be expecting us soon'
}, {
msg: 'This is useless'
}]
};

+ 333
- 130
src/server/config/maps/cave/map.json
Fichier diff supprimé car celui-ci est trop grand
Voir le fichier


+ 67
- 2
src/server/config/maps/cave/zone.js Voir le fichier

@@ -18,11 +18,76 @@ module.exports = {
rolls: 1,
magicFind: 70
}
}
}
},

'crystal slug': {
level: 3,
spells: [{
type: 'melee'
}, {
type: 'smokeBomb',
radius: 1,
duration: 3,
selfCast: 0.25,
statMult: 1,
damage: 0.25,
element: 'poison',
cdMax: 5,
particles: {
scale: {
start: {
min: 4,
max: 14
},
end: {
min: 2,
max: 8
}
},
opacity: {
start: 0.01,
end: 0
},
lifetime: {
min: 1,
max: 2
},
speed: {
start: 4,
end: 0
},
color: {
start: ['fc66f7', 'a24eff'],
end: ['933159', '393268']
},
chance: 0.085,
randomColor: true,
randomScale: true,
blendMode: 'add',
spawnType: 'rect',
spawnRect: {
x: -15,
y: -15,
w: 30,
h: 30
}
}
}]
},

'cultist': {
level: 7
level: 13
},
'cultist biorn': {
level: 14,
walkDistance: 0
},
'cultist veleif': {
level: 14,
walkDistance: 0
},

'zealot': {
level: 10
},


+ 21
- 4
src/server/config/spells/spellSmokeBomb.js Voir le fichier

@@ -65,6 +65,21 @@ define([
radius: 1,
targetGround: true,

update: function() {
var selfCast = this.selfCast;
if (!selfCast)
return;

if ((selfCast !== true) && (Math.random() >= selfCast))
return;

if (this.canCast()) {
this.cd = this.cdMax;
this.cast();
}
},

cast: function(action) {
var obj = this.obj;

@@ -117,10 +132,12 @@ define([
}
}

this.sendBump({
x: x,
y: y - 1
});
if (!this.castEvent) {
this.sendBump({
x: x,
y: y - 1
});
}

this.queueCallback(null, this.duration * 350, this.endEffect.bind(this, patches), null, true);



+ 2
- 0
src/server/objects/objBase.js Voir le fichier

@@ -313,6 +313,8 @@ define([
this.prophecies.fireEvent(event, args);
if (this.inventory)
this.inventory.fireEvent(event, args);
if (this.spellbook)
this.spellbook.fireEvent(event, args);
},

destroy: function() {


+ 1
- 1
src/server/world/map.js Voir le fichier

@@ -274,7 +274,7 @@ define([
if (sheetName == 'walls')
cell += 192;
else if (sheetName == 'objects')
cell += 384;
cell += 448;

if ((layerName != 'hiddenWalls') && (layerName != 'hiddenTiles')) {
var layer = this.layers;


Chargement…
Annuler
Enregistrer