diff options
author | Kevin Hockey <Blitzkev@gmail.com> | 2010-06-29 19:19:51 (GMT) |
---|---|---|
committer | Kevin Hockey <Blitzkev@gmail.com> | 2010-06-29 19:19:51 (GMT) |
commit | 936c0a5859aff07c702ce4b8ef2ce38ab6ebf413 (patch) | |
tree | 7bd6a38b2600d8fa05b3341697b765417a7e82ac /MAFH2/BattleEngine.py | |
parent | 721d43756cf45596a2968ae9e01c3c0357b73a07 (diff) |
Further updated magic menus
Diffstat (limited to 'MAFH2/BattleEngine.py')
-rw-r--r-- | MAFH2/BattleEngine.py | 211 |
1 files changed, 183 insertions, 28 deletions
diff --git a/MAFH2/BattleEngine.py b/MAFH2/BattleEngine.py index 4435641..63c63d4 100644 --- a/MAFH2/BattleEngine.py +++ b/MAFH2/BattleEngine.py @@ -23,7 +23,9 @@ class BattleEngine(GameEngineElement): self.font = pygame.font.SysFont("cmr10",18,False,False) self.enemy_list = [] + self.magic_list = [] + self.isMagic = False self.state = PLAYER_WAIT self.player_input = '0' self.active_target = 1 @@ -53,15 +55,16 @@ class BattleEngine(GameEngineElement): if selection == 'attack_show': menu.set_sec_disp('0') self.player_input = '0' + self.isMagic = False random.seed() isCrit = random.randint(0,100) - tempR1 = random.randint(0,10) - tempR2 = random.randint(0,10) - self.critAns = tempR1 * tempR2 if( isCrit > 90 ): #Show problem menu.show_menu('attack') + tempR1 = random.randint(0,10) + tempR2 = random.randint(0,10) + self.critAns = tempR1 * tempR2 menu.set_disp('%d x %d' %(tempR1, tempR2)) self.state = PLAYER_MULT else: @@ -73,62 +76,214 @@ class BattleEngine(GameEngineElement): elif self.state == PLAYER_MULT: if selection == 'enter': - #figure out damage for crit attack - + #figure out damage for crit attack if int(self.player_input) == (self.critAns): menu.set_disp('Correct!') else: menu.set_disp('Incorrect') menu.set_sec_disp('0') + self.player_input = '0' self.__attack_phase(menu) - elif selection == 'clear': - self.player_input = '0' + elif selection == 'clear': + self.player_input = '0' + menu.set_sec_disp('0') + + else: + self.player_input = self.player_input + selection + menu.set_sec_disp( self.player_input ) elif selection == 'fire': menu.set_disp('Fire Cast!') - self.game_engine.add_object('firemenu', MagicMenuHolder( self.menu_callback ) ) - self.game_engine.get_object('firemenu').show_menu('fire') - print("got here") + self.game_engine.add_object('magicmenu', MagicMenuHolder( self.menu_callback ) ) + self.game_engine.get_object('magicmenu').show_menu('fire') + self.isMagic = True #self.__attack_phase(menu) elif selection == 'heal': - menu.set_disp('Heal Cast!') - self.__attack_phase(menu) + menu.set_disp('Heal Cast!') + self.game_engine.add_object('magicmenu', MagicMenuHolder( self.menu_callback ) ) + self.game_engine.get_object('magicmenu').show_menu('heal') + self.isMagic = True elif selection == 'lightning': - menu.set_disp('Lightning Cast!') - self.__attack_phase(menu) + menu.set_disp('Lightning Cast!') + self.game_engine.add_object('magicmenu', MagicMenuHolder( self.menu_callback ) ) + self.game_engine.get_object('magicmenu').show_menu('lightning') + self.isMagic = True elif selection == 'missile': - menu.set_disp('Missile Cast!') - self.__attack_phase(menu) - + menu.set_disp('Missile Cast!') + self.game_engine.add_object('magicmenu', MagicMenuHolder( self.menu_callback ) ) + self.game_engine.get_object('magicmenu').show_menu('missile') + self.isMagic = True + elif selection == 'scan': menu.set_disp('Enemy Scanned!') - self.__attack_phase(menu) - else: - #MUST BE A NUMBER - if self.player_input == '0': - self.player_input = selection - else: - self.player_input = self.player_input + selection - menu.set_sec_disp( self.player_input ) + self.__attack_phase(menu) + + elif selection == 'fire1': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(1) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'fire2': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(2) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'fire3': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(3) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'fire4': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(4) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'lig1': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(1) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'lig2': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(2) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'lig3': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(3) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'lig4': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(4) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'miss1': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(1) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'miss2': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(2) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'miss3': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(3) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'miss4': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(4) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'heal1': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(1) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'heal2': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(2) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'heal3': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(3) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'heal4': + if(1 in self.magic_list): + self.__attack_phase(menu) + else: + self.magic_list.append(4) + #draw overlay + if(len(self.magic_list) > 3): + #reset variables + self.__attack_phase(menu) + elif selection == 'wrongchoice': + self.__attack_phase(menu) def __attack_phase(self, menu): # Check to see how much hp enemy has left. # Enemy Attack # Check player health print("in __attack_phase") - menu.set_sec_disp('0') self.__end_battle(menu) def __end_battle(self, menu): #Give items if any #self terminate - menu.show_menu('selection') - pass + if (not self.isMagic): + menu.show_menu('selection') + else: + self.game_engine.get_object('magicmenu').remove_from_engine() def event_handler(self, event): if event.type == pygame.USEREVENT+1: |