Final Game Jam version

This commit is contained in:
Exobyt 2025-09-06 23:19:31 +02:00
parent 35ce267482
commit 104a1e4297
141 changed files with 4485 additions and 206 deletions

38
scripts/bot/bot.gd Normal file
View file

@ -0,0 +1,38 @@
class_name Bot extends Node
var difficulty: GLOBALS.BOTDIFFICULTY
func _init(_difficulty: GLOBALS.BOTDIFFICULTY) -> void:
difficulty = _difficulty
func chooseItems(itemList: Array[Item], magazineSize) -> Array[Item]:
print("Start BOT Choose Item")
var availableItems = itemList.duplicate()
var choosenItems: Array[Item] = []
match difficulty:
GLOBALS.BOTDIFFICULTY.EASY:
randomize()
var rng = RandomNumberGenerator.new()
for i in range(0, rng.randi_range(0, availableItems.size())):
if i > magazineSize:
break
var item = availableItems.pick_random()
choosenItems.append(item)
availableItems.erase(item)
return choosenItems
GLOBALS.BOTDIFFICULTY.MEDIUM:
return choosenItems
GLOBALS.BOTDIFFICULTY.HARD:
return choosenItems
return choosenItems
func choosePlayer():
match difficulty:
GLOBALS.BOTDIFFICULTY.EASY:
pass
GLOBALS.BOTDIFFICULTY.MEDIUM:
pass
GLOBALS.BOTDIFFICULTY.HARD:
pass

1
scripts/bot/bot.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://dq0vmadrtwwrp

View file

@ -5,3 +5,26 @@ enum ITEMTYPES {
STANDARDBULLET,
LUCKYBULLET
}
enum GAMESTATE {
SETUP,
ROUNDSTART,
PLAYER,
POOL,
AIM,
SHOOT,
END
}
enum BOTDIFFICULTY {
EASY,
MEDIUM,
HARD
}
func _physics_process(delta: float) -> void:
if Input.is_action_just_pressed("fullscreen"):
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
elif DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_WINDOWED:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)

View file

@ -18,6 +18,7 @@ var selectedPlayer: Player = self
var character: Character
var bot: bool = false
var botLogic: Bot = null
signal dead(player: Player)
signal hit(player: Player)
@ -39,7 +40,7 @@ func damage(amount: int) -> void:
else:
health -= amount
for i in range(0,amount):
character.removeShot()
character.drinkShot()
func heal(amount: int) -> void:
if health + amount > maxHealth:
@ -81,18 +82,27 @@ func useItem(_item: Item):
print("no bullet")
func loadBullet(_bullet: Bullet):
gun.loadBullet(_bullet)
itemInventory.erase(_bullet)
if gun.magazin.size() < gun.magazineSize:
gun.loadBullet(_bullet)
itemInventory.erase(_bullet)
else:
print("magazine Full Full")
func shootAtSelectedPlayer():
var randomBullet = gun.getRandomBullet()
if randomBullet is StandardBullet or randomBullet is LuckyBullet:
var bulletDamage = randomBullet.getDamage()
if bulletDamage > 0:
character.shootGun(true)
selectedPlayer.damage(bulletDamage)
else:
character.shootGun(false)
#character.emitShootGunFinished()
#character.gunEmpty()
print("Missed")
else:
character.shootGun(false)
#character.gunEmpty()
print("Empty")
# -- Gun --
@ -108,3 +118,9 @@ func setCharacter(_character: Character) -> void:
func getItemAmount() -> int:
return itemInventory.size()
func isBot() -> bool:
return botLogic != null
func setBotLogic(_botLogic: Bot) -> void:
botLogic = _botLogic