Update classes.py
sound effects für reddy, zombie, skelett, oldman attack, hurt sound effect für oldman, Tür und Portal sounds
This commit is contained in:
parent
c81b3fa355
commit
3448ec4120
1 changed files with 1077 additions and 1049 deletions
32
classes.py
32
classes.py
|
|
@ -1,7 +1,10 @@
|
||||||
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',
|
||||||
|
|
@ -574,10 +577,15 @@ 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])
|
||||||
|
|
@ -585,8 +593,10 @@ 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'
|
||||||
|
|
@ -594,6 +604,7 @@ 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
|
||||||
|
|
@ -650,13 +661,22 @@ 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()
|
||||||
|
|
@ -881,7 +901,10 @@ 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()
|
||||||
|
|
||||||
|
|
@ -923,7 +946,10 @@ 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()
|
||||||
|
|
||||||
|
|
@ -941,7 +967,10 @@ 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()
|
||||||
|
|
||||||
|
|
@ -1038,7 +1067,6 @@ 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)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue