class Level(LevelBase): prevlevel = 0 dialog = 0 pdialog = 0 timer = 0 oldPos = (0, 0) dialog = 0 btimer = 0 def __init__(self, g, player_new, dimentions, p=0): LevelBase.__init__(self, g, player_new, dimentions) self.prevlevel = p self.title = "Jail" # current level TW, TH = 32, 32 # load tile set g.tga_load_tiles(os.path.join("textures", "tiles5.png"), (TW, TH), self.tdata) g.tga_load_level(os.path.join("levels", "level17.tga"), 1) g.bounds = pygame.Rect(TW, TH, (len(g.tlayer[0]) - 2) * TW, (len(g.tlayer) - 2) * TH) g.code_events(self.edata) self.vats = Inventory(g, "clonevat") self.vats.pos((18, 13)) g.run_codes(self.cdata, (0, 0, g.dimentions[0], g.dimentions[1])) # ugly, ugly monsters def add_monster(self, g, r, a): # e = Enemy(self.g, (r.rect.x, r.rect.y), 'monster1') e = Monster1(self.g, (r.rect.x, r.rect.y)) # upon moving def playerMove(self, g, r, a): if self.prevlevel == 18: g.player.rect.x, g.player.rect.y = r.rect.x, r.rect.y g.view.x = r.rect.x g.view.y = r.rect.y # when you're over a change level tile def change_level(self, g, r, a): if a.__class__.__name__ != "Player": return if g.player.pos[0] == 38: g.currentLevel = 18 if g.player.pos[0] == 1: g.currentLevel = 16 # level events def level_loop(self): g = self.g
class Level(LevelBase): prevlevel = 0 dialog = 0 pdialog = 0 timer = 0 oldPos = (0, 0) dialog = 0 btimer = 0 lockedatmessage = 0 inbattle = 0 def __init__(self, g, player_new, dimentions, p = 0): LevelBase.__init__(self, g, player_new, dimentions) self.prevlevel = p self.title = 'Airport' # current level TW,TH = 32,32 # load tile set g.tga_load_tiles(os.path.join("textures", "tiles6.png"), (TW,TH), self.tdata) g.tga_load_level(os.path.join("levels", "level28.tga"), 1) g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH) g.code_events(self.edata) self.vats = Inventory(g, 'plane') self.vats.pos((18, 9)) g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1])) self.g.player.hidden = 0 self.pan_camera(None) self.initBack('bg3.png', 190, 512) self.effect = GameEffect(g,'wind') pygame.mixer.music.load(os.path.join("ambient", "amb15.ogg")) pygame.mixer.music.play(40000) self.fox = Character("fox.png","facefox.tga", g, 'fox') self.fox.pos((31, 15)) self.fox.direction = 0 self.fox.health = 40 self.fox.healthmax = 40 self.director = Character("director.png","facedirector.png", g, 'director') self.director.pos((36, 16)) self.director.direction = 1 if 'scene16' in g.saveData: self.fox.hidden = 1 if 'scene17' in g.saveData: self.fox.feeling = 'dead' self.director.hidden = 1 # plane is gone if you got imas backup tape if 'i_tape' in g.saveData: self.vats.removeself() self.invbox = 0 # ugly, ugly monsters def add_monster (self,g,r,a): Monster5(self.g, (r.rect.x, r.rect.y)) # upon moving def playerMove(self, g,r,a): print 'player move' if self.prevlevel == 29: g.player.rect.x,g.player.rect.y = r.rect.x,r.rect.y - 2 g.view.x = r.rect.x g.view.y = r.rect.y # draw back of level def draw_back(self): test = self.draw_gradent((105,70,70), (0, 30, 255)) self.g.screen.blit(test, (0,0)) # when you're over a change level tile def change_level(self, g,r,a): if a.__class__.__name__ != 'Player': return if g.player.pos[0] == 64: g.currentLevel = 29 if g.player.pos[0] == 1: g.currentLevel = 27 print g.player.pos # level events def level_loop(self): g = self.g if self.g.player.pos[0] > 24: if not 'scene16' in g.saveData: g.intermission = 1 self.pan_camera(self.fox) if self.dialog == 0: self.dialog = 1 if self.dialog != 0: if g.keyup: self.dialog += 1 self.contains_msg_box_counter = 0 if self.dialog == 2: g.intermission = 1 str = "The plane is ready. " self.info_box(str,self.director) if self.dialog == 3: str = "Him, again?" self.fox.direction = 1 self.fox.feeling = 'sad' self.info_box(str,self.director) if self.dialog == 4: str = "You still havn't killed him?" self.info_box(str,self.director) self.fox.direction = 0 if self.dialog == 5: str = "This is your last chance. Finish him!" self.info_box(str,self.director) self.director.walkto((35, 16)) if self.dialog == 6: g.intermission = 0 g.saveData['scene16'] = 1 self.dialog = 0 self.fox.attacking = 3 if self.director.hasWalkedTo((35,16)): self.director.hidden = 1 if self.fox.attacking != 0 and self.fox.feeling != 'dead': self.fox.draw_health_meter() self.g.clayer[16][6] = 1 self.g.tlayer[16][6] = 30 else: if self.fox.health <= 0: self.fox.rect.y += 2 # gravity self.g.clayer[16][6] = 0 self.g.tlayer[16][6] = 0 if g.player.pos == (35, 16): if g.event: g.currentLevel = 29 # make the last health increase if self.fox.feeling == 'dead': if not 'scene17' in g.saveData: self.invbox = Inventory(g, 'healthincrease5', (self.fox.rect.x, self.fox.rect.y)) g.saveData['scene17'] = 1 if self.invbox: self.invbox.rect.y += 3 if self.oldPos != g.player.pos: self.dialog = 0 self.oldPos = g.player.pos self.timer = 0
def add_switch(self,g,r,a): switch = Inventory(self.g, 'switch') pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y)) switch.pos(pos) self.switches.append(switch)
def add_spike(self,g,r,a): spike = Inventory(self.g, 'spike') pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y)) spike.pos(pos)
def add_save_inventory (self,g,r,a): save = Inventory(self.g, 'save') pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y)) save.pos(pos)
def add_shot3(self, g,r,a): shot4 = Inventory(self.g, 'shot4') pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y)) shot4.pos(pos)
def add_water(self, g,r,a): sprinkler = Inventory(self.g, 'sprinkler') pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y)) sprinkler.pos(pos) self.sprinklers.append(sprinkler)
class Level(LevelBase): prevlevel = 0 dialog = 0 pdialog = 0 timer = 10 ticker = 0 def __init__(self, g, player_new, dimentions, p = 0): LevelBase.__init__(self, g, player_new,dimentions) self.prevlevel = p self.title = 'Engineers Lab' # current level currentLevel = os.path.join("levels", "level2.tga") TW,TH = 32,32 # load tile set tileTexture = os.path.join("textures", "tiles0.png") g.tga_load_tiles(tileTexture, (TW,TH), self.tdata) g.tga_load_level(currentLevel, 1) g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH) g.code_events(self.edata) self.microwave = Inventory(g, 'microwave') self.microwave.pos((6, 9)) self.professor = Character("professor.png","faceprofessor.tga", g) self.professor.pos((6, 9)) self.professor.direction = 0 self.assistant = Character("assistant.png","faceassistant.png", g) self.assistant.pos((12, 9)) self.assistant.direction = 1 g.intermission = 1 # already done the cut scene if 'scene1' in g.saveData: g.intermission = 0 self.professor.pos((11, 9)) self.dialog = 9 self.g.sprites.remove(self.assistant) # if you've put the transmitter in if 'scene3' in g.saveData: self.assistant = Character("assistant.png","faceassistant.png", g) self.assistant.pos((13, 9)) self.professor.pos((8, 9)) self.assistant.direction = 1 self.dialog = 10 g.intermission = 1 # already had the talk after putting in the transmitter if 'scene4' in g.saveData: self.dialog = 19 g.intermission = 0 self.g.sprites.remove(self.assistant) if 'scene5' in g.saveData: self.dialog = 20 self.professor.pos((11,9)) self.professor.faceup = 1 g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1])) # upon moving def playerMove(self, g,r,a): if self.prevlevel == 3: g.player.rect.x = r.rect.x g.player.rect.y = r.rect.y if self.prevlevel == 5: # why do you eat so much chicken? pop = g.tile_to_screen((6,9)) g.player.rect.x = pop[0] g.player.rect.y = pop[1] # when you're over a change level tile def change_level(self, g,r,a): if not g.event or a.__class__.__name__ != 'Player': return #back to castle st if g.player.pos == (1, 9): self.g.currentLevel = 1 if g.player.pos == (13, 9): self.g.currentLevel = 3 # The door is open if 'scene4' in g.saveData: if g.player.pos == (7, 9): g.currentLevel = 5 # draw back of level def draw_back(self): test = self.draw_gradent((18,20,34), (0, 0, 0)) self.g.screen.blit(test, (0,0)) # blinking machines if self.ticker % 7 == 0: w,h = self.g.dimentions[0], self.g.dimentions[1] for y in range(0,h): for x in range(0,w): if self.g.tlayer[y][x] == 47: self.g.tlayer[y][x] = 63 elif self.g.tlayer[y][x] == 63: self.g.tlayer[y][x] = 47 # open the door if 'scene4' in self.g.saveData: w,h = self.g.dimentions[0], self.g.dimentions[1] for y in range(0,h): for x in range(0,w): if self.g.tlayer[y][x] == 1: self.g.tlayer[y][x] = 55 # level events def level_loop(self): g = self.g # if the key is up if g.keyup and self.timer > 30 and self.dialog != 9 and self.dialog != 19 and self.dialog != 20: self.dialog += 1 self.timer = 0 self.contains_msg_box_counter = 0 # dialog bs if self.dialog == 0: self.professor.faceup = 1 elif self.dialog == 1: self.professor.faceup = 0 str = "I've completed the testing of the microwave transmitter." str += "\nI'll put the cover on it and it will be fixed." self.info_box(str, self.professor) elif self.dialog == 2 : self.professor.walkto((11, 9)) if self.professor.hasWalkedTo((11, 9)): self.professor.faceup = 1 str = "I don't know how I'll manage to fix it again; " str += "\nThe solder is rusted and the components have decayed. If" str += "\nthey want us to do it again they'll need to supply us correctly." self.info_box(str, self.professor) elif self.dialog == 3: self.professor.faceup = 0 str = "Hehe!" str += "\nThere's a visitor in the door" self.info_box(str, self.assistant) elif self.dialog == 4: str = "A visitor?" self.professor.direction = 1 self.info_box(str, self.professor) elif self.dialog == 5: self.professor.walkto((3, 9)) self.assistant.walkto((4, 9)) if self.professor.hasWalkedTo((3, 9)): str = "You're a face I haven't seen before..." self.info_box(str, self.professor) elif self.dialog == 6: str = "The ID sown to your speed suit is GARD01 2454" self.info_box(str, self.professor) elif self.dialog == 7: self.professor.direction = 0 str = "You wouldn't happen to know where this man came from," str += "\ndo you, Ima?" str += "\n" self.info_box(str, self.professor) elif self.dialog == 8: self.professor.direction = 1 str = "Well I'm sure you wouldn't helping her take the microwave " str += "\ntransmitter to the clock tower and install it. It shouldn't" str += "\ntake long." self.info_box(str, self.professor) elif self.dialog == 9: # enable walking g.intermission = 0 # professor goes back to working self.professor.direction = 0 self.professor.walkto((11, 9)) if self.professor.hasWalkedTo((11, 9)): self.professor.faceup = 1 if self.assistant in self.g.sprites: g.following = self.assistant g.saveData['scene1'] = 1 # asking the professor what to do if g.player.pos == (11,9) and g.event: self.pdialog = 1 if self.pdialog == 1: str = "You can get to the tower using the door to my right." str += "\nMake sure to take the transmitter!" self.info_box(str, self.professor) elif self.dialog == 10: self.assistant.walkto((11, 9)) self.professor.walkto((10, 9)) g.player.direction = 1 if self.assistant.hasWalkedTo((11, 9)): self.professor.faceup = 0 str = "Back already?" self.info_box(str, self.professor) elif self.dialog == 11: str = "Good work. This means we can go home for the day." self.info_box(str, self.professor) elif self.dialog == 12: self.assistant.walkto((10, 9)) self.professor.walkto((11, 9)) if self.professor.hasWalkedTo((11, 9)): self.assistant.direction = 0 str = "What about you?" self.info_box(str, self.professor) elif self.dialog == 13: str = "The last thing you remember is getting paid for a medical trail?" str += "\nAh yes. To be an undergraduate again..." str += "\nWonderful times!" self.info_box(str, self.professor) elif self.dialog == 14: str = "Ima:" str += "\nEngineer?" self.info_box(str, self.assistant) elif self.dialog == 15: str = "Engineer:" self.professor.direction = 1 str += "\nI'd imagine you have the responsibility of caring for your" str += "\nnew friend." self.info_box(str, self.professor) elif self.dialog == 16: self.professor.direction = 0 str = "Engineer:" str += "\nTake this, you can use it to protect yourself." str += "\nI made it myself." self.info_box(str, self.professor) elif self.dialog == 17: str = "\nReceived the Crux!" g.saveData['weapon'] = 1 g.saveData['displayhealth'] = 1 self.info_box(str) elif self.dialog == 18: str = "Engineer:" str += "\nI'll open the door." self.info_box(str, self.professor) self.assistant.direction = 1 elif self.dialog == 19: g.intermission = 0 g.saveData['scene4'] = 1 self.professor.walkto((11, 9)) # walk the assistant to the door and remove her. if self.assistant in self.g.sprites: self.assistant.walkto((7, 9)) if self.assistant.hasWalkedTo((7, 9)): self.g.sprites.remove(self.assistant) # a small message to the player about the monsters outside if g.player.pos == (11,9) and g.event: self.pdialog = 1 if self.pdialog == 1: str = "Engineer:" str += "\nThe weapon works by locating erroneous DNA left by" str += "\nmodified creatures, and storing it for reproduction." self.info_box(str, self.professor) elif self.dialog == 20: # if you've killed the fox, and Ima's been kidnapped if g.player.pos == (11,9) and g.event: g.intermission = 1 self.dialog = 21 self.timer = 0 elif self.dialog == 21: # if you've killed the fox, and Ima's been kidnapped str = "Engineer:" str += "\nWhat? Ima's been kidnapped?! By a giant pumpkin?" self.professor.walkto((12,9)) self.professor.direction = 1 self.info_box(str, self.professor) self.professor.faceup = 0 g.player.direction = 0 elif self.dialog == 22: str = "Engineer:" str += "\nI know who he is. His name is Fox. " self.info_box(str, self.professor) elif self.dialog == 23: str = "Engineer:" str += "\nHe was made by terrorists, but found work with the " str += "\nNews Corperation." self.info_box(str, self.professor) elif self.dialog == 24: str = "Engineer:" str += "\n...The world has changed since you were last awake. A long time " str += "\nago terrorists got their hands on genetic manipulation equipment." self.info_box(str, self.professor) elif self.dialog == 25: str = "Engineer:" str += "\nAcross the globe people were attacked with cheap explosives," str += "\npoisons and modified creatures." self.info_box(str, self.professor) elif self.dialog == 26: str = "Engineer:" str += "\nPeople found refuge underground. The only people on top" str += "\nare maintainers to their system they live in." self.info_box(str, self.professor) elif self.dialog == 27: str = "Engineer:" str += "\nLaw does not permit us to copy people, and Ima copied you. " str += "\nSo News Corp. must have sent someone take her..." self.info_box(str, self.professor) elif self.dialog == 28: str = "Engineer:" str += "\nYou'll have to go and get her. They probably just want" str += "\nto set an example anyway." self.info_box(str, self.professor) elif self.dialog == 29: str = "Engineer:" str += "\nGet to the Octagon were their office is and take her back." self.info_box(str, self.professor) elif self.dialog == 30: g.intermission = 0 g.saveData['scene6'] = 1 self.timer += 1 self.ticker += 1 # remmber last pos so I can remove old dialoge boxes if self.oldPos != g.player.pos: self.pdialog = 0 self.oldPos = g.player.pos
class Level(LevelBase): prevlevel = 0 dialog = 0 pdialog = 0 timer = 0 oldPos = (0, 0) dialog = 0 btimer = 0 fillingwithwater = 0 def __init__(self, g, player_new, dimentions, p = 0): LevelBase.__init__(self, g, player_new, dimentions) self.prevlevel = p self.title = 'Jail' # current level TW,TH = 32,32 # load tile set tileTexture = os.path.join("textures", "tiles5.png") g.tga_load_tiles(tileTexture, (TW,TH), self.tdata) currentLevel = os.path.join("levels", "level14.tga") g.tga_load_level(currentLevel, 1) g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH) g.code_events(self.edata) self.robot = Character("robot0.png","facerobot.tga", g,'robot') self.robot.pos((13, 20)) self.robot.direction = 0 #(2, 3) 'i_arms' in g.saveData self.arms = Inventory(g, 'arms') self.arms.pos((2,3)) # if you've given her arms if 'scene7' in g.saveData: self.dialog = 6 self.robot.feeling = 'arms' # if you read the newspaper, she fights you to get to the top self.newspaper = 0 if 'scene17' in g.saveData: self.newspaper = Inventory(g, "newspaper") self.newspaper.pos((6, 20)) if 'scene19' in g.saveData: self.robot.feeling = 'dead' self.robot.hidden = 1 g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1])) # upon moving def playerMove(self, g,r,a): if self.prevlevel == 15: g.player.rect.x,g.player.rect.y = r.rect.x,r.rect.y g.view.x = r.rect.x g.view.y = r.rect.y # when you're over a change level tile def change_level(self, g,r,a): if a.__class__.__name__ != 'Player': return if g.player.pos[0] == 38: g.currentLevel = 15 # level events def level_loop(self): g = self.g if 'scene7' in g.saveData: self.g.clayer[4][18] = 0 self.g.tlayer[4][18] = 1 else: self.g.clayer[4][18] = 1 self.g.tlayer[4][18] = 25 # player position if g.player.pos == (13, 20) and not 'scene18' in g.saveData: if g.event: self.pdialog = 1 if 'i_arms' in g.saveData: self.pdialog = 2 if self.pdialog == 0: if not 'scene7' in g.saveData: self.robot.feeling = 'blink' if self.pdialog == 1: self.dialog = 0 self.robot.feeling = '' str = "Hello! Welcome to the Octagon Correctional Facility." str += "\nYou must be a visitor, as you weren't tagged when you arrived." str += "\nI'd love to help you, but I've misplaced my arms." self.info_box(str, self.robot) elif self.pdialog == 2: if g.keyup and self.timer > 30: self.dialog += 1 self.timer = 0 self.contains_msg_box_counter = 0 if 'scene7' in g.saveData and self.dialog == 1: self.dialog = 6 # if you already got the item if self.dialog == 1: self.robot.feeling = 'happy' str = "Ah! you found some arms!" g.intermission = 1 g.player.staylooking = 1 self.info_box(str, self.robot) elif self.dialog == 2: self.robot.feeling = 'arms' str = "Thank you" g.saveData['i_arms'] = 0 g.player.staylooking = 1 self.info_box(str, self.robot) elif self.dialog == 3: self.robot.feeling = 'arms' str = "Ima? Yes a girl was automatically transferred to a holding cell " str += "\nacross to the jail. She's been stored in a cell across the complex. " self.info_box(str, self.robot) g.player.staylooking = 1 elif self.dialog == 4: str = "I'll open the door for you so you can get out." self.info_box(str, self.robot) g.player.staylooking = 1 elif self.dialog == 5: g.saveData['scene7'] = 1 g.player.staylooking = 0 g.intermission = 0 self.dialog = 7 elif self.dialog == 6: self.robot.feeling = 'arms' str = "Your friend was automatically transferred to a holding cell." self.info_box(str, self.robot) if 'scene17' in g.saveData: if not 'scene18' in g.saveData: if self.newspaper and self.newspaper.gotten: if g.intermission == 0: self.timer = 0 str = "What are you doing? Don't touch that!" self.info_box(str, self.robot) g.intermission = 1 g.player.direction = 0 if g.keyup and self.timer > 30: g.saveData['scene18'] = 1 g.intermission = 0 self.robot.attacking = 1 if self.robot.attacking != 0 and self.robot.feeling != 'dead': self.robot.draw_health_meter() self.g.clayer[17][18] = 1 self.g.tlayer[17][18] = 11 else: self.g.clayer[17][18] = 0 self.g.tlayer[17][18] = 10 if self.robot.feeling == 'dead': if not 'scene19' in g.saveData: Inventory(self.g, 'drawingwater', (192, 536 - 64)) Inventory(self.g, 'waterfall', (15 * 32, 16 * 32)) g.shake_screen() g.player.maxspeed = 3 g.player.jump_gravity = 7 self.fillingwithwater = 1 g.saveData['scene19'] = 1 # filling the level with water if (self.fillingwithwater != 0): self.fillingwithwater += 1 self.g.clayer[17][18] = 1 self.g.tlayer[17][18] = 11 if self.fillingwithwater > 450 and self.fillingwithwater < 550: self.info_box("\nYou can't hold your breath for much longer.") if self.fillingwithwater > 750 and self.fillingwithwater < 850: self.info_box("\nYou are feeling lightheaded") # fade to black when dead fadouttime = 1000 if self.fillingwithwater > fadouttime and self.fillingwithwater < fadouttime+64: g.intermission = 1 self.g.player.animation = 1 self.g.player.dieanimation = 1 alpha = 255 - (self.fillingwithwater - fadouttime) * 4 self.g.screen.fill((alpha,alpha,alpha), None, BLEND_MULT) if self.fillingwithwater >= fadouttime+64: self.g.screen.fill((0,0,0)) self.g.player.animation = 0 self.g.player.dieanimation = 0 if self.fillingwithwater > 1100: g.currentLevel = 13 #(15, 16) test # if you're moving if self.oldPos != g.player.pos: self.pdialog = 0 self.dialog = 0 self.oldPos = g.player.pos self.timer += 1
class Level(LevelBase): prevlevel = 0 dialog = 0 pdialog = 0 timer = 0 oldPos = (0, 0) dialog = 0 btimer = 0 def __init__(self, g, player_new, dimentions, p = 0): LevelBase.__init__(self, g, player_new, dimentions) self.prevlevel = p self.title = 'Jail' # current level TW,TH = 32,32 # load tile set g.tga_load_tiles(os.path.join("textures", "tiles5.png"), (TW,TH), self.tdata) g.tga_load_level(os.path.join("levels", "level19.tga"), 1) g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH) g.code_events(self.edata) # and an odd object called flutter box. flutter shutter (37, 13) self.terrorist = Character("terrorist.png","faceterrorist.tga", g) self.terrorist.pos((3, 20)) self.terrorist.direction = 0 self.terrorist.faceup = 1 self.flutterbox = Inventory(g, 'flutterbox') self.flutterbox.pos((37, 13)) self.flutterswitch = Inventory(g, 'flutterswitch') self.flutterswitch.pos((37, 20)) g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1])) # ugly, ugly monsters def add_monster (self,g,r,a): print 'add_monster ',r.rect e = Monster1(self.g, (r.rect.x, r.rect.y)) # upon moving def playerMove(self, g,r,a): if self.prevlevel == 20: g.player.rect.x,g.player.rect.y = r.rect.x,r.rect.y g.view.x = r.rect.x g.view.y = r.rect.y # when you're over a change level tile def change_level(self, g,r,a): if a.__class__.__name__ != 'Player': return if g.player.pos[1] == 1: g.currentLevel = 18 if g.player.pos == (39, 27) or g.player.pos == (39, 28): g.currentLevel = 20 # level events def level_loop(self): g = self.g # 16, 13 if self.switches[0].open: self.g.clayer[13][16] = 0 self.g.tlayer[13][16] = 2 else: self.g.clayer[13][16] = 1 self.g.tlayer[13][16] = 25 #(26, 13) if self.switches[1].open: self.g.clayer[13][26] = 0 self.g.tlayer[13][26] = 2 else: self.g.clayer[13][26] = 1 self.g.tlayer[13][26] = 25 # opened up the flutter box (13, 20) if 'scene10' in g.saveData: self.g.clayer[20][11] = 0 self.g.tlayer[20][11] = 2 else: self.g.clayer[20][11] = 1 self.g.tlayer[20][11] = 25 # door to leave (38, 27) if 'scene11' in g.saveData: self.g.clayer[27][38] = 0 self.g.tlayer[27][38] = 2 else: self.g.clayer[27][38] = 1 self.g.tlayer[27][38] = 25 if g.player.pos == (37, 20): if 'i_flutterbox' in g.saveData: if g.event: self.pdialog = 1 g.saveData['scene10'] = 1 if self.pdialog == 1: str = "\nPlaced the flutter box inside the holder" self.info_box(str) # talking to the terrorist if g.player.pos == (3, 20): if g.keyup and self.timer > 30: if self.pdialog > 0: self.pdialog += 1 self.timer = 0 self.contains_msg_box_counter = 0 if g.event and self.pdialog < 2: self.pdialog = 1 if self.pdialog == 2: g.intermission = 1 str = "Ah?" str += "\nYou interrupted me!" self.info_box(str, self.terrorist) self.terrorist.walkto((4, 20)) self.terrorist.direction = 1 self.terrorist.faceup = 0 g.player.direction = 0 elif self.pdialog == 3: str = "What do you want, baldy?" self.info_box(str, self.terrorist) elif self.pdialog == 4: str = "Ah, you must be the one who was sent down here. I guess the robot " str += "\ndidn't think you'd live past the Monotane. " str += "\nShe didn't think much of me either. " self.info_box(str, self.terrorist) elif self.pdialog == 5: str = "Most people don't think much of my group." self.info_box(str, self.terrorist) elif self.pdialog == 6: str = "They called us terrorists, after they ruined the economy. They " str += "\nlobbied our leaders against the people, and when the people turned " str += "\nto crime to put food on their table they put them in prison." self.info_box(str, self.terrorist) elif self.pdialog == 7: str = "We found salvation. A company called News Corp financed us " str += "\nso we could fight back. " self.info_box(str, self.terrorist) elif self.pdialog == 8: str = "The government stepped in and sold the people " str += "\nEntertainment Devices that protected them completely. " str += "\nThose blue things behind me, there are people in them. " self.info_box(str, self.terrorist) elif self.pdialog == 9: str = "I've hacked the Entertainment network. The girl you're looking for " str += "\nwas inserted into the system, but got rejected due to an " str += "\nincompatible brain. She's going to be flown out of the city soon. " self.info_box(str, self.terrorist) elif self.pdialog == 10: str = "Take my card with my location. The airport is down to the right; " str += "\nif you ever want to continue the fight against the power," str += "\nyou know where to find me. " self.info_box(str, self.terrorist) elif self.pdialog == 11: str = "\nReceived the location card!" self.info_box(str) g.saveData['i_locationcard'] = 1 elif self.pdialog == 12: g.intermission = 0 g.saveData['scene11'] = 1 self.timer += 1 if self.oldPos != g.player.pos: self.pdialog = 0 self.oldPos = g.player.pos
class Level(LevelBase): prevlevel = 0 dialog = 0 pdialog = 0 timer = 0 oldPos = (0, 0) dialog = 0 btimer = 0 lockedatmessage = 0 inbattle = 0 def __init__(self, g, player_new, dimentions, p = 0): LevelBase.__init__(self, g, player_new, dimentions) self.prevlevel = p self.title = 'Office Complex Top' # current level TW,TH = 32,32 # load tile set g.tga_load_tiles(os.path.join("textures", "tiles6.png"), (TW,TH), self.tdata) g.tga_load_level(os.path.join("levels", "level31.tga"), 1) g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH) g.code_events(self.edata) self.initBack('bg1.png', 730) self.backuptape = Inventory(g, 'tape', (37, 22)) self.backuptape.pos((37, 22)) self.backup = Character('backup.png', 'facebackup.png', g, 'backup') self.backup.pos((28, 25)) self.backup.direction = 0 if 'scene21' in g.saveData: self.backup.hidden = 1 # coming back and saying high to the guy. if 'scene20' in g.saveData and not 'scene21' in g.saveData: del g.saveData['scene20'] g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1])) self.coins = 0 # upon moving def playerMove(self, g,r,a): print 'player move' # draw back of level def draw_back(self): test = self.draw_gradent((105,70,70), (0, 30, 255)) self.g.screen.blit(test, (0,0)) # when you're over a change level tile def change_level(self, g,r,a): if a.__class__.__name__ != 'Player': return print g.player.pos if g.player.pos[0] == 1: g.currentLevel = 30 # level events def level_loop(self): g = self.g # Some hints as to the past if g.player.pos == (28, 25) and not 'scene20' in g.saveData: if self.pdialog != 0: if g.keyup: self.contains_msg_box_counter = 0 self.pdialog += 1 if g.event and self.pdialog == 0: self.backup.face_the_player() g.intermission = 1 self.pdialog = 1 self.backup.walkto((29, 25)) self.backup.direction = 1 g.player.direction = 0 if self.pdialog == 2: str = "Hello" self.info_box(str, self.backup) elif self.pdialog == 3: str = "You don't know me..." str += "\nbut I know you, ha. Haha!" self.info_box(str, self.backup) elif self.pdialog == 4: str = "Who knows if I'm myself, when I am who what's on a tape? " str += "\nSeveral times I've been built because of a timer." str += "\nWhat happened in between these gaps is anyone's guess." self.info_box(str, self.backup) elif self.pdialog == 5: str = "You came to tell me what you're doing." str += "\nBut I already know!" self.info_box(str, self.backup) elif self.pdialog == 6: str = "See, you can't have her tape." str += "\nI need it. For the future, you see." self.info_box(str, self.backup) elif self.pdialog == 7: str = "The insult 'tool' never really fits to most situations." str += "\nBut now it's apt!" self.info_box(str, self.backup) elif self.pdialog == 8: str = "...sudo apt!" self.info_box(str, self.backup) elif self.pdialog == 9: str = "..." self.info_box(str, self.backup) elif self.pdialog == 10: str = "Now you die!" self.info_box(str, self.backup) elif self.pdialog == 11: g.saveData['scene20'] = 1 self.backup.attacking = 1 self.backup.dy = -10.0 self.pdialog = 20 self.backup.walkto(None) else: g.intermission = 0 if 'scene20' in g.saveData: if not 'scene21' in g.saveData: self.backup.draw_health_meter() if self.backup.health <= 0: if not 'scene21' in g.saveData: g.saveData['scene21'] = 1 self.backup.attacking = 0 self.backup.dead = 1 self.coins = Inventory(g, 'coin', (self.backup.rect.x, self.backup.rect.y) ) if self.coins: self.coins.rect.y += 5 self.backup.rect.y += 5 if self.oldPos != g.player.pos: self.pdialog = 0 self.oldPos = g.player.pos
class Level(LevelBase): prevlevel = 0 dialog = 0 pdialog = 0 timer = 0 oldPos = (0, 0) dialog = 0 btimer = 0 def __init__(self, g, player_new, dimentions, p = 0): LevelBase.__init__(self, g, player_new, dimentions) self.prevlevel = p self.title = 'Elevator' # current level TW,TH = 32,32 # load tile set g.tga_load_tiles(os.path.join("textures", "tiles5.png"), (TW,TH), self.tdata) g.tga_load_level(os.path.join("levels", "level21.tga"), 1) g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH) g.code_events(self.edata) #see two dead fish. Symbolisim self.vats = Inventory(g, 'fish0') self.vats.pos((19, 19)) self.vats = Inventory(g, 'fish1') self.vats.pos((28, 19)) g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1])) self.initBack('bg2.png', 680) self.g.player.hidden = 0 # ugly, ugly monsters def add_monster (self,g,r,a): #e = Enemy(self.g, (r.rect.x, r.rect.y), 'monster0') Monster0(self.g, (r.rect.x, r.rect.y)) # upon moving def playerMove(self, g,r,a): if self.prevlevel == 22: g.player.rect.x,g.player.rect.y = r.rect.x,r.rect.y g.view.x = r.rect.x g.view.y = r.rect.y # draw back of level 242422 def draw_back(self): test = self.draw_gradent((0,0,0), (24, 24, 22)) self.g.screen.blit(test, (0,0)) # when you're over a change level tile def change_level(self, g,r,a): if a.__class__.__name__ != 'Player': return print g.player.pos if g.player.pos[0] == 38: g.currentLevel = 22 # level events def level_loop(self): g = self.g if g.player.pos == (6, 27): if g.event: g.currentLevel = 20 #message at (33, 27) if g.player.pos == (33, 27): if g.event: self.pdialog = 2 if self.pdialog == 2: str = "Casting two fish," str = "\nA man you shall meet you bearing a pitcher of water." self.info_box(str) self.timer += 1 if self.oldPos != g.player.pos: self.pdialog = 0 self.oldPos = g.player.pos