dodanie klasy netrunner
This commit is contained in:
parent
0f1498a31c
commit
cb2b0ace6f
4 changed files with 267 additions and 200 deletions
|
|
@ -7,163 +7,24 @@ extends Control
|
|||
|
||||
@onready var netrunner_cb = get_node("Rola/NetrunnerCB")
|
||||
@onready var button_roll = $"../../Top/TopMenu/ButtonRoll"
|
||||
@onready var um_container = get_node("Umiejetnosci/GridContainer")
|
||||
|
||||
enum Chum { SOLO, NETRUNNER, KORPO }
|
||||
|
||||
## Słownik zawierający szablony dla klasy netrunner
|
||||
var netrunner: Dictionary = {
|
||||
1: {
|
||||
"INT": 5,
|
||||
"REF": 8,
|
||||
"ZW": 7,
|
||||
"TECH": 7,
|
||||
"CHA": 7,
|
||||
"SW": 4,
|
||||
"SZ": 8,
|
||||
"RUCH": 7,
|
||||
"BC": 7,
|
||||
"EMP": 4,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
2: {
|
||||
"INT": 5,
|
||||
"REF": 6,
|
||||
"ZW": 7,
|
||||
"TECH": 5,
|
||||
"CHA": 8,
|
||||
"SW": 3,
|
||||
"SZ": 8,
|
||||
"RUCH": 7,
|
||||
"BC": 5,
|
||||
"EMP": 5,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
3: {
|
||||
"INT": 5,
|
||||
"REF": 6,
|
||||
"ZW": 8,
|
||||
"TECH": 6,
|
||||
"CHA": 6,
|
||||
"SW": 4,
|
||||
"SZ": 7,
|
||||
"RUCH": 6,
|
||||
"BC": 7,
|
||||
"EMP": 4,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
4: {
|
||||
"INT": 5,
|
||||
"REF": 7,
|
||||
"ZW": 7,
|
||||
"TECH": 7,
|
||||
"CHA": 7,
|
||||
"SW": 5,
|
||||
"SZ": 8,
|
||||
"RUCH": 6,
|
||||
"BC": 5,
|
||||
"EMP": 5,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
5: {
|
||||
"INT": 5,
|
||||
"REF": 8,
|
||||
"ZW": 8,
|
||||
"TECH": 5,
|
||||
"CHA": 7,
|
||||
"SW": 3,
|
||||
"SZ": 7,
|
||||
"RUCH": 5,
|
||||
"BC": 5,
|
||||
"EMP": 6,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
6: {
|
||||
"INT": 6,
|
||||
"REF": 6,
|
||||
"ZW": 6,
|
||||
"TECH": 7,
|
||||
"CHA": 8,
|
||||
"SW": 4,
|
||||
"SZ": 7,
|
||||
"RUCH": 7,
|
||||
"BC": 6,
|
||||
"EMP": 6,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
7: {
|
||||
"INT": 6,
|
||||
"REF": 6,
|
||||
"ZW": 6,
|
||||
"TECH": 7,
|
||||
"CHA": 6,
|
||||
"SW": 5,
|
||||
"SZ": 7,
|
||||
"RUCH": 7,
|
||||
"BC": 7,
|
||||
"EMP": 6,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
8: {
|
||||
"INT": 5,
|
||||
"REF": 6,
|
||||
"ZW": 8,
|
||||
"TECH": 6,
|
||||
"CHA": 8,
|
||||
"SW": 4,
|
||||
"SZ": 8,
|
||||
"RUCH": 5,
|
||||
"BC": 7,
|
||||
"EMP": 4,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
9: {
|
||||
"INT": 7,
|
||||
"REF": 6,
|
||||
"ZW": 7,
|
||||
"TECH": 7,
|
||||
"CHA": 6,
|
||||
"SW": 3,
|
||||
"SZ": 6,
|
||||
"RUCH": 5,
|
||||
"BC": 6,
|
||||
"EMP": 5,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
10: {
|
||||
"INT": 7,
|
||||
"REF": 8,
|
||||
"ZW": 6,
|
||||
"TECH": 6,
|
||||
"CHA": 6,
|
||||
"SW": 4,
|
||||
"SZ": 7,
|
||||
"RUCH": 7,
|
||||
"BC": 5,
|
||||
"EMP": 6,
|
||||
"PW": 0,
|
||||
"CZL": 0,
|
||||
},
|
||||
enum Chum {
|
||||
SOLO,
|
||||
NETRUNNER,
|
||||
KORPO,
|
||||
}
|
||||
|
||||
## Słownik zawierający szablon dla klasy netrunner
|
||||
var netrunner: Dictionary = {}
|
||||
# Plik z szablonem
|
||||
var NETRUNNER_TEMPLATE = "res://assets/templates/netrunner.json"
|
||||
|
||||
|
||||
## !! FUNKCJA TESTOWA !!
|
||||
func test() -> void:
|
||||
pass
|
||||
|
||||
func _ready() -> void:
|
||||
var stats = get_tree().get_nodes_in_group("stats")
|
||||
|
||||
|
||||
button_roll.disabled = true
|
||||
|
||||
for stat in stats:
|
||||
stat.text = "0"
|
||||
|
||||
|
|
@ -175,8 +36,73 @@ func _draw() -> void:
|
|||
button_roll.disabled = !button_roll.disabled
|
||||
|
||||
|
||||
## Metoda która wczytuje plik json zawierający szablony
|
||||
## dla odpowiednich klas
|
||||
func load_template():
|
||||
var file = FileAccess.open(NETRUNNER_TEMPLATE, FileAccess.READ)
|
||||
|
||||
var json = file.get_as_text()
|
||||
var json_object = JSON.new()
|
||||
|
||||
json_object.parse(json)
|
||||
netrunner = json_object.data
|
||||
|
||||
return netrunner
|
||||
|
||||
|
||||
func create_character(roll, chum: int) -> void:
|
||||
var stats_group = get_tree().get_nodes_in_group("stats")
|
||||
var template = load_template()
|
||||
var um
|
||||
var player
|
||||
|
||||
match chum:
|
||||
1:
|
||||
player = template["netrunner"]["rolls"][roll]
|
||||
um = template["netrunner"]["umiejetnosci"]
|
||||
_:
|
||||
print(":(")
|
||||
|
||||
player["PW"] = wylicz_pw(player)
|
||||
player["CZL"] = wylicz_czl(player)
|
||||
|
||||
if chum <= 1:
|
||||
for i in range(stats_group.size()):
|
||||
stats_group[i].text = str(int(player.values()[i]))
|
||||
|
||||
var labels: Array[Label]
|
||||
var um_place = "%s: %s"
|
||||
|
||||
for i in range(um.size()):
|
||||
var label: Label = Label.new()
|
||||
label.name = um.keys()[i]
|
||||
label.text = um_place % [(um.keys()[i]), str(int(um.values()[i]))]
|
||||
labels.append(label)
|
||||
|
||||
for label in labels:
|
||||
um_container.add_child(label)
|
||||
|
||||
if chum == Chum.NETRUNNER:
|
||||
print("[%s] PW: %d, CZŁ: %d" % ["Netrunner", player["PW"], player["CZL"]])
|
||||
|
||||
|
||||
func wylicz_pw(player) -> int:
|
||||
var bc = player["INT"]
|
||||
var sw = player["SW"]
|
||||
|
||||
var pw = 10 + (5 * ceil(lerp(bc, sw, 0.5)))
|
||||
|
||||
return pw
|
||||
|
||||
|
||||
func wylicz_czl(player) -> int:
|
||||
var emp = player["EMP"]
|
||||
var czl = emp * 10
|
||||
|
||||
return czl
|
||||
|
||||
func _on_button_roll_pressed() -> void:
|
||||
var roll = Global.rolld(10)
|
||||
var roll = str(Global.rolld(10))
|
||||
var button_pressed = rola_cb.get_pressed_button()
|
||||
var chum
|
||||
|
||||
|
|
@ -189,43 +115,5 @@ func _on_button_roll_pressed() -> void:
|
|||
chum = Chum.KORPO
|
||||
|
||||
|
||||
print("Rzut wynosi: %d a klasa to %s" % [roll, chum])
|
||||
character_template(roll, chum)
|
||||
|
||||
|
||||
func character_template(roll: int, chum: int) -> void:
|
||||
var stats_group = get_tree().get_nodes_in_group("stats")
|
||||
var _netrunner = netrunner.duplicate()
|
||||
var template
|
||||
|
||||
match chum:
|
||||
1:
|
||||
template = _netrunner.get(roll)
|
||||
_:
|
||||
print(":(")
|
||||
|
||||
template["PW"] = wylicz_pw(template)
|
||||
template["CZL"] = wylicz_czl(template)
|
||||
|
||||
if chum <= 1:
|
||||
for i in range(stats_group.size()):
|
||||
stats_group[i].text = str(template.values()[i])
|
||||
|
||||
if chum == Chum.NETRUNNER:
|
||||
print("[%s] PW: %d, CZŁ: %d" % ["Netrunner", template["PW"], template["CZL"]])
|
||||
|
||||
|
||||
func wylicz_pw(template: Dictionary) -> int:
|
||||
var bc = template["INT"]
|
||||
var sw = template["SW"]
|
||||
|
||||
var pw = 10 + (5 * ceil(lerp(bc, sw, 0.5)))
|
||||
|
||||
return pw
|
||||
|
||||
|
||||
func wylicz_czl(template: Dictionary) -> int:
|
||||
var emp = template["EMP"]
|
||||
var czl = emp * 10
|
||||
|
||||
return czl
|
||||
print("Rzut wynosi: %s a klasa to %s" % [roll, chum])
|
||||
create_character(roll, chum)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue