# === DEFINITIONS FOR DARK LORD VISUAL NOVEL ===
# Character definitions, globals, and utility functions
init -1:
# Globals
default player_name = ""
default player_class = ""
default inventory = []
default silver = 0
default collar_used = False
default power_list = []
default relationship_points = {}
default morality = 0
default stats = {"battles_won": 0, "slaves_taken": 0, "lives_spared": 0}
# Audio
define audio.bg_forest = "audio/bg_forest.ogg"
define audio.monster_roar = "audio/monster_roar.ogg"
define audio.power_blast = "audio/power_blast.ogg"
# Characters
define p = Character("[player_name]", color="#FF4500")
define m = Character("Merchant", color="#FFD700", image="merchant")
define w = Character("Amelia", color="#FF69B4", image="amelia")
# Sprites
image merchant neutral = "images/sprites/merchant_neutral.png"
image amelia neutral = "images/sprites/amelia_neutral.png"
image amelia scared = "images/sprites/amelia_scared.png"
image amelia blushing = "images/sprites/amelia_blushing.png"
init python:
def give_item(name, desc):
[Link]({"name": name, "desc": desc})
def has_item(name):
return any(i["name"] == name for i in inventory)
def add_power(power):
if power not in power_list:
power_list.append(power)
def update_affection(character, value):
if character not in relationship_points:
relationship_points[character] = 0
relationship_points[character] = max(-100, min(100,
relationship_points[character] + value))
def update_morality(value):
global morality
morality = max(-100, min(100, morality + value))