From 5cf548fc2e021867169885b2dfb36d821d5ae50c Mon Sep 17 00:00:00 2001 From: frank <420@shampoo.ooo> Date: Fri, 25 Feb 2022 00:11:53 -0500 Subject: [PATCH] adjust chameleon positions --- NS.py | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/NS.py b/NS.py index 1f37b3a..5ddfffa 100644 --- a/NS.py +++ b/NS.py @@ -1433,10 +1433,20 @@ class Light(Animation): class Chemtrails(Sprite): + """ + This class stores the graphics and state of the player character. It contains sprite frames, health and life objects, and the + timer that counts down the amount of time left to perform a move. + """ def __init__(self, parent): + """ + Load the sprite frames, one for each pad orientation. Initialize a health object, lives object, and timer. + + @param parent PGFW game object that initialized this object + """ Sprite.__init__(self, parent) self.load_from_path(self.get_resource("littleSlimeGoop"), True) + # one frame for each pad orientation for direction in (NS.N, NS.NE, NS.E, NS.NW, NS.S, NS.W): self.add_frameset([direction], switch=(direction == NS.N)) self.life = Life(self) @@ -1444,6 +1454,9 @@ class Chemtrails(Sprite): self.timer = Timer(self) def reset(self): + """ + Reset the health, lives, and timer objects and deactivate. + """ self.deactivate() self.life.reset() self.boys.reset() @@ -1456,6 +1469,9 @@ class Chemtrails(Sprite): self.active = True def challenge(self): + """ + Start an attempt against a new queue of swords to be cleared. + """ self.timer.reset() self.queue_index = 0 @@ -1479,6 +1495,11 @@ class Chemtrails(Sprite): # self.boys.update() def attack(self): + """ + Hit the boss if this is called while the boss attack queue is active and the player is in the correct orientation. + Add time to the timer, decrease the boss's health, and play a sound effect. If the queue is finished, reset the + timer completely and trigger another boss combo. + """ boss = self.get_game().boss queue = boss.queue if self.orientation == queue[self.queue_index]: @@ -1502,6 +1523,9 @@ class Chemtrails(Sprite): self.get_game().platform.reset_lights() def orient(self): + """ + Place the sprite on screen based on which edge is being pressed by the player on the real mat. + """ ds = self.get_display_surface() edge = self.get_game().platform.get_edge_pressed() dy = -Light.TITLE_OFFSET if self.get_game().title.active else 0 @@ -1511,26 +1535,26 @@ class Chemtrails(Sprite): else: self.hide() if edge == NS.N: - self.location.center = ds.get_width() / 2, NS.FRONT + dy + self.location.center = ds.get_width() / 2, NS.FRONT + dy - 10 self.orientation = NS.N elif edge == NS.E: self.location.center = ds.get_width() / 2 + NS.FRONT_WIDTH / 2 - 85, \ - NS.FRONT + NS.LENGTH * NS.STEP - 30 + dy + NS.FRONT + NS.LENGTH * NS.STEP - 40 + dy self.orientation = NS.E elif edge == NS.S: self.location.center = ds.get_width() / 2, \ - NS.FRONT + NS.LENGTH - NS.LENGTH * NS.STEP - 50 + dy + NS.FRONT + NS.LENGTH - NS.LENGTH * NS.STEP - 65 + dy self.orientation = NS.S elif edge == NS.W: - self.location.center = ds.get_width() / 2 - NS.FRONT_WIDTH / 2 + 90, \ - NS.FRONT + NS.LENGTH * NS.STEP - 30 + dy + self.location.center = ds.get_width() / 2 - NS.FRONT_WIDTH / 2 + 85, \ + NS.FRONT + NS.LENGTH * NS.STEP - 40 + dy self.orientation = NS.W elif edge == NS.NW: - self.location.center = ds.get_width() / 2 - 15, \ + self.location.center = ds.get_width() / 2, \ NS.FRONT + NS.LENGTH * NS.STEP + dy - 45 self.orientation = NS.NW elif edge == NS.NE: - self.location.center = ds.get_width() / 2 + 5, \ + self.location.center = ds.get_width() / 2 - 5, \ NS.FRONT + NS.LENGTH * NS.STEP - 45 + dy self.orientation = NS.NE else: