mirror of
https://github.com/danbulant/flying-squid
synced 2026-07-10 13:41:03 +00:00
Start of implementing player abilities
This commit is contained in:
parent
f8c5eac2fb
commit
0092af247e
3 changed files with 14 additions and 0 deletions
1
src/lib/plugins/effects.js
vendored
1
src/lib/plugins/effects.js
vendored
|
|
@ -7,6 +7,7 @@ module.exports.entity = function(entity, serv) {
|
||||||
|
|
||||||
entity.sendEffect = (effectId, {amplifier=0,duration=30*20,particles=true,whitelist,blacklist=[]}={}) => {
|
entity.sendEffect = (effectId, {amplifier=0,duration=30*20,particles=true,whitelist,blacklist=[]}={}) => {
|
||||||
if (!whitelist) whitelist = serv.getNearby(entity);
|
if (!whitelist) whitelist = serv.getNearby(entity);
|
||||||
|
if (entity.type == 'player' && [1].indexOf(effectId) != -1) entity.sendAbilities();
|
||||||
var sendTo = whitelist.filter(p => blacklist.indexOf(p) == -1);
|
var sendTo = whitelist.filter(p => blacklist.indexOf(p) == -1);
|
||||||
var data = {
|
var data = {
|
||||||
entityId: entity.id,
|
entityId: entity.id,
|
||||||
|
|
|
||||||
|
|
@ -173,5 +173,6 @@ module.exports.player=function(player,serv)
|
||||||
await player.waitPlayerLogin();
|
await player.waitPlayerLogin();
|
||||||
player.sendRestMap();
|
player.sendRestMap();
|
||||||
sendChunkWhenMove();
|
sendChunkWhenMove();
|
||||||
|
player.sendAbilities();
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -67,6 +67,18 @@ module.exports.player=function(player)
|
||||||
var notCancelled = await player.sendPosition(position.scaled(32).floored(), false, true);
|
var notCancelled = await player.sendPosition(position.scaled(32).floored(), false, true);
|
||||||
if (notCancelled) player.sendSelfPosition();
|
if (notCancelled) player.sendSelfPosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
player.sendAbilities = () => {
|
||||||
|
var f = (+(player.gameMode == 1)*1) + (+(player.gameMode == 1 || player.gameMode == 3)*2) + (+(player.gameMode == 1 || player.gamemode == 3)*4);
|
||||||
|
var walkingSpeed = 1.0 + ((player.effects[1] != null ? (player.effects[1].amplifier + 1) : 0) * 0.2)
|
||||||
|
var flyingSpeed = 0.2;
|
||||||
|
console.log(walkingSpeed, flyingSpeed);
|
||||||
|
player._client.write('abilities', {
|
||||||
|
flags: f,
|
||||||
|
walkingSpeed: walkingSpeed,
|
||||||
|
flyingSpeed: flyingSpeed
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.entity=function(entity,serv){
|
module.exports.entity=function(entity,serv){
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue