Compare commits

..

No commits in common. "64a3381eb9da0223a2573b493ed3cfed36537f70" and "a72349f7dfd232d8eda98a137b731fdcd1b6c7a3" have entirely different histories.

13 changed files with 1049 additions and 1077 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,10 +1,7 @@
import pygame import pygame
import random import random
# from viecher import Skeleton, Zombie # from viecher import Skeleton, Zombie
from pygame import mixer
"""
cultistattack_sound = mixer.Sound('audio/soundeffects/cultistattack.mp3')
"""
pygame.font.init() pygame.font.init()
fonts = { fonts = {
'medieval': 'medieval.ttf', 'medieval': 'medieval.ttf',
@ -577,15 +574,10 @@ class MainCharacter(Fighter):
self.thinks.draw(screen, self.x + 20, self.y - 100) self.thinks.draw(screen, self.x + 20, self.y - 100)
def hurt(self, damage, objects): def hurt(self, damage, objects):
hit_sound = mixer.Sound('audio/soundeffects/hitsound.mp3')
hit_sound.set_volume(0.5)
if not self.talking: if not self.talking:
hit_sound.play()
self.health.hurt(damage) self.health.hurt(damage)
def obstacle_interaction(self, objects): def obstacle_interaction(self, objects):
portal_sound = mixer.Sound('audio/soundeffects/portalsound.mp3')
door_sound = mixer.Sound('audio/soundeffects/door.mp3')
if len(objects) <= 5: if len(objects) <= 5:
objects.append([]) objects.append([])
touches = pygame.sprite.spritecollideany(self, objects[4] + objects[5]) touches = pygame.sprite.spritecollideany(self, objects[4] + objects[5])
@ -593,10 +585,8 @@ class MainCharacter(Fighter):
if touches.name == 'fireplace': if touches.name == 'fireplace':
self.freezing = False self.freezing = False
elif touches.name == 'portal' and self.level.level != 1: elif touches.name == 'portal' and self.level.level != 1:
portal_sound.play()
return 'play' return 'play'
elif touches.name == 'house' and self.level.level != 1: elif touches.name == 'house' and self.level.level != 1:
door_sound.play()
self.x = 500 self.x = 500
self.y = 400 self.y = 400
return 'house' return 'house'
@ -604,7 +594,6 @@ class MainCharacter(Fighter):
return 'wall' return 'wall'
elif isinstance(touches, Door): elif isinstance(touches, Door):
if not touches.locked: if not touches.locked:
door_sound.play()
return f'door-{touches.target}' return f'door-{touches.target}'
else: else:
return True return True
@ -661,22 +650,13 @@ class MainCharacter(Fighter):
""" """
def attack(self, obj, mouse): def attack(self, obj, mouse):
fireball_sound = mixer.Sound('audio/soundeffects/firebalhitl.mp3')
wind_sound = mixer.Sound('audio/soundeffects/wind.mp3')
oldmanattack_sound = mixer.Sound('audio/soundeffects/oldmanattack.mp3')
fireball_sound.set_volume(0.2)
wind_sound.set_volume(0.2)
oldmanattack_sound.set_volume(0.2)
if self.lastAttack + self.attack_speed * 1000 < pygame.time.get_ticks(): if self.lastAttack + self.attack_speed * 1000 < pygame.time.get_ticks():
moveto = mouse - vec(self.x, self.y) moveto = mouse - vec(self.x, self.y)
if self.book.current_sp == 'fireball': if self.book.current_sp == 'fireball':
fireball_sound.play()
weapon = Fireball('fb1', 100, self.x, self.y, moveto, 5) weapon = Fireball('fb1', 100, self.x, self.y, moveto, 5)
elif self.book.current_sp == 'windslash': elif self.book.current_sp == 'windslash':
wind_sound.play()
weapon = Windslash('ws1', 100, self.x, self.y, moveto, 10) weapon = Windslash('ws1', 100, self.x, self.y, moveto, 10)
else: else:
oldmanattack_sound.play()
weapon = Punch('punch', 100, self.x, self.y, moveto, 1, Mobs, life_ticks=500) weapon = Punch('punch', 100, self.x, self.y, moveto, 1, Mobs, life_ticks=500)
obj[3].append(weapon) obj[3].append(weapon)
self.lastAttack = pygame.time.get_ticks() self.lastAttack = pygame.time.get_ticks()
@ -901,10 +881,7 @@ class Skeleton(Mobs):
super().__init__(name, ms, sprite, x, y, health, damage, level, asp, atr, drops) super().__init__(name, ms, sprite, x, y, health, damage, level, asp, atr, drops)
def attack(self, moveto, obj): def attack(self, moveto, obj):
arrow_sound = mixer.Sound('audio/soundeffects/arrowsound.mp3')
arrow_sound.set_volume(0.3)
if self.lastAttack + self.attack_speed * 1000 < pygame.time.get_ticks(): if self.lastAttack + self.attack_speed * 1000 < pygame.time.get_ticks():
arrow_sound.play()
obj[3].append(Arrow("arrow", 200, self.x, self.y, moveto, self.damage)) obj[3].append(Arrow("arrow", 200, self.x, self.y, moveto, self.damage))
self.lastAttack = pygame.time.get_ticks() self.lastAttack = pygame.time.get_ticks()
@ -946,10 +923,7 @@ class Zombie(Mobs):
def attack(self, moveto, obj): def attack(self, moveto, obj):
zombieattack_sound = mixer.Sound('audio/soundeffects/zombieattack.mp3')
zombieattack_sound.set_volume(0.3)
if self.lastAttack + self.attack_speed * 1000 < pygame.time.get_ticks(): if self.lastAttack + self.attack_speed * 1000 < pygame.time.get_ticks():
zombieattack_sound.play()
obj[3].append(Punch('punch', 100, self.x, self.y, moveto, self.damage, MainCharacter)) obj[3].append(Punch('punch', 100, self.x, self.y, moveto, self.damage, MainCharacter))
self.lastAttack = pygame.time.get_ticks() self.lastAttack = pygame.time.get_ticks()
@ -967,10 +941,7 @@ class Boss(Mobs):
super().__init__(name, ms, sprite, x, y, health, damage, level, asp, atr, drops) super().__init__(name, ms, sprite, x, y, health, damage, level, asp, atr, drops)
def attack(self, moveto, obj): def attack(self, moveto, obj):
reddyattack_sound = mixer.Sound('audio/soundeffects/reddyattack.mp3')
reddyattack_sound.set_volume(0.8)
if self.lastAttack + self.attack_speed * 1000 < pygame.time.get_ticks(): if self.lastAttack + self.attack_speed * 1000 < pygame.time.get_ticks():
reddyattack_sound.play()
obj[3].append(RedBlob("blob", 50, self.x, self.y, moveto, self.damage)) obj[3].append(RedBlob("blob", 50, self.x, self.y, moveto, self.damage))
self.lastAttack = pygame.time.get_ticks() self.lastAttack = pygame.time.get_ticks()
@ -1067,6 +1038,7 @@ class Arrow(Weapons):
self.move(objects) self.move(objects)
self.die(objects, MainCharacter) self.die(objects, MainCharacter)
class Punch(Weapons): class Punch(Weapons):
def __init__(self, name, ms, x, y, moveto, damage, kills, sprite = 'weapons/empty.png', life_ticks=100) -> None: def __init__(self, name, ms, x, y, moveto, damage, kills, sprite = 'weapons/empty.png', life_ticks=100) -> None:
super().__init__(name, ms, sprite, x, y, moveto, damage, life_ticks) super().__init__(name, ms, sprite, x, y, moveto, damage, life_ticks)

0
viecher.py Normal file
View file