pleins de trucs
This commit is contained in:
21
scripts/data/actors/baltazarius.lua
Normal file
21
scripts/data/actors/baltazarius.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
---@class Seam : Actor
|
||||
local balta, super = Class(Actor, "baltazarius")
|
||||
|
||||
function balta:init()
|
||||
super.init(self)
|
||||
|
||||
-- The name of the actor
|
||||
self.name = "seam"
|
||||
|
||||
-- The sprites dimensions
|
||||
-- The shop uses this to know where to place the shopkeeper
|
||||
self.width = 40
|
||||
self.height = 50
|
||||
|
||||
-- The path to the shopkeeper sprites
|
||||
self.path = "shopkeepers/balta"
|
||||
-- The default animation to use
|
||||
self.default = "talk"
|
||||
end
|
||||
|
||||
return balta
|
||||
54
scripts/data/actors/dummy.lua
Normal file
54
scripts/data/actors/dummy.lua
Normal file
@@ -0,0 +1,54 @@
|
||||
local actor, super = Class(Actor, "dummy")
|
||||
|
||||
function actor:init()
|
||||
super.init(self)
|
||||
|
||||
-- Display name (optional)
|
||||
self.name = "Dummy"
|
||||
|
||||
-- Width and height for this actor, used to determine its center
|
||||
self.width = 27
|
||||
self.height = 45
|
||||
|
||||
-- Hitbox for this actor in the overworld (optional, uses width and height by default)
|
||||
self.hitbox = { 0, 25, 19, 14 }
|
||||
|
||||
-- Color for this actor used in outline areas (optional, defaults to red)
|
||||
self.color = { 1, 0, 0 }
|
||||
|
||||
-- Whether this actor flips horizontally (optional, values are "right" or "left", indicating the flip direction)
|
||||
self.flip = nil
|
||||
|
||||
-- Path to this actor's sprites (defaults to "")
|
||||
self.path = "enemies/dummy"
|
||||
-- This actor's default sprite or animation, relative to the path (defaults to "")
|
||||
self.default = "idle"
|
||||
|
||||
-- Sound to play when this actor speaks (optional)
|
||||
self.voice = nil
|
||||
-- Path to this actor's portrait for dialogue (optional)
|
||||
self.portrait_path = nil
|
||||
-- Offset position for this actor's portrait (optional)
|
||||
self.portrait_offset = nil
|
||||
|
||||
-- Whether this actor as a follower will blush when close to the player
|
||||
self.can_blush = false
|
||||
|
||||
-- Table of talk sprites and their talk speeds (default 0.25)
|
||||
self.talk_sprites = {}
|
||||
|
||||
-- Table of sprite animations
|
||||
self.animations = {
|
||||
-- Looping animation with 0.25 seconds between each frame
|
||||
-- (even though there's only 1 idle frame)
|
||||
["idle"] = { "idle", 0.25, true },
|
||||
}
|
||||
|
||||
-- Table of sprite offsets (indexed by sprite name)
|
||||
self.offsets = {
|
||||
-- Since the width and height is the idle sprite size, the offset is 0,0
|
||||
["idle"] = { 0, 0 },
|
||||
}
|
||||
end
|
||||
|
||||
return actor
|
||||
40
scripts/data/actors/naatikata.lua
Normal file
40
scripts/data/actors/naatikata.lua
Normal file
@@ -0,0 +1,40 @@
|
||||
local actor, super = Class(Actor, "naatikata")
|
||||
|
||||
function actor:init()
|
||||
super.init(self)
|
||||
|
||||
-- Display name (optional)
|
||||
self.name = "Naatikata"
|
||||
|
||||
-- Width and height for this actor, used to determine its center
|
||||
self.width = 41
|
||||
self.height = 50
|
||||
|
||||
-- Hitbox for this actor in the overworld (optional, uses width and height by default)
|
||||
self.hitbox = {5, 25, 30, 25}
|
||||
|
||||
-- A table that defines where the Soul should be placed on this actor if they are a player.
|
||||
-- First value is x, second value is y.
|
||||
self.soul_offset = {10, 24}
|
||||
|
||||
-- Color for this actor used in outline areas (optional, defaults to red)
|
||||
self.color = {0, 1, 1}
|
||||
|
||||
-- Path to this actor's sprites (defaults to "")
|
||||
self.path = "party/naatikata"
|
||||
-- This actor's default sprite or animation, relative to the path (defaults to "")
|
||||
self.default = "walk"
|
||||
|
||||
-- Sound to play when this actor speaks (optional)
|
||||
self.voice = nil
|
||||
-- Path to this actor's portrait for dialogue (optional)
|
||||
self.portrait_path = nil
|
||||
-- Offset position for this actor's portrait (optional)
|
||||
self.portrait_offset = nil
|
||||
|
||||
-- Whether this actor as a follower will blush when close to the player
|
||||
self.can_blush = false
|
||||
end
|
||||
|
||||
|
||||
return actor
|
||||
47
scripts/data/actors/starwalker.lua
Normal file
47
scripts/data/actors/starwalker.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
local actor, super = Class(Actor, "starwalker")
|
||||
|
||||
function actor:init()
|
||||
super.init(self)
|
||||
|
||||
-- Display name (optional)
|
||||
self.name = "Starwalker"
|
||||
|
||||
-- Width and height for this actor, used to determine its center
|
||||
self.width = 37
|
||||
self.height = 36
|
||||
|
||||
-- Hitbox for this actor in the overworld (optional, uses width and height by default)
|
||||
self.hitbox = { 2, 26, 27, 10 }
|
||||
|
||||
-- Color for this actor used in outline areas (optional, defaults to red)
|
||||
self.color = { 1, 1, 0 }
|
||||
|
||||
-- Whether this actor flips horizontally (optional, values are "right" or "left", indicating the flip direction)
|
||||
self.flip = nil
|
||||
|
||||
-- Path to this actor's sprites (defaults to "")
|
||||
self.path = "npcs/starwalker"
|
||||
-- This actor's default sprite or animation, relative to the path (defaults to "")
|
||||
self.default = ""
|
||||
|
||||
-- Sound to play when this actor speaks (optional)
|
||||
self.voice = nil
|
||||
-- Path to this actor's portrait for dialogue (optional)
|
||||
self.portrait_path = nil
|
||||
-- Offset position for this actor's portrait (optional)
|
||||
self.portrait_offset = nil
|
||||
|
||||
-- Whether this actor as a follower will blush when close to the player
|
||||
self.can_blush = false
|
||||
|
||||
-- Table of talk sprites and their talk speeds (default 0.25)
|
||||
self.talk_sprites = {}
|
||||
|
||||
-- Table of sprite animations
|
||||
self.animations = {}
|
||||
|
||||
-- Table of sprite offsets (indexed by sprite name)
|
||||
self.offsets = {}
|
||||
end
|
||||
|
||||
return actor
|
||||
49
scripts/data/actors/wall.lua
Normal file
49
scripts/data/actors/wall.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
local actor, super = Class(Actor, "wall")
|
||||
|
||||
function actor:init()
|
||||
super.init(self)
|
||||
|
||||
-- Display name (optional)
|
||||
self.name = "Wall"
|
||||
|
||||
-- Width and height for this actor, used to determine its center
|
||||
self.width = 60
|
||||
self.height = 70
|
||||
|
||||
-- Hitbox for this actor in the overworld (optional, uses width and height by default)
|
||||
self.hitbox = { 0, 50, 60, 20 }
|
||||
|
||||
-- Color for this actor used in outline areas (optional, defaults to red)
|
||||
self.color = { 1, 0, 0 }
|
||||
|
||||
-- Whether this actor flips horizontally (optional, values are "right" or "left", indicating the flip direction)
|
||||
self.flip = nil
|
||||
|
||||
-- Path to this actor's sprites (defaults to "")
|
||||
self.path = "npcs/wall"
|
||||
-- This actor's default sprite or animation, relative to the path (defaults to "")
|
||||
self.default = ""
|
||||
|
||||
-- Sound to play when this actor speaks (optional)
|
||||
self.voice = nil
|
||||
-- Path to this actor's portrait for dialogue (optional)
|
||||
self.portrait_path = nil
|
||||
-- Offset position for this actor's portrait (optional)
|
||||
self.portrait_offset = nil
|
||||
|
||||
-- Whether this actor as a follower will blush when close to the player
|
||||
self.can_blush = false
|
||||
|
||||
-- Table of talk sprites and their talk speeds (default 0.25)
|
||||
self.talk_sprites = {
|
||||
[""] = 0.2
|
||||
}
|
||||
|
||||
-- Table of sprite animations
|
||||
self.animations = {}
|
||||
|
||||
-- Table of sprite offsets (indexed by sprite name)
|
||||
self.offsets = {}
|
||||
end
|
||||
|
||||
return actor
|
||||
38
scripts/data/items/cravatte.lua
Normal file
38
scripts/data/items/cravatte.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
local item, super = Class(Item, "cravatte")
|
||||
|
||||
function item:init()
|
||||
super.init(self)
|
||||
|
||||
-- Display name
|
||||
self.name = "Cravatte"
|
||||
-- Name displayed when used in battle (optional)
|
||||
self.use_name = nil
|
||||
|
||||
-- Item type (item, key, weapon, armor)
|
||||
self.type = "weapon"
|
||||
-- Item icon (for equipment)
|
||||
self.icon = nil
|
||||
-- Whether this item is for the light world
|
||||
self.light = false
|
||||
|
||||
-- Battle description
|
||||
self.effect = "Useless"
|
||||
-- Shop description
|
||||
self.shop = "Useless"
|
||||
-- Menu description
|
||||
self.description = "This item is useless"
|
||||
-- Light world check text
|
||||
self.check = "It's useless"
|
||||
|
||||
-- Default shop price (sell price is halved)
|
||||
self.price = 0
|
||||
-- Whether the item can be sold
|
||||
self.can_sell = false
|
||||
|
||||
-- Consumable target mode (ally, party, enemy, enemies, or none)
|
||||
self.target = "none"
|
||||
-- Where this item can be used (world, battle, all, or none)
|
||||
self.usable_in = "none"
|
||||
end
|
||||
|
||||
return item
|
||||
58
scripts/data/items/ultimate_candy.lua
Normal file
58
scripts/data/items/ultimate_candy.lua
Normal file
@@ -0,0 +1,58 @@
|
||||
-- Instead of Item, create a HealItem, a convenient class for consumable healing items
|
||||
local item, super = Class(HealItem, "ultimate_candy")
|
||||
|
||||
function item:init()
|
||||
super.init(self)
|
||||
|
||||
-- Display name
|
||||
self.name = "UltimatCandy"
|
||||
-- Name displayed when used in battle (optional)
|
||||
self.use_name = "ULTIMATE CANDY"
|
||||
|
||||
-- Item type (item, key, weapon, armor)
|
||||
self.type = "item"
|
||||
-- Item icon (for equipment)
|
||||
self.icon = nil
|
||||
|
||||
-- Battle description
|
||||
self.effect = "Best\nhealing"
|
||||
-- Shop description
|
||||
self.shop = "Perfection"
|
||||
-- Menu description
|
||||
self.description = "Sparkles with perfection.\nMust be shared with everyone. +??HP"
|
||||
|
||||
-- Amount healed (HealItem variable)
|
||||
self.heal_amount = 1
|
||||
|
||||
-- Default shop price (sell price is halved)
|
||||
self.price = 100
|
||||
-- Whether the item can be sold
|
||||
self.can_sell = true
|
||||
|
||||
-- Consumable target mode (ally, party, enemy, enemies, or none)
|
||||
self.target = "party"
|
||||
-- Where this item can be used (world, battle, all, or none)
|
||||
self.usable_in = "all"
|
||||
-- Item this item will get turned into when consumed
|
||||
self.result_item = nil
|
||||
-- Will this item be instantly consumed in battles?
|
||||
self.instant = false
|
||||
|
||||
-- Equip bonuses (for weapons and armor)
|
||||
self.bonuses = {}
|
||||
-- Bonus name and icon (displayed in equip menu)
|
||||
self.bonus_name = nil
|
||||
self.bonus_icon = nil
|
||||
|
||||
-- Equippable characters (default true for armors, false for weapons)
|
||||
self.can_equip = {}
|
||||
|
||||
-- Character reactions (key = party member id)
|
||||
self.reactions = {
|
||||
susie = "Hey! It's hollow inside!",
|
||||
ralsei = "I like the texture!",
|
||||
noelle = "That was underwhelming...",
|
||||
}
|
||||
end
|
||||
|
||||
return item
|
||||
97
scripts/data/party/naatikata.lua
Normal file
97
scripts/data/party/naatikata.lua
Normal file
@@ -0,0 +1,97 @@
|
||||
local character, super = Class(PartyMember, "naatikata")
|
||||
|
||||
function character:init()
|
||||
super.init(self)
|
||||
|
||||
-- Display name
|
||||
self.name = "Naatikata"
|
||||
|
||||
-- Actor (handles overworld/battle sprites)
|
||||
self:setActor("naatikata")
|
||||
|
||||
-- Display level (saved to the save file)
|
||||
self.level = Game.chapter
|
||||
-- Default title / class (saved to the save file)
|
||||
self.title = "UwU\n uwu all over the place"
|
||||
|
||||
-- Determines which character the soul comes from (higher number = higher priority)
|
||||
self.soul_priority = 1
|
||||
-- The color of this character's soul (optional, defaults to red)
|
||||
self.soul_color = {1, 0, 0}
|
||||
|
||||
-- Whether the party member can act / use spells
|
||||
self.has_act = false
|
||||
self.has_spells = true
|
||||
|
||||
-- Whether the party member can use their X-Action
|
||||
self.has_xact = true
|
||||
-- X-Action name (displayed in this character's spell menu)
|
||||
self.xact_name = "N-Action"
|
||||
|
||||
-- Spells
|
||||
self:addSpell("heal_prayer")
|
||||
|
||||
-- Current health (saved to the save file)
|
||||
self.health = 90
|
||||
|
||||
-- Base stats (saved to the save file)
|
||||
self.stats = {
|
||||
health = 90,
|
||||
attack = 4,
|
||||
defense = 1,
|
||||
magic = 14
|
||||
}
|
||||
|
||||
-- Max stats from level-ups
|
||||
self.max_stats = {
|
||||
health = 120
|
||||
}
|
||||
|
||||
-- Weapon icon in equip menu
|
||||
self.weapon_icon = "ui/menu/equip/cravatte"
|
||||
|
||||
-- Equipment (saved to the save file)
|
||||
self:setWeapon("cravatte")
|
||||
self:setArmor(1, "amber_card")
|
||||
--self:setArmor(2, "amber_card")
|
||||
|
||||
-- Head icon in the equip / power menu
|
||||
self.menu_icon = "party/naatikata/head"
|
||||
-- Path to head icons used in battle
|
||||
self.head_icons = "party/naatikata/icon"
|
||||
-- Name sprite
|
||||
-- self.name_sprite = "party/naatikata/name"
|
||||
|
||||
-- Default light world equipment item IDs (saves current equipment)
|
||||
|
||||
-- Character color (for action box outline and hp bar)
|
||||
self.color = {0, 0.5, 1}
|
||||
-- Damage color (for the number when attacking enemies) (defaults to the main color)
|
||||
self.dmg_color = {0.5, 0.75, 1}
|
||||
-- Attack bar color (for the target bar used in attack mode) (defaults to the main color)
|
||||
self.attack_bar_color = {0, 0.5, 1}
|
||||
-- Attack box color (for the attack area in attack mode) (defaults to darkened main color)
|
||||
self.attack_box_color = {0, 0.25, 1}
|
||||
-- X-Action color (for the color of X-Action menu items) (defaults to the main color)
|
||||
self.xact_color = {0.5, 0.75, 1}
|
||||
|
||||
|
||||
-- Effect shown above enemy after attacking it
|
||||
self.attack_sprite = "effects/attack/shot"
|
||||
-- Sound played when this character attacks
|
||||
self.attack_sound = "heartshot_dr_b"
|
||||
-- Pitch of the attack sound
|
||||
self.attack_pitch = 1
|
||||
|
||||
-- Battle position offset (optional)
|
||||
self.battle_offset = {2, 1}
|
||||
-- Head icon position offset (optional)
|
||||
self.head_icon_offset = nil
|
||||
-- Menu icon position offset (optional)
|
||||
self.menu_icon_offset = nil
|
||||
|
||||
-- Message shown on gameover (optional)
|
||||
self.gameover_message = nil
|
||||
end
|
||||
|
||||
return character
|
||||
Reference in New Issue
Block a user