Final Game Jam version
This commit is contained in:
parent
35ce267482
commit
104a1e4297
141 changed files with 4485 additions and 206 deletions
38
scripts/bot/bot.gd
Normal file
38
scripts/bot/bot.gd
Normal 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
1
scripts/bot/bot.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://dq0vmadrtwwrp
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue