From 176157866d1720358aa21759b5ecf5158745f6cb Mon Sep 17 00:00:00 2001 From: Renge Date: Tue, 19 Apr 2022 13:50:48 -0400 Subject: [PATCH] feat: implemented pause layer and cheat code --- dist/shattered_sword_assets/images/black.png | Bin 0 -> 38683 bytes .../Player/PlayerController.ts | 5 ++ src/shattered_sword/Scenes/GameLevel.ts | 69 +++++++++++++++++- 3 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 dist/shattered_sword_assets/images/black.png diff --git a/dist/shattered_sword_assets/images/black.png b/dist/shattered_sword_assets/images/black.png new file mode 100644 index 0000000000000000000000000000000000000000..d363fff7686c88d75f4f0345496383098513c1fd GIT binary patch literal 38683 zcmeI4&r1|x7{}jrHyy!h@eA+t*iUKv-7*}_7n@#w|9R<<^M7LAU?e)f zr|4(oKEAmnt!^~-SG!IY^BVl~_Uq7>SQm*7zn>a%pDd#uMfDNZ#YFa0JFeDWc7OZw zbW<@fYoFSY%&5i#vklgB=tEo8XZLwxEoJ3P&$ln=BdiNQa;&2Gom#zw+PYTNQ?t9= zeY>hN2aDY8^{+8D;YZrf_O`iCmR7Ib=kb!U>dbW4wS@bYM(1nXcN6KjUTkd7cguH#5?Nt0cvG}1vjR(()mxw-`u=l0At#|-Hp9YKJ; zj;ql`OVCmDARVM*&(i27JNl2jh;a2Ekq*)k1bBxf^0q)+=Jlte=s`Lb={(C^`JJBy z(9RecAtQ@c7{GAIqQhqZ!`h}?XU6P~y+Fz_Lpn%D5@2>mr2obNGrObHHOm6&ARUV= zyjo^=0_CzG#O#ikTrrJpq=R$>0cLk(-exS!?l_7bq+^6)ylmb9BORn;)d#aX*4E_u z6U5k;DUn49gmjROAi(U748F#~*q2E8OVwX*BT{BJPhkg)q7M$zK{|o}o#le8B=qpm zSvD0c(g{>3f8QP){kqr|&u%sLv~^|fw`*9vaR_PkPdm$MmQvHDb|V8$af~P@ zAj`0`0uFG5Kg8!aav$IT$3}oqUbNrq)dB}N;kF$aayS_aq$0opj+Fp~r!DxddspB9 zC;ZgV&k2N;4TW=b@6F2mEI{}gNC-&?NeB%AA{UWsL!C1YIoI~2&I+q8APnFD$4Y=` zMYIYFgE}kVIe}vcFmVx>Uk>{X-~cD=HyC7c^hSUK92)@!nZj-)KnXa&Vam%8;O#@e zIfNe#-~h+Gm{==V=meU2RunA20gjabZBpItn0kAwUa2kjQ^~}DHtGeSGzz%@j%1=O zz|kn=0yvV1wg5+?kPF~QCfWiVjY2MfBbjIma5M_J0FGp$Ex^$zW zNG93>9F0OQfFqe`3ve_Fxd4u2qAkGDDC7b-l8LtbBRJmv-pVsW*B>lrx1ds~?!M$) HXL|e(J?32K literal 0 HcmV?d00001 diff --git a/src/shattered_sword/Player/PlayerController.ts b/src/shattered_sword/Player/PlayerController.ts index 678eb56..63de062 100644 --- a/src/shattered_sword/Player/PlayerController.ts +++ b/src/shattered_sword/Player/PlayerController.ts @@ -76,6 +76,8 @@ export default class PlayerController extends StateMachineAI implements BattlerA MAX_SHIELD : number = 20; invincible : boolean = false; + godMode: boolean = false; + tilemap: OrthogonalTilemap; //for doublejumps maybe = # of jumps in air allowed @@ -103,6 +105,9 @@ export default class PlayerController extends StateMachineAI implements BattlerA // TODO - figure out attacker damage(damage: number, attacker?: GameNode): void { + if (this.godMode) { + return; + } if( !this.invincible){ //i frame here PlayerController.invincibilityTimer.start(); diff --git a/src/shattered_sword/Scenes/GameLevel.ts b/src/shattered_sword/Scenes/GameLevel.ts index a4159d9..87b40b7 100644 --- a/src/shattered_sword/Scenes/GameLevel.ts +++ b/src/shattered_sword/Scenes/GameLevel.ts @@ -34,6 +34,7 @@ import InputWrapper from "../Tools/InputWrapper"; import Story from "../Tools/DataTypes/Story"; import Sprite from "../../Wolfie2D/Nodes/Sprites/Sprite"; import Platformer from "../../demos/Platformer"; +import TextInput from "../../Wolfie2D/Nodes/UIElements/TextInput"; @@ -101,6 +102,12 @@ export default class GameLevel extends Scene { buffButton3 : Button; buffs: Array; + //pause layer + pauseLayer: Layer; + pauseText: Label; + pauseInput: TextInput; + pauseSubmit: Label; + randomSeed: number; startpos: Vec2; @@ -127,6 +134,7 @@ export default class GameLevel extends Scene { this.load.image("knife", "shattered_sword_assets/sprites/knife.png"); this.load.spritesheet("slice", "shattered_sword_assets/spritesheets/slice.json"); this.load.image("inventorySlot", "shattered_sword_assets/sprites/inventory.png"); + this.load.image("black", "shattered_sword_assets/images/black.png"); this.load.spritesheet("test_dummy","shattered_sword_assets/spritesheets/test_dummy.json") this.enemies = new Array(); @@ -270,6 +278,9 @@ export default class GameLevel extends Scene { break; } } + if (event.type === "cheat") { + this.enableCheat(); + } } if (this.gameStateStack.peek() === GameState.STORY) { if (InputWrapper.isNextJustPressed() && this.gameStateStack.peek() === GameState.STORY) { @@ -279,9 +290,11 @@ export default class GameLevel extends Scene { if (InputWrapper.isPauseJustPressed()) { if (this.gameStateStack.peek() === GameState.GAMING) { this.setGameState(GameState.PAUSE); + this.pauseLayer.enable(); } else if (this.gameStateStack.peek() === GameState.PAUSE) { - this.setGameState(); + this.setGameState(); + this.pauseLayer.disable(); } } @@ -364,6 +377,9 @@ export default class GameLevel extends Scene { this.storyLayer = this.addUILayer("story"); this.storyLayer.disable(); + this.pauseLayer = this.addUILayer("pause"); + this.pauseLayer.disable(); + this.receiver.subscribe("loadStory"); } @@ -391,6 +407,7 @@ export default class GameLevel extends Scene { this.receiver.subscribe("buff1"); this.receiver.subscribe("buff2"); this.receiver.subscribe("buff3"); + this.receiver.subscribe("cheat"); } // TODO - @@ -514,7 +531,23 @@ export default class GameLevel extends Scene { this.buffLayer.disable(); - } + this.pauseText =