24 lines
802 B
GDScript
24 lines
802 B
GDScript
extends Node
|
|
func _ready() -> void:
|
|
var script := preload("res://scripts/game/enemy_ship.gd")
|
|
seed(20261017)
|
|
var successes := 0
|
|
var failures := 0
|
|
for index in 2000:
|
|
var enemy := script.new()
|
|
var won: bool = enemy.roll_virus_infection()
|
|
successes += int(won)
|
|
failures += int(not won)
|
|
assert(not enemy.roll_virus_infection(), "A second frame must never reroll infection")
|
|
assert(not enemy.roll_virus_infection(), "Failed rolls must remain failed")
|
|
enemy.free()
|
|
assert(successes >= 900 and successes <= 1100)
|
|
assert(failures > 0 and successes > 0)
|
|
var boss := script.new()
|
|
boss.loot_tier = 2
|
|
for index in 100:
|
|
assert(not boss.roll_virus_infection())
|
|
boss.free()
|
|
print("VIRUS_CHANCE_TEST: PASS ", successes, "/2000 first attempts, no rerolls, bosses immune")
|
|
get_tree().quit()
|