diff --git a/src/shattered_sword/GameSystems/BattleManager.ts b/src/shattered_sword/GameSystems/BattleManager.ts index a6c23ea..a2b27ce 100644 --- a/src/shattered_sword/GameSystems/BattleManager.ts +++ b/src/shattered_sword/GameSystems/BattleManager.ts @@ -19,7 +19,7 @@ export default class BattleManager { if(this.enemies.length != 0){ for (let enemy of this.enemies) { if (weapon.hits(enemy.owner)) { - enemy.damage(weapon.type.damage * (this.players[0]).CURRENT_ATK/100); + enemy.damage(Math.round(weapon.type.damage * (this.players[0]).CURRENT_ATK/100)); //console.log("enemy took dmg"); //TODO - test shield, @@ -39,10 +39,10 @@ export default class BattleManager { } if(player.hasDoubleStrike){ - enemy.damage(weapon.type.damage * (this.players[0]).CURRENT_ATK/200); + enemy.damage(Math.round(weapon.type.damage * (this.players[0]).CURRENT_ATK/200)); } if(player.hasLifesteal){ - player.addHealth(weapon.type.damage * player.CURRENT_ATK/100 * player.lifestealratio); + player.addHealth(Math.round(weapon.type.damage * player.CURRENT_ATK/100 * player.lifestealratio)); } } } diff --git a/src/shattered_sword/GameSystems/items/WeaponTypes/Slice.ts b/src/shattered_sword/GameSystems/items/WeaponTypes/Slice.ts index 5b131ff..bad952b 100644 --- a/src/shattered_sword/GameSystems/items/WeaponTypes/Slice.ts +++ b/src/shattered_sword/GameSystems/items/WeaponTypes/Slice.ts @@ -21,7 +21,7 @@ export default class Slice extends WeaponType { // TODO - need to rotate the anim properly //sliceSprite.rotation = attacker.rotation; //sliceSprite.rotation = (attacker).invertX? .5* Math.PI : 1.5 * Math.PI; - //sliceSprite.invertX = (attacker).invertX; + sliceSprite.invertX = (attacker).invertX; //TODO- //4 to scale up the default sprite - may be different later depending on atk anim diff --git a/src/shattered_sword/Player/PlayerController.ts b/src/shattered_sword/Player/PlayerController.ts index 6be9894..c6e4877 100644 --- a/src/shattered_sword/Player/PlayerController.ts +++ b/src/shattered_sword/Player/PlayerController.ts @@ -174,6 +174,8 @@ export default class PlayerController extends StateMachineAI implements BattlerA //to test the buffs //this.addBuff( {type:BuffType.HEALTH, value:1} ); this.addBuff({type:BuffType.BURN, value:1, category:BuffCategory.DOT}); + this.addBuff({type:BuffType.BLEED, value:1, category:BuffCategory.DOT}); + this.addBuff({type:BuffType.POISON, value:1, category:BuffCategory.DOT}); } @@ -331,7 +333,7 @@ export default class PlayerController extends StateMachineAI implements BattlerA //TODO - implement better buff genertion - some buffs dont want multiple of let attackBuffs : Buff[] = [ - {type:BuffType.RANGE, value:num, category: BuffCategory.ATTACK}, + {type:BuffType.RANGE, value:num/10, category: BuffCategory.ATTACK}, {type:BuffType.ATKSPEED, value:num, category: BuffCategory.ATTACK}, ]; if(!this.hasDoubleStrike){ diff --git a/src/shattered_sword/Scenes/GameLevel.ts b/src/shattered_sword/Scenes/GameLevel.ts index 612fcd7..0514bbb 100644 --- a/src/shattered_sword/Scenes/GameLevel.ts +++ b/src/shattered_sword/Scenes/GameLevel.ts @@ -415,23 +415,6 @@ export default class GameLevel extends Scene { - //spawn snake() - if(Math.random() < .002){ - console.log("RANDOM SNAKE!"); - this.addEnemy("Snake", this.player.position.clone().add(new Vec2(0,-320)),{ - player: this.player, - health: 50, - tilemap: "Main", - goal: Statuses.REACHED_GOAL, - size: new Vec2(16,16), - offset : new Vec2(0, 16), - exp: 50, - actions: [new AttackAction(3, [Statuses.IN_RANGE], [Statuses.REACHED_GOAL]), - new Move(2, [], [Statuses.IN_RANGE], {inRange: 60})], - status : [Statuses.CAN_RETREAT, Statuses.CAN_BERSERK], - weapon : this.createWeapon("knife") - }) - } } // TODO put UI changes in here @@ -793,13 +776,13 @@ export default class GameLevel extends Scene { (enemy._ai).healthBar.color = Color.GREEN; (enemy._ai).poisonStat = this.add.sprite("poisoning", "primary"); (enemy._ai).poisonStat.position = enemy.collisionShape.center.clone().add(new Vec2((((enemy.collisionShape).hw)*-1, -((enemy.collisionShape).hh+5)))); - (enemy._ai).poisonStat.scale.set(0.2, 0.2); + (enemy._ai).poisonStat.scale.set(0.5, 0.5); (enemy._ai).burnStat = this.add.sprite("burning", "primary"); (enemy._ai).burnStat.position = (enemy._ai).poisonStat.position.clone().add(new Vec2(15, 0)); - (enemy._ai).burnStat.scale.set(0.2, 0.2); + (enemy._ai).burnStat.scale.set(0.5, 0.5); (enemy._ai).bleedStat = this.add.sprite("bleeding", "primary"); (enemy._ai).bleedStat.position = (enemy._ai).poisonStat.position.clone().add(new Vec2(30, 0)); - (enemy._ai).bleedStat.scale.set(0.2, 0.2); + (enemy._ai).bleedStat.scale.set(0.5, 0.5); enemy.setGroup("Enemy"); enemy.setTrigger("player", Player_Events.PLAYER_COLLIDE, null); let actionsDefault = [new AttackAction(3, [Statuses.IN_RANGE], [Statuses.REACHED_GOAL]), diff --git a/src/shattered_sword/Scenes/Tutorial.ts b/src/shattered_sword/Scenes/Tutorial.ts index c962d91..77a3280 100644 --- a/src/shattered_sword/Scenes/Tutorial.ts +++ b/src/shattered_sword/Scenes/Tutorial.ts @@ -11,6 +11,8 @@ import { Statuses } from "../sword_enums"; import AABB from "../../Wolfie2D/DataTypes/Shapes/AABB"; import EnemyAI from "../AI/EnemyAI"; import BattlerAI from "../AI/BattlerAI"; +import AttackAction from "../AI/EnemyActions/AttackAction"; +import Move from "../AI/EnemyActions/Move"; export default class Tutorial extends GameLevel { loadScene(): void { @@ -30,4 +32,26 @@ export default class Tutorial extends GameLevel { //load music here } + + updateScene(deltaT: number): void { + super.updateScene(deltaT); + + //spawn snake() + if(Math.random() < .002){ + console.log("RANDOM SNAKE!"); + this.addEnemy("Snake", this.player.position.clone().add(new Vec2(0,-320)),{ + player: this.player, + health: 50, + tilemap: "Main", + goal: Statuses.REACHED_GOAL, + size: new Vec2(16,16), + offset : new Vec2(0, 16), + exp: 50, + actions: [new AttackAction(3, [Statuses.IN_RANGE], [Statuses.REACHED_GOAL]), + new Move(2, [], [Statuses.IN_RANGE], {inRange: 60})], + status : [Statuses.CAN_RETREAT, Statuses.CAN_BERSERK], + weapon : this.createWeapon("knife") + }) + } + } } \ No newline at end of file