54 lines
1.5 KiB
GDScript
54 lines
1.5 KiB
GDScript
extends Skill
|
|
|
|
class_name Appreciating
|
|
|
|
func _init():
|
|
skillName = "Experiencing"
|
|
skillIcon = load("res://Skills/Appreciating/AppreciatingIcon.png")
|
|
|
|
func experience_event(eventName:String, verb:String, xpEarned:int):
|
|
var timesDone = SaveManager.get_value_from_section(verb, eventName, 0)
|
|
|
|
if timesDone == 0:
|
|
LevelManager.add_XP("appreciating", xpEarned)
|
|
|
|
timesDone += 1
|
|
SaveManager.save_to_section(verb, eventName, timesDone)
|
|
|
|
func experience_item(item:Item, verb:String):
|
|
var itemName = item.get_name(false)
|
|
|
|
var timesDone = SaveManager.get_value_from_section(verb, itemName, 0)
|
|
|
|
if timesDone == 0:
|
|
var earnedXP = 10
|
|
|
|
if verb == "caramelized":
|
|
earnedXP += floor(item.get_value(false) * 0.2)
|
|
elif verb == "dammed":
|
|
earnedXP += floor(item.get_value(false) * 0.9)
|
|
elif verb == "washed away":
|
|
earnedXP += floor(item.get_value(false) * 1.1)
|
|
earnedXP += 15
|
|
else:
|
|
earnedXP += floor(item.get_value(false) * 0.5)
|
|
|
|
LevelManager.add_XP("appreciating", earnedXP)
|
|
|
|
timesDone += 1
|
|
SaveManager.save_to_section(verb, itemName, timesDone)
|
|
|
|
if verb == "ate" and itemName == "Wustard":
|
|
if timesDone >= 100:
|
|
AchievementManager.complete_achievement("Closer to Steve")
|
|
elif verb == "washed away":
|
|
var washedItemCount = 0
|
|
var config = SaveManager.get_save_config()
|
|
var washedItems = config.get_section_keys("washed away")
|
|
|
|
for washedItem in washedItems:
|
|
washedItemCount += SaveManager.get_value_from_section("washed away", washedItem, 0)
|
|
|
|
if washedItemCount >= 30:
|
|
AchievementManager.complete_achievement("From where we came")
|