Quest save/load + beta tag for prereleases
This commit is contained in:
parent
f4cf1ef4e9
commit
33bcd65c53
5 changed files with 25 additions and 2 deletions
|
|
@ -50,6 +50,16 @@ func _ready():
|
||||||
var weapon_inst = Game.get_weapon(save['secondaryweapon']).instantiate()
|
var weapon_inst = Game.get_weapon(save['secondaryweapon']).instantiate()
|
||||||
weapon_inst.id = save['secondaryweapon']
|
weapon_inst.id = save['secondaryweapon']
|
||||||
ship.secondary_slot.add_child(weapon_inst)
|
ship.secondary_slot.add_child(weapon_inst)
|
||||||
|
if save.has('quest'):
|
||||||
|
var data = save['quest']
|
||||||
|
var type = data['type'] as Quest.TYPE
|
||||||
|
var restrictions : Array[Quest.RESTRICTIONS] = []
|
||||||
|
for rest in data['restrictions']:
|
||||||
|
restrictions.append(rest as Quest.RESTRICTIONS)
|
||||||
|
ship.quest.create(type, data['progress_max'], data['reward_money'], restrictions, data['data'])
|
||||||
|
if data['got_reward']:
|
||||||
|
ship.quest.new = true
|
||||||
|
ship.quest_completed = true
|
||||||
|
|
||||||
func addtargetlist(body : Node2D):
|
func addtargetlist(body : Node2D):
|
||||||
if !can_target.has(body):
|
if !can_target.has(body):
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ const DEFAULT_WEAPON = preload("res://scenes/weapons/presets/SingleLaserMk1.tscn
|
||||||
|
|
||||||
const salt = "2ndbeam"
|
const salt = "2ndbeam"
|
||||||
const gameversion = "Ictar 1.1"
|
const gameversion = "Ictar 1.1"
|
||||||
|
const beta = false
|
||||||
|
|
||||||
static var profile : Profile = Profile.new()
|
static var profile : Profile = Profile.new()
|
||||||
|
|
||||||
|
|
@ -30,6 +31,15 @@ static func profile_save(scene : Node) -> void:
|
||||||
"money" : scene.ship.money,
|
"money" : scene.ship.money,
|
||||||
"cargo" : scene.ship.hull.cargo
|
"cargo" : scene.ship.hull.cargo
|
||||||
}
|
}
|
||||||
|
if !scene.ship.quest.new or scene.ship.quest_completed:
|
||||||
|
profile.profile_meta['game']['quest'] = {
|
||||||
|
'type' : scene.ship.quest.type,
|
||||||
|
'progress_max' : scene.ship.quest.progress_max,
|
||||||
|
'reward_money' : scene.ship.quest.reward_money,
|
||||||
|
'restrictions' : scene.ship.quest.restrictions,
|
||||||
|
'data' : scene.ship.quest.data,
|
||||||
|
'got_reward' : scene.ship.quest_completed
|
||||||
|
}
|
||||||
if scene.ship.primary_slot.get_child_count() > 0:
|
if scene.ship.primary_slot.get_child_count() > 0:
|
||||||
profile.profile_meta['game']['primaryweapon'] = scene.ship.primary_slot.get_child(0).id
|
profile.profile_meta['game']['primaryweapon'] = scene.ship.primary_slot.get_child(0).id
|
||||||
if scene.ship.secondary_slot.get_child_count() > 0:
|
if scene.ship.secondary_slot.get_child_count() > 0:
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ func quest_status_update():
|
||||||
var restriction_typing = {
|
var restriction_typing = {
|
||||||
Quest.RESTRICTIONS.NO_DEATHS : '- Destruction of your ship will lead to quest failure.',
|
Quest.RESTRICTIONS.NO_DEATHS : '- Destruction of your ship will lead to quest failure.',
|
||||||
Quest.RESTRICTIONS.NO_WEAPON : '- Using any weapon (even accidently) is prohibited.',
|
Quest.RESTRICTIONS.NO_WEAPON : '- Using any weapon (even accidently) is prohibited.',
|
||||||
Quest.RESTRICTIONS.TIMER : '- You have {sec} seconds to complete the quest since it is accepted.'
|
Quest.RESTRICTIONS.TIMER : '- You have {sec} seconds to complete the quest.'
|
||||||
}
|
}
|
||||||
if upd_quest.data.has('timer'):
|
if upd_quest.data.has('timer'):
|
||||||
restriction_typing[Quest.RESTRICTIONS.TIMER] = restriction_typing[Quest.RESTRICTIONS.TIMER].format({"sec" : upd_quest.data['timer']})
|
restriction_typing[Quest.RESTRICTIONS.TIMER] = restriction_typing[Quest.RESTRICTIONS.TIMER].format({"sec" : upd_quest.data['timer']})
|
||||||
|
|
|
||||||
|
|
@ -4,3 +4,6 @@ func _ready():
|
||||||
text = "GammaCosmicRays version {version}".format({"version" : Game.gameversion})
|
text = "GammaCosmicRays version {version}".format({"version" : Game.gameversion})
|
||||||
if OS.has_feature("editor"):
|
if OS.has_feature("editor"):
|
||||||
text += " uncompiled\nThis is a debug/prerelease version."
|
text += " uncompiled\nThis is a debug/prerelease version."
|
||||||
|
else:
|
||||||
|
if Game.beta:
|
||||||
|
text += " beta\nThis is a closed beta version."
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ func timer_failed():
|
||||||
return
|
return
|
||||||
kill_quest(false)
|
kill_quest(false)
|
||||||
|
|
||||||
func enemy_destroyed(enemy):
|
func enemy_destroyed(_enemy):
|
||||||
if quest.new:
|
if quest.new:
|
||||||
return
|
return
|
||||||
if quest.type == quest.TYPE.ELIMINATION:
|
if quest.type == quest.TYPE.ELIMINATION:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue