From f93aba866fd031a14b22feec9486d4bbc05d93de Mon Sep 17 00:00:00 2001 From: ntr Date: Thu, 2 May 2019 11:40:08 +1000 Subject: [PATCH] cryp animations --- client/package.json | 2 ++ client/src/events.jsx | 22 +++++++++++++++++++++- server/src/skill.rs | 7 +++---- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/client/package.json b/client/package.json index a7b4f1de..659493d8 100644 --- a/client/package.json +++ b/client/package.json @@ -12,6 +12,8 @@ "author": "", "license": "UNLICENSED", "dependencies": { + "anime": "^0.1.2", + "animejs": "^3.0.1", "async": "^2.6.2", "borc": "^2.0.3", "bulma-toast": "^1.2.0", diff --git a/client/src/events.jsx b/client/src/events.jsx index 69beee55..689ca37d 100644 --- a/client/src/events.jsx +++ b/client/src/events.jsx @@ -1,5 +1,7 @@ const toast = require('izitoast'); const eachSeries = require('async/eachSeries'); +const anime = require('animejs').default; +const range = require('lodash/range'); const actions = require('./actions'); const { TIMES } = require('./constants'); @@ -9,12 +11,30 @@ function registerEvents(store) { // timeout handlers store.subscribe(() => { - const { game, instance, ws} = store.getState(); + const { game, instance, cryps, ws} = store.getState(); if (!game) ws.clearGameStateTimeout(); if (!instance) ws.clearInstanceStateTimeout(); }); + + // cryp animations + function crypAnimations() { + anime({ + targets: 'img', + translateX: () => anime.random(-20, 20), + translateY: () => anime.random(-20, 20), + rotate: () => anime.random(-90, 90), + duration: () => anime.random(5000, 6000), + delay: () => anime.random(0, 1000), + direction: 'alternate', + easing: 'linear', + loop: true, + }); + } + setInterval(crypAnimations, 5000); + crypAnimations(); + function setCryps(cryps) { console.log('EVENT ->', 'cryps', cryps); } diff --git a/server/src/skill.rs b/server/src/skill.rs index 0c767f6b..a11269ca 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -1137,13 +1137,12 @@ fn siphon_tick(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions, s let siphon_events = target.deal_blue_damage(Skill::SiphonTick, amount); for e in siphon_events { - results.push(Resolution::new(source, target).event(e)); - match e { Event::Damage { amount, mitigation: _, colour: _, skill: _ } => { + results.push(Resolution::new(source, target).event(e)); let heal = source.deal_green_damage(Skill::Siphon, amount); - for e in heal { - results.push(Resolution::new(source, source).event(e)); + for h in heal { + results.push(Resolution::new(source, source).event(h)); }; }, _ => (),