chore: add Radiance datas
10
sonic-bluestreak.love/datas/consts/battle.lua
Normal file
|
@ -0,0 +1,10 @@
|
|||
local CONST = {}
|
||||
|
||||
CONST.ACCURACY = 100
|
||||
CONST.ATKWRONGTYPE = 0.66
|
||||
|
||||
CONST.DAMAGE = {}
|
||||
CONST.DAMAGE.DIVISOR = 10
|
||||
CONST.DAMAGE.DEFFACTOR = 0.66
|
||||
|
||||
return CONST
|
76
sonic-bluestreak.love/datas/consts/stats.lua
Normal file
|
@ -0,0 +1,76 @@
|
|||
local CONST = {}
|
||||
|
||||
CONST.HPMAX = "hpmax"
|
||||
CONST.PPMAX = "ppmax"
|
||||
CONST.ATTACK = "attack"
|
||||
CONST.POWER = "power"
|
||||
CONST.DEFENSE = "defense"
|
||||
CONST.MIND = "mind"
|
||||
CONST.TECHNIC = "technic"
|
||||
CONST.SPEED = "speed"
|
||||
|
||||
CONST.DAMAGE = "damage"
|
||||
CONST.ACCURACY = "accuracy"
|
||||
CONST.EVASION = "evasion"
|
||||
CONST.LUCK = "luck"
|
||||
CONST.ARMOR = "armor"
|
||||
CONST.CRITICAL = "critical"
|
||||
CONST.HPREGEN = "hpregen"
|
||||
CONST.PPREGEN = "ppregen"
|
||||
|
||||
CONST.RANK_E = 10
|
||||
CONST.RANK_D = 25
|
||||
CONST.RANK_C = 40
|
||||
CONST.RANK_B = 60
|
||||
CONST.RANK_A = 80
|
||||
CONST.RANK_S = 100
|
||||
CONST.MULT_HP = 4.5
|
||||
|
||||
CONST.LIST = {CONST.HPMAX, CONST.PPMAX, CONST.ATTACK, CONST.POWER, CONST.DEFENSE, CONST.MIND, CONST.TECHNIC, CONST.SPEED}
|
||||
CONST.BATTLELIST = {CONST.ACCURACY, CONST.EVASION, CONST.LUCK, CONST.DAMAGE, CONST.ARMOR, CONST.CRITICAL, CONST.HPREGEN, CONST.PPREGEN}
|
||||
CONST.NOBONUS = {CONST.HPMAX, CONST.PPMAX, CONST.HPREGEN, CONST.PPREGEN}
|
||||
|
||||
CONST.SIMPLENAME = {}
|
||||
CONST.SIMPLENAME[CONST.HPMAX] = "HP"
|
||||
CONST.SIMPLENAME[CONST.PPMAX] = "PP"
|
||||
CONST.SIMPLENAME[CONST.ATTACK] = "ATK"
|
||||
CONST.SIMPLENAME[CONST.POWER] = "POW"
|
||||
CONST.SIMPLENAME[CONST.DEFENSE] = "DEF"
|
||||
CONST.SIMPLENAME[CONST.MIND] = "MND"
|
||||
CONST.SIMPLENAME[CONST.TECHNIC] = "TEK"
|
||||
CONST.SIMPLENAME[CONST.SPEED] = "SPD"
|
||||
|
||||
CONST.EXP_MULTIPLICATOR = 4
|
||||
CONST.EXP_RATIO = 5
|
||||
|
||||
CONST.BASE_STAT = 5
|
||||
CONST.BASE_HP = 15
|
||||
CONST.BASE_MP = 8
|
||||
|
||||
CONST.MULT_STAT = 2
|
||||
CONST.MULT_HP = 7.5
|
||||
CONST.SALT_HP = 35
|
||||
CONST.MULT_MP = 1.5
|
||||
|
||||
local function createBattleStat(name, valueHero, valueEnnemy)
|
||||
CONST.BATTLESTAT.HERO[name] = valueHero
|
||||
CONST.BATTLESTAT.ENNEMI[name] = valueEnnemy or valueHero
|
||||
end
|
||||
|
||||
CONST.BATTLESTAT = {}
|
||||
CONST.BATTLESTAT.HERO = {}
|
||||
CONST.BATTLESTAT.ENNEMI = {}
|
||||
createBattleStat("accuracy", 100)
|
||||
createBattleStat("evasion", 0)
|
||||
createBattleStat("luck", 66, 40)
|
||||
createBattleStat("damage", 0)
|
||||
createBattleStat("armor", 0)
|
||||
createBattleStat("critical", 0)
|
||||
createBattleStat("hpregen", 0)
|
||||
createBattleStat("ppregen", 0)
|
||||
|
||||
CONST.ARMOR_AND_DAMAGE_RATIO = .5
|
||||
|
||||
CONST.BONUS = {0.75, 0.8125, 0.875, 0.9375, 1, 1.125, 1.25, 1.375, 1.5}
|
||||
|
||||
return CONST
|
42
sonic-bluestreak.love/datas/gamedata/battles/elements.lua
Normal file
|
@ -0,0 +1,42 @@
|
|||
return {
|
||||
["none"] = {
|
||||
fullname = "None",
|
||||
weakTo = {},
|
||||
resists = {}
|
||||
},
|
||||
["water"] = {
|
||||
fullname = "Water",
|
||||
weakTo = {"light"},
|
||||
resists = {"fire", "water"}
|
||||
},
|
||||
["fire"] = {
|
||||
fullname = "Fire",
|
||||
weakTo = {"water"},
|
||||
resists = {"ice", "fire"}
|
||||
},
|
||||
["ice"] = {
|
||||
fullname = "Fire",
|
||||
weakTo = {"fire"},
|
||||
resists = {"wind", "ice"}
|
||||
},
|
||||
["wind"] = {
|
||||
fullname = "Fire",
|
||||
weakTo = {"ice"},
|
||||
resists = {"earth", "wind"}
|
||||
},
|
||||
["earth"] = {
|
||||
fullname = "Fire",
|
||||
weakTo = {"wind"},
|
||||
resists = {"light", "earth"}
|
||||
},
|
||||
["light"] = {
|
||||
fullname = "Fire",
|
||||
weakTo = {"earth"},
|
||||
resists = {"water", "light"}
|
||||
},
|
||||
["chaos"] = {
|
||||
fullname = "Chaos",
|
||||
weakTo = {"chaos"},
|
||||
resists = {}
|
||||
}
|
||||
}
|
22
sonic-bluestreak.love/datas/gamedata/battles/protectypes.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
return {
|
||||
["basic"] = {
|
||||
resistTo = {},
|
||||
backDamage = {}
|
||||
},
|
||||
["aerial"] = {
|
||||
resistTo = {"basic"},
|
||||
backDamage = {}
|
||||
},
|
||||
["shielded"] = {
|
||||
resistTo = {"basic", "projectile"},
|
||||
backDamage = {}
|
||||
},
|
||||
["spiked"] = {
|
||||
resistTo = {"basic", "aerial"},
|
||||
backDamage = {"basic", "aerial"}
|
||||
},
|
||||
["backspiked"] = {
|
||||
resistTo = {"aerial"},
|
||||
backDamage = {"aerial"}
|
||||
},
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
music = "battle1",
|
||||
ennemies = {
|
||||
{"normal", "classics", "motobug", 1},
|
||||
{"normal", "classics", "spinner", 1},
|
||||
{"normal", "classics", "motobug", 1},
|
||||
}
|
||||
}
|
||||
|
||||
-- There are three possible type of ennemies
|
||||
|
||||
-- NORMAL {"normal", category, name, number}
|
||||
-- BOSS : {"boss", category, pvbonus, statbonus}
|
||||
-- RIVALS : {"rival", charname, level, pvbonus}
|
|
@ -0,0 +1,13 @@
|
|||
return {
|
||||
music = "battle2",
|
||||
ennemies = {
|
||||
{"normal", "classics", "motobug", 1},
|
||||
{"boss", "classics", "motobug", 10, 1.8, true},
|
||||
{"normal", "classics", "motobug", 1}}
|
||||
}
|
||||
|
||||
-- There are three possible type of ennemies
|
||||
|
||||
-- NORMAL {"normal", category, name, number}
|
||||
-- BOSS : {"boss", category, pvbonus, statbonus}
|
||||
-- RIVALS : {"rival", charname, level, pvbonus}
|
|
@ -0,0 +1,17 @@
|
|||
local actions = {}
|
||||
|
||||
actions.aerial = {}
|
||||
|
||||
function actions.aerial.start(n, actor)
|
||||
|
||||
end
|
||||
|
||||
function actions.aerial.update(dt, actor)
|
||||
|
||||
end
|
||||
|
||||
function actions.aerial.onGround(actor)
|
||||
|
||||
end
|
||||
|
||||
return actions
|
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
x = 120,
|
||||
y = -16
|
||||
}
|
BIN
sonic-bluestreak.love/datas/gamedata/characters/amy/artwork.png
Normal file
After Width: | Height: | Size: 111 KiB |
|
@ -0,0 +1,18 @@
|
|||
return {
|
||||
metadata = {
|
||||
width = 64,
|
||||
height = 54,
|
||||
defaultAnim = "default",
|
||||
ox = 32,
|
||||
oy = 48,
|
||||
},
|
||||
animations = {
|
||||
["default"] = {
|
||||
startAt = 1,
|
||||
endAt = 15,
|
||||
loop = 1,
|
||||
speed = 30,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 8.6 KiB |
22
sonic-bluestreak.love/datas/gamedata/characters/amy/init.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
return {
|
||||
name = "Amy",
|
||||
fullname = "Amy Rose",
|
||||
class = "power",
|
||||
speed = 3,
|
||||
jump = 3,
|
||||
turns = 2,
|
||||
move = 4,
|
||||
|
||||
startlevel = 1,
|
||||
|
||||
isUnlockedAtStart = true,
|
||||
canGoSuper = true,
|
||||
canBreakCraft = false,
|
||||
|
||||
weakTo = {},
|
||||
resists = {},
|
||||
|
||||
icon = 3,
|
||||
charset = "perso",
|
||||
charId = 3,
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
return {
|
||||
gloves = "basicgloves",
|
||||
shoes = "lightsneakers",
|
||||
accessories = "simplehammer",
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
{"hitcombo", 2},
|
||||
{"tornado", 8},
|
||||
}
|
180
sonic-bluestreak.love/datas/gamedata/characters/amy/sprites.lua
Normal file
|
@ -0,0 +1,180 @@
|
|||
return {
|
||||
metadata = {
|
||||
height = 64,
|
||||
width = 64,
|
||||
ox = 32,
|
||||
oy = 32,
|
||||
defaultAnim = "idle"
|
||||
},
|
||||
animations = {
|
||||
["idle"] = {
|
||||
startAt = 1,
|
||||
endAt = 8,
|
||||
loop = 1,
|
||||
speed = 10,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["walk"] = {
|
||||
startAt = 9,
|
||||
endAt = 17,
|
||||
loop = 10,
|
||||
speed = -1,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["jump"] = {
|
||||
startAt = 18,
|
||||
endAt = 21,
|
||||
loop = 21,
|
||||
speed = 10,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["fall"] = {
|
||||
startAt = 22,
|
||||
endAt = 24,
|
||||
loop = 26,
|
||||
speed = 10,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit1start"] = {
|
||||
startAt = 29,
|
||||
endAt = 32,
|
||||
loop = 32,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit1end"] = {
|
||||
startAt = 33,
|
||||
endAt = 34,
|
||||
loop = 34,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit2start"] = {
|
||||
startAt = 35,
|
||||
endAt = 37,
|
||||
loop = 37,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit2end"] = {
|
||||
startAt = 38,
|
||||
endAt = 39,
|
||||
loop = 39,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit3start"] = {
|
||||
startAt = 40,
|
||||
endAt = 44,
|
||||
loop = 44,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit3end"] = {
|
||||
startAt = 45,
|
||||
endAt = 46,
|
||||
loop = 46,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["spindash"] = {
|
||||
startAt = 59,
|
||||
endAt = 62,
|
||||
loop = 59,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spindash_full"] = {
|
||||
startAt = 59,
|
||||
endAt = 62,
|
||||
loop = 59,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spin"] = {
|
||||
startAt = 55,
|
||||
endAt = 58,
|
||||
loop = 55,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spinjump"] = {
|
||||
startAt = 49,
|
||||
endAt = 54,
|
||||
loop = 51,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spinjump_nucurl"] = {
|
||||
startAt = 51,
|
||||
endAt = 54,
|
||||
loop = 51,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["hurt"] = {
|
||||
startAt = 47,
|
||||
endAt = 49,
|
||||
loop = 49,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["getKo"] = {
|
||||
startAt = 50,
|
||||
endAt = 52,
|
||||
loop = 52,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["ko"] = {
|
||||
startAt = 52,
|
||||
endAt = 52,
|
||||
loop = 52,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["defend"] = {
|
||||
startAt = 53,
|
||||
endAt = 54,
|
||||
loop = 54,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["heal"] = {
|
||||
startAt = 63,
|
||||
endAt = 66,
|
||||
loop = 64,
|
||||
speed = 15,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["healend"] = {
|
||||
startAt = 67,
|
||||
endAt = 68,
|
||||
loop = 68,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hammer1"] = {
|
||||
startAt = 69,
|
||||
endAt = 82,
|
||||
loop = 69,
|
||||
speed = 15,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["upper"] = {
|
||||
startAt = 83,
|
||||
endAt = 95,
|
||||
loop = 83,
|
||||
speed = 15,
|
||||
pauseAtEnd = false,
|
||||
signal = {{5, "tornado"}, {7, "hitconnect"}}
|
||||
},
|
||||
["gift"] = {
|
||||
startAt = 96,
|
||||
endAt = 106,
|
||||
loop = 96,
|
||||
speed = 15,
|
||||
pauseAtEnd = false,
|
||||
}
|
||||
}
|
||||
}
|
BIN
sonic-bluestreak.love/datas/gamedata/characters/amy/sprites.png
Normal file
After Width: | Height: | Size: 92 KiB |
|
@ -0,0 +1,13 @@
|
|||
local CONST = require "datas.consts.stats"
|
||||
|
||||
return {
|
||||
hpmax = CONST.RANK_A, --
|
||||
ppmax = CONST.RANK_C, --
|
||||
|
||||
attack = CONST.RANK_A, --
|
||||
defense = CONST.RANK_B, --
|
||||
technic = CONST.RANK_C, -- How much items & wisps will be powerfull for this character.
|
||||
power = CONST.RANK_B, --
|
||||
mind = CONST.RANK_C, -- Magic defense.
|
||||
speed = CONST.RANK_B, -- Où le personnage se trouve dans le tour.
|
||||
}
|
|
@ -1 +1 @@
|
|||
return {"sonic"}
|
||||
return {"sonic", "tails", "amy"}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
local actions = {}
|
||||
|
||||
actions.aerial = {}
|
||||
actions.special = {}
|
||||
|
||||
function actions.aerial.start(n, actor)
|
||||
|
||||
|
@ -15,16 +14,4 @@ function actions.aerial.onGround(actor)
|
|||
|
||||
end
|
||||
|
||||
function actions.special.start(n, actor)
|
||||
|
||||
end
|
||||
|
||||
function actions.special.update(dt, actor)
|
||||
|
||||
end
|
||||
|
||||
function actions.special.onGround(actor)
|
||||
|
||||
end
|
||||
|
||||
return actions
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
x = 120,
|
||||
y = -32
|
||||
}
|
After Width: | Height: | Size: 114 KiB |
|
@ -1,4 +0,0 @@
|
|||
return {
|
||||
lifeicon = 1,
|
||||
spriteset = "sonic",
|
||||
}
|
|
@ -1,10 +1,22 @@
|
|||
return {
|
||||
name = "Sonic",
|
||||
fullname = "Sonic the Hedgehog",
|
||||
class = "speedster",
|
||||
speed = 5,
|
||||
jump = 3,
|
||||
turns = 3,
|
||||
move = 4,
|
||||
|
||||
class = "speed",
|
||||
alignement = "hero",
|
||||
team = "heroes",
|
||||
startlevel = 1,
|
||||
|
||||
description = "Lorem Ipsum...",
|
||||
isUnlockedAtStart = true,
|
||||
canGoSuper = true,
|
||||
canBreakCraft = false,
|
||||
|
||||
weakTo = {"water"},
|
||||
resists = {"wind"},
|
||||
|
||||
icon = 1,
|
||||
charset = "perso",
|
||||
charId = 1,
|
||||
}
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
return {
|
||||
gloves = "basicgloves",
|
||||
shoes = "lightsneakers",
|
||||
accessories = "",
|
||||
}
|
|
@ -1,3 +1,16 @@
|
|||
return {
|
||||
--{skill_flag},
|
||||
--{attack_name, level},
|
||||
{"spindash", 2},
|
||||
--{"spinjump", 3},
|
||||
{"homming", 5},
|
||||
{"tornado", 9},
|
||||
{"sonicwind", 9},
|
||||
-- {"spinattack", 15},
|
||||
-- {"sonicflare", 18},
|
||||
-- {"spindash", 26},
|
||||
-- {"soniccracker", 30},
|
||||
-- {"hommingattack", 35},
|
||||
-- {"bluetornado", 40},
|
||||
-- {"boost", 62},
|
||||
-- {"lightspeedattack", 70},
|
||||
}
|
||||
|
|
|
@ -0,0 +1,180 @@
|
|||
return {
|
||||
metadata = {
|
||||
height = 64,
|
||||
width = 64,
|
||||
ox = 32,
|
||||
oy = 32,
|
||||
defaultAnim = "idle"
|
||||
},
|
||||
animations = {
|
||||
["idle"] = {
|
||||
startAt = 1,
|
||||
endAt = 6,
|
||||
loop = 1,
|
||||
speed = 12,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["walk"] = {
|
||||
startAt = 7,
|
||||
endAt = 14,
|
||||
loop = 7,
|
||||
speed = -1,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["jump"] = {
|
||||
startAt = 15,
|
||||
endAt = 18,
|
||||
loop = 18,
|
||||
speed = 10,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["fall"] = {
|
||||
startAt = 19,
|
||||
endAt = 21,
|
||||
loop = 21,
|
||||
speed = 10,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit1start"] = {
|
||||
startAt = 22,
|
||||
endAt = 24,
|
||||
loop = 24,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit1end"] = {
|
||||
startAt = 24,
|
||||
endAt = 26,
|
||||
loop = 26,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit2start"] = {
|
||||
startAt = 28,
|
||||
endAt = 30,
|
||||
loop = 30,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit2end"] = {
|
||||
startAt = 30,
|
||||
endAt = 32,
|
||||
loop = 32,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit3start"] = {
|
||||
startAt = 33,
|
||||
endAt = 35,
|
||||
loop = 35,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit3end"] = {
|
||||
startAt = 36,
|
||||
endAt = 36,
|
||||
loop = 36,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["spindash"] = {
|
||||
startAt = 37,
|
||||
endAt = 40,
|
||||
loop = 37,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spindash_full"] = {
|
||||
startAt = 41,
|
||||
endAt = 44,
|
||||
loop = 41,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spin"] = {
|
||||
startAt = 45,
|
||||
endAt = 48,
|
||||
loop = 45,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spinjump"] = {
|
||||
startAt = 49,
|
||||
endAt = 54,
|
||||
loop = 51,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spinjump_nucurl"] = {
|
||||
startAt = 51,
|
||||
endAt = 54,
|
||||
loop = 51,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["hurt"] = {
|
||||
startAt = 55,
|
||||
endAt = 57,
|
||||
loop = 57,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["getKo"] = {
|
||||
startAt = 58,
|
||||
endAt = 62,
|
||||
loop = 62,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["ko"] = {
|
||||
startAt = 62,
|
||||
endAt = 62,
|
||||
loop = 62,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["defend"] = {
|
||||
startAt = 63,
|
||||
endAt = 64,
|
||||
loop = 64,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["flare"] = {
|
||||
startAt = 65,
|
||||
endAt = 80,
|
||||
loop = 65,
|
||||
speed = 20,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["upper"] = {
|
||||
startAt = 81,
|
||||
endAt = 89,
|
||||
loop = 81,
|
||||
speed = 18,
|
||||
pauseAtEnd = false,
|
||||
signal = {{2, "tornado"}, {3, "hitconnect"}}
|
||||
},
|
||||
["heal"] = {
|
||||
startAt = 90,
|
||||
endAt = 93,
|
||||
loop = 91,
|
||||
speed = 15,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["healend"] = {
|
||||
startAt = 94,
|
||||
endAt = 95,
|
||||
loop = 95,
|
||||
speed = 15,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["gift"] = {
|
||||
startAt = 96,
|
||||
endAt = 101,
|
||||
loop = 96,
|
||||
speed = 15,
|
||||
pauseAtEnd = false,
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 81 KiB |
|
@ -1,13 +1,13 @@
|
|||
return {
|
||||
startlevel = 1,
|
||||
hpmax = 50, -- Les points de vie du personnages
|
||||
spd = 5,
|
||||
jmp = 3,
|
||||
atk = 5,
|
||||
jumpaction_power = 2,
|
||||
action_power = 1,
|
||||
action_cost = 30,
|
||||
local CONST = require "datas.consts.stats"
|
||||
|
||||
canGoSuper = true,
|
||||
canBreakCraft = false
|
||||
return {
|
||||
hpmax = CONST.RANK_B, --
|
||||
ppmax = CONST.RANK_C, --
|
||||
|
||||
attack = CONST.RANK_B, --
|
||||
defense = CONST.RANK_B, --
|
||||
technic = CONST.RANK_C, -- How much items & wisps will be powerfull for this character.
|
||||
power = CONST.RANK_C, --
|
||||
mind = CONST.RANK_D, -- Magic defense.
|
||||
speed = CONST.RANK_S, -- Où le personnage se trouve dans le tour.
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
local actions = {}
|
||||
|
||||
actions.aerial = {}
|
||||
|
||||
function actions.aerial.start(n, actor)
|
||||
|
||||
end
|
||||
|
||||
function actions.aerial.update(dt, actor)
|
||||
|
||||
end
|
||||
|
||||
function actions.aerial.onGround(actor)
|
||||
|
||||
end
|
||||
|
||||
return actions
|
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
x = 128,
|
||||
y = -40
|
||||
}
|
After Width: | Height: | Size: 96 KiB |
|
@ -0,0 +1,22 @@
|
|||
return {
|
||||
name = "Tails",
|
||||
fullname = "Miles \"Tails\" Prower",
|
||||
class = "technic",
|
||||
speed = 2,
|
||||
jump = 5,
|
||||
turns = 2,
|
||||
move = 3,
|
||||
|
||||
startlevel = 1,
|
||||
|
||||
isUnlockedAtStart = true,
|
||||
canGoSuper = true,
|
||||
canBreakCraft = false,
|
||||
|
||||
weakTo = {"light"},
|
||||
resists = {"earth"},
|
||||
|
||||
icon = 2,
|
||||
charset = "perso",
|
||||
charId = 2,
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
return {
|
||||
gloves = "basicgloves",
|
||||
shoes = "lightsneakers",
|
||||
accessories = "",
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
|
||||
}
|
|
@ -0,0 +1,144 @@
|
|||
return {
|
||||
metadata = {
|
||||
height = 64,
|
||||
width = 64,
|
||||
ox = 32,
|
||||
oy = 32,
|
||||
defaultAnim = "idle"
|
||||
},
|
||||
animations = {
|
||||
["idle"] = {
|
||||
startAt = 1,
|
||||
endAt = 8,
|
||||
loop = 1,
|
||||
speed = 10,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["walk"] = {
|
||||
startAt = 9,
|
||||
endAt = 17,
|
||||
loop = 10,
|
||||
speed = -1,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["jump"] = {
|
||||
startAt = 18,
|
||||
endAt = 21,
|
||||
loop = 21,
|
||||
speed = 10,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["fall"] = {
|
||||
startAt = 22,
|
||||
endAt = 26,
|
||||
loop = 26,
|
||||
speed = 10,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit1start"] = {
|
||||
startAt = 27,
|
||||
endAt = 30,
|
||||
loop = 30,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit1end"] = {
|
||||
startAt = 31,
|
||||
endAt = 32,
|
||||
loop = 32,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit2start"] = {
|
||||
startAt = 33,
|
||||
endAt = 37,
|
||||
loop = 37,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit2end"] = {
|
||||
startAt = 38,
|
||||
endAt = 38,
|
||||
loop = 38,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit3start"] = {
|
||||
startAt = 42,
|
||||
endAt = 46,
|
||||
loop = 46,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["hit3end"] = {
|
||||
startAt = 46,
|
||||
endAt = 48,
|
||||
loop = 48,
|
||||
speed = 25,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["spindash"] = {
|
||||
startAt = 66,
|
||||
endAt = 73,
|
||||
loop = 66,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spindash_full"] = {
|
||||
startAt = 66,
|
||||
endAt = 73,
|
||||
loop = 66,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spin"] = {
|
||||
startAt = 62,
|
||||
endAt = 65,
|
||||
loop = 65,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spinjump"] = {
|
||||
startAt = 49,
|
||||
endAt = 54,
|
||||
loop = 51,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["spinjump_nucurl"] = {
|
||||
startAt = 51,
|
||||
endAt = 54,
|
||||
loop = 51,
|
||||
speed = 25,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["hurt"] = {
|
||||
startAt = 49,
|
||||
endAt = 51,
|
||||
loop = 51,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["getKo"] = {
|
||||
startAt = 53,
|
||||
endAt = 59,
|
||||
loop = 59,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["ko"] = {
|
||||
startAt = 59,
|
||||
endAt = 59,
|
||||
loop = 59,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
},
|
||||
["defend"] = {
|
||||
startAt = 60,
|
||||
endAt = 61,
|
||||
loop = 61,
|
||||
speed = 15,
|
||||
pauseAtEnd = true,
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 65 KiB |
|
@ -0,0 +1,13 @@
|
|||
local CONST = require "datas.consts.stats"
|
||||
|
||||
return {
|
||||
hpmax = CONST.RANK_C, --
|
||||
ppmax = CONST.RANK_A, --
|
||||
|
||||
attack = CONST.RANK_D, --
|
||||
defense = CONST.RANK_C, --
|
||||
technic = CONST.RANK_S, -- How much items & wisps will be powerfull for this character.
|
||||
power = CONST.RANK_C, --
|
||||
mind = CONST.RANK_A, -- Magic defense.
|
||||
speed = CONST.RANK_B, -- Où le personnage se trouve dans le tour.
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
return {
|
||||
name = "Motobug",
|
||||
fullname = "E-03 Motobug",
|
||||
type = "badnics",
|
||||
element = "none",
|
||||
protectypes = {},
|
||||
rarity = 0,
|
||||
isAerial = false,
|
||||
distAttack = false,
|
||||
turns = 2,
|
||||
|
||||
hudHeight = 18,
|
||||
behaviour = "random",
|
||||
behaviourAlt = "random",
|
||||
|
||||
giveExp = 20,
|
||||
giveRings = 30,
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
"tackle",
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
return {
|
||||
metadata = {
|
||||
height = 64,
|
||||
width = 64,
|
||||
ox = 32,
|
||||
oy = 32,
|
||||
defaultAnim = "idle"
|
||||
},
|
||||
animations = {
|
||||
["idle"] = {
|
||||
startAt = 1,
|
||||
endAt = 4,
|
||||
loop = 1,
|
||||
speed = 12,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["walk"] = {
|
||||
startAt = 5,
|
||||
endAt = 8,
|
||||
loop = 5,
|
||||
speed = 12,
|
||||
pauseAtEnd = false,
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 5.7 KiB |
|
@ -0,0 +1,12 @@
|
|||
return {
|
||||
hpmax = 25, --
|
||||
ppmax = 20, --
|
||||
|
||||
attack = 15, --
|
||||
power = 20, --
|
||||
defense = 05, --
|
||||
technic = 10, --
|
||||
mind = 10, --
|
||||
luck = 02, --
|
||||
speed = 15, --
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
return {
|
||||
name = "Spinner",
|
||||
fullname = "E-06 Spinner",
|
||||
type = "badnics",
|
||||
element = "none",
|
||||
protectypes = {"aerial"},
|
||||
rarity = 0,
|
||||
isAerial = true,
|
||||
distAttack = false,
|
||||
turns = 2,
|
||||
|
||||
hudHeight = 24,
|
||||
behaviour = "random",
|
||||
behaviourAlt = "random",
|
||||
|
||||
giveExp = 20,
|
||||
giveRings = 30,
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
"tackle",
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
return {
|
||||
metadata = {
|
||||
width = 64,
|
||||
height = 64,
|
||||
ox = 32,
|
||||
oy = 32,
|
||||
defaultAnim = "idle"
|
||||
},
|
||||
animations = {
|
||||
["idle"] = {
|
||||
startAt = 1,
|
||||
endAt = 6,
|
||||
loop = 1,
|
||||
speed = 12,
|
||||
pauseAtEnd = false,
|
||||
},
|
||||
["walk"] = {
|
||||
startAt = 1,
|
||||
endAt = 6,
|
||||
loop = 1,
|
||||
speed = 12,
|
||||
pauseAtEnd = false,
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 10 KiB |
|
@ -0,0 +1,12 @@
|
|||
return {
|
||||
hpmax = 25, --
|
||||
ppmax = 20, --
|
||||
|
||||
attack = 15, --
|
||||
power = 20, --
|
||||
defense = 05, --
|
||||
technic = 10, --
|
||||
mind = 10, --
|
||||
luck = 02, --
|
||||
speed = 15, --
|
||||
}
|
3
sonic-bluestreak.love/datas/gamedata/ennemies/init.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
"classics",
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
-- A basic file describing the basic attack, in order to make it customizable one
|
||||
-- day ?
|
||||
|
||||
-- Also serve as a tutoriel for how to create a file attack and choregraphy
|
||||
|
||||
return {
|
||||
name = "tackle",
|
||||
cost = 0,
|
||||
|
||||
targetNumber = 1, -- 0 for targeting all ennemies
|
||||
targetEnnemies = true,
|
||||
|
||||
isSpecial = false,
|
||||
|
||||
choregraphy = { -- the main attack choregraphy
|
||||
{"goTo3D", "none", "actor", "target", -0.4, 0, 0, 0.5, true},
|
||||
{"sendDamage", "none", 120, "basic", "none", false},
|
||||
{'addGFX', "sentDamage", 'hit1', "target", -0.4, 0, 0, true, false},
|
||||
{'playSFX', "sentDamage", 'hitconnect'},
|
||||
{'jumpBack', "none", "actor", 4, 8, true},
|
||||
{"wait", "none", 0.1},
|
||||
{'goTo3D', "none", "actor", "start", 0, 0, 0, 0.3, true},
|
||||
},
|
||||
|
||||
onContact = { -- if the attack move and touch multiple ennemies, you can add
|
||||
-- specific effect when you touch the ennemy.
|
||||
},
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
return {
|
||||
["actions"] = {
|
||||
{"dialogBox", "", "Hello Sonic. I'm testing the dialog system of Sonic Radiance. Here, I should do an in-character joke, but the dev is too lazy to even think about that. But don't do that. Remember than only training and discipline will help you.", "Espio", ""}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
return {
|
||||
["actions"] = {
|
||||
{"dialogBox", "haveMoney:eq:0", "You don't have any rings !", "Mighty", ""},
|
||||
{"dialogBox", {"haveMoney:lt:300", "haveMoney:gt:0"}, "You seems to only have a few rings", "Mighty", ""},
|
||||
{"dialogBox", "haveMoney:ge:300", "Wow you're rich !", "Mighty", ""}
|
||||
}
|
||||
}
|
10
sonic-bluestreak.love/datas/gamedata/events/test/rouge.lua
Normal file
|
@ -0,0 +1,10 @@
|
|||
return {
|
||||
["actions"] = {
|
||||
{"dialogBox", "", "Hi Big Blue. Let's test a bit the choice dialog.", "Rouge", ""},
|
||||
{"optionBox", "", "What do you want ?", "Rouge", "", "Ring", "A health fruit", "Battling badnics", "optionFlag"},
|
||||
{"dialogBox", {"optionFlag:1", "haveMoney:lt:300"}, "Oooh, in need of cash ?", "Rouge", ""},
|
||||
{"dialogBox", {"optionFlag:1", "haveMoney:gt:300"}, "You doesn't seem that poor to me.", "Rouge", ""},
|
||||
{"dialogBox", "optionFlag:2", "Did you failed your battle ? Well, you'll have to train more", "Rouge", ""},
|
||||
{"dialogBox", "optionFlag:3", "Let's see if you can keep it up", "Rouge", ""},
|
||||
}
|
||||
}
|
11
sonic-bluestreak.love/datas/gamedata/index.lua
Normal file
|
@ -0,0 +1,11 @@
|
|||
return {
|
||||
datapacks = {
|
||||
["battles"] = {"battles", {"test"}, true, {}},
|
||||
["items"] = {"items", {"medicines", "powerups", "gloves", "shoes", "accessories"}, true, {}},
|
||||
["ennemies"] = {"ennemies", {"classics"}, false, {"stats", "skills"}},
|
||||
["characters"] = {"characters", {}, false, {"stats", "skills", "inventory"}},
|
||||
["skills"] = {"skills", {}, true, {}},
|
||||
["badskills"] = {"ennemies.skills", {}, true, {}}
|
||||
},
|
||||
singlefile = {}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "simplehammer",
|
||||
fullname = "Simple Hammer",
|
||||
description = "A basic hammer",
|
||||
conditions = {},
|
||||
effects = {},
|
||||
statsBoost = {
|
||||
attack = 3
|
||||
},
|
||||
isEquipement = true,
|
||||
usableInBattle = false,
|
||||
usableOnMap = false,
|
||||
affectEverybody = false,
|
||||
duration = 0
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
return {
|
||||
name = "basicgloves",
|
||||
fullname = "Basic Gloves",
|
||||
description = "Basic gloves that help fighting",
|
||||
conditions = {},
|
||||
effects = {},
|
||||
statsBoost = {
|
||||
attack = 2,
|
||||
defense = 1
|
||||
},
|
||||
isEquipement = true,
|
||||
usableInBattle = false,
|
||||
usableOnMap = false,
|
||||
affectEverybody = false,
|
||||
duration = 0
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
return {
|
||||
name = "darkgloves",
|
||||
fullname = "Dark Gloves",
|
||||
description = "Gloves engluffed with darkness",
|
||||
conditions = {},
|
||||
effects = {},
|
||||
statsBoost = {
|
||||
attack = 5,
|
||||
hpmax = -10
|
||||
},
|
||||
isEquipement = true,
|
||||
usableInBattle = false,
|
||||
usableOnMap = false,
|
||||
affectEverybody = false,
|
||||
duration = 0
|
||||
}
|
59
sonic-bluestreak.love/datas/gamedata/items/init.lua
Normal file
|
@ -0,0 +1,59 @@
|
|||
return {
|
||||
[1] = {
|
||||
name = "medicines",
|
||||
fullname = "Medicines",
|
||||
description = "Healing items",
|
||||
inBattle = true,
|
||||
isEquipement = false,
|
||||
},
|
||||
[2] = {
|
||||
name = "powerups",
|
||||
fullname = "Powerups",
|
||||
description = "Helping items usable in battle",
|
||||
inBattle = true,
|
||||
isEquipement = false,
|
||||
},
|
||||
[3] = {
|
||||
name = "wisps",
|
||||
fullname = "Wisps",
|
||||
description = "Little alien creatures that can attack ennemies",
|
||||
inBattle = true,
|
||||
isEquipement = false,
|
||||
},
|
||||
[4] = {
|
||||
name = "gloves",
|
||||
fullname = "Gloves",
|
||||
description = "All equipables gloves",
|
||||
inBattle = false,
|
||||
isEquipement = true,
|
||||
},
|
||||
[5] = {
|
||||
name = "shoes",
|
||||
fullname = "Shoes",
|
||||
description = "All equipables shoes",
|
||||
inBattle = false,
|
||||
isEquipement = true,
|
||||
},
|
||||
[6] = {
|
||||
name = "accessories",
|
||||
fullname = "Accessories",
|
||||
description = "All equipables accessories",
|
||||
inBattle = false,
|
||||
isEquipement = true,
|
||||
},
|
||||
[7] = {
|
||||
name = "chao",
|
||||
fullname = "Chao's Items",
|
||||
description = "All chao-related items",
|
||||
inBattle = false,
|
||||
isEquipement = false,
|
||||
},
|
||||
[8] = {
|
||||
name = "quest",
|
||||
fullname = "Quest Items",
|
||||
description = "All quest items",
|
||||
inBattle = false,
|
||||
isEquipement = false,
|
||||
},
|
||||
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "antidote",
|
||||
fullname = "Antidote",
|
||||
description = "A medicine that heal a character from poison",
|
||||
conditions = {
|
||||
{"status", "poison", true},
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "poison", false},
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "awakener",
|
||||
fullname = "Awakener",
|
||||
description = "A medicine that awaken an asleep character.",
|
||||
conditions = {
|
||||
{"status", "sleep", true}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "sleep", false}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "chilidog",
|
||||
fullname = "Chili Dog",
|
||||
description = "Sonic's favorite meal, complete with jalapeños. Heal a bit",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "hp", "fixed", 10}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "cureallspray",
|
||||
fullname = "Cure-All Spray",
|
||||
description = "A medicine that cure every illness",
|
||||
conditions = {
|
||||
{"status", "haveNegative", true},
|
||||
{"status", "ko", false},
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "allNegative", false}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "defenserestorer",
|
||||
fullname = "Defense Restorer",
|
||||
description = "A medicine that restore a character's defense",
|
||||
conditions = {
|
||||
{"status", "vulnerable", true}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "vulnerable", false}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "eggdog",
|
||||
fullname = "Egg Dog",
|
||||
description = "Eggman's best hot dog, complete with motor oil. Doesn't really heal.",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "hp", "fixed", -1}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "healthfruit",
|
||||
fullname = "Health Fruit",
|
||||
description = "The fruit of a plant known for its healing effects. Heal completely.",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "hp", "percent", 100}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "healthleaf",
|
||||
fullname = "Health Leaf",
|
||||
description = "The leaf of a plant known for its healing effects. Heal a good amount.",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "hp", "fixed", 100}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "healthroot",
|
||||
fullname = "Health Root",
|
||||
description = "The root of a plant known for its healing effects. Heal grealty.",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "hp", "fixed", 250}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "healthseed",
|
||||
fullname = "Health Seed",
|
||||
description = "The seed of a plant known for its healing effects. Heal a bit",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "hp", "fixed", 50}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "healunit",
|
||||
fullname = "Heal Unit",
|
||||
description = "A special medicine that restore entirely the body.",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "allNegative", false},
|
||||
{"heal", "hp", "percent", 100}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "medemmiter",
|
||||
fullname = "Med Emmiter",
|
||||
description = "A device that produces an energy pulse that heals all party members",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "hp", "fixed", 100}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=true,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "movementrestorer",
|
||||
fullname = "Movement Restorer",
|
||||
description = "A medicine that restore a character's movement capacity.",
|
||||
conditions = {
|
||||
{"status", "paralysis", true}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "paralysis", false}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "refresherwave",
|
||||
fullname = "Refresher Wave",
|
||||
description = "A device that produces an energy pulse that invigorates all party members",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "mp", "fixed", 20}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=true,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "revivalring",
|
||||
fullname = "Revival Ring",
|
||||
description = "A ring with the power to put the fallen back on their feet. Revives partially. ",
|
||||
conditions = {
|
||||
{"status", "ko", true}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "ko", false},
|
||||
{"heal", "hp", "percent", 25}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "ringoflife",
|
||||
fullname = "Ring of Life",
|
||||
description = "A ring with the power to put the fallen back into fighting shape. Revives entirely.",
|
||||
conditions = {
|
||||
{"status", "ko", true}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "ko", false},
|
||||
{"heal", "hp", "percent", 100}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "strenthrestorer",
|
||||
fullname = "Strenth Restorer",
|
||||
description = "A medicine that restore a character's strenth",
|
||||
conditions = {
|
||||
{"status", "weakened", true}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "weakened", false}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "tonicdrink",
|
||||
fullname = "Tonic Drink",
|
||||
description = "A refreshing formula that invigorates mind and body.",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "mp", "fixed", 10}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "tonicinfusion",
|
||||
fullname = "Tonic Infusion",
|
||||
description = "A refreshing formula that invigorates mind and body.",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "mp", "fixed", 25}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
name = "tonicpotion",
|
||||
fullname = "Tonic Potion",
|
||||
description = "A refreshing formula that invigorates mind and body.",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"heal", "mp", "fixed", 50}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=true,
|
||||
affectEverybody=false,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "cloverjuice",
|
||||
fullname = "Clover Juice",
|
||||
description = "The potion to take before going to Casinopolis",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "lucky", true}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=5,
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
return {
|
||||
name = "fireshield",
|
||||
fullname = "Fire Shield",
|
||||
description = "A special shield to protect a hero from fire damage",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "fortified", true},
|
||||
{"protectElement", "fire"}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=3,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "focusrock",
|
||||
fullname = "Focus Rock",
|
||||
description = "A curious rock that makes one more focused",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "focus", true}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=5,
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
return {
|
||||
name = "fireshield",
|
||||
fullname = "Fire Shield",
|
||||
description = "A special shield to protect a hero and give him back some pp",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "fortified", true},
|
||||
{"regen", "pp", 6}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=3,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "immunitybooster",
|
||||
fullname = "Immunity Booster",
|
||||
description = "A rather immediate yet short-term vaccine",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"blockStatus", "negative"}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=5,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "invincibility",
|
||||
fullname = "Invincibility",
|
||||
description = "Make a character",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "invincibility", true}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=1,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "powerring",
|
||||
fullname = "Power Ring",
|
||||
description = "A fantastic ring infused with Chaos Energy",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "hyper", true}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=5,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "psychicwater",
|
||||
fullname = "Psychic Water",
|
||||
description = "A strange infusion that enhance stealth",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "hidden", true}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=5,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "shield",
|
||||
fullname = "Shield",
|
||||
description = "A basic yet effective shield to protect a hero",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "fortified", true}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=5,
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
return {
|
||||
name = "speedup",
|
||||
fullname = "Speed Up",
|
||||
description = "Improve a character ability to attack several time",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "speedup", true}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=1,
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
return {
|
||||
name = "thundershield",
|
||||
fullname = "Thunder Shield",
|
||||
description = "A special shield to protect a hero from lightning damage",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "fortified", true},
|
||||
{"protectElement", "light"}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=3,
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
return {
|
||||
name = "watershield",
|
||||
fullname = "Water Shield",
|
||||
description = "A special shield to protect a hero from water damage",
|
||||
conditions = {
|
||||
{"status", "ko", false}
|
||||
},
|
||||
effects= {
|
||||
{"setStatus", "fortified", true},
|
||||
{"protectElement", "water"}
|
||||
},
|
||||
usableInBattle=true,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=3,
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
return {
|
||||
name = "lightsneakers",
|
||||
fullname = "Light Sneakers",
|
||||
description = "Simple sneakers that protect a little",
|
||||
conditions = {},
|
||||
effects= {},
|
||||
statsBoost = {
|
||||
speed = 2,
|
||||
defense = 1
|
||||
},
|
||||
isEquipement = true,
|
||||
usableInBattle=false,
|
||||
usableOnMap=false,
|
||||
affectEverybody=false,
|
||||
duration=0,
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
return {
|
||||
name = "slowmoshoes",
|
||||
fullname = "SlowMo Shoes",
|
||||
description = "Shoes that make you slower",
|
||||
conditions = {},
|
||||
effects = {},
|
||||
statsBoost = {
|
||||
speed = -5,
|
||||
mind = 6
|
||||
},
|
||||
isEquipement = true,
|
||||
usableInBattle = false,
|
||||
usableOnMap = false,
|
||||
affectEverybody = false,
|
||||
duration = 0
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
return {
|
||||
areaName = "testmap2",
|
||||
canSave = true,
|
||||
color = {0.3, 0.3, 0.3},
|
||||
maps = {
|
||||
{
|
||||
name = "Not Hidden Grotto",
|
||||
music = "testmap",
|
||||
folder = "test",
|
||||
map = "map",
|
||||
x = 0,
|
||||
y = 0,
|
||||
}
|
||||
},
|
||||
exitTo = {
|
||||
area = "test.plain",
|
||||
x = 21,
|
||||
y = 7,
|
||||
charDir = "down"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
return {
|
||||
areaName = "testmap",
|
||||
canSave = true,
|
||||
color = {0.3, 0.3, 0.3},
|
||||
maps = {
|
||||
{
|
||||
name = "Test Plains Field",
|
||||
music = "testmap",
|
||||
folder = "plain",
|
||||
map = "test",
|
||||
x = 0,
|
||||
y = 0,
|
||||
},
|
||||
{
|
||||
name = "Test Road Zone",
|
||||
music = "testmap2",
|
||||
folder = "plain",
|
||||
map = "test2",
|
||||
x = 0,
|
||||
y = 640,
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
return {
|
||||
name = "Chao Ruins",
|
||||
name = "Club Rouge",
|
||||
blocks = {
|
||||
{ 56, 128, 16, 96, "top1", "side1"},
|
||||
{248, 128, 16, 96, "top1", "side1"},
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
return {"aroom", "bhighway", "crouge", "cruins", "ebeach", "ghill", "hsummit", "library", "mdepot", "tlab"}
|
|
@ -1,37 +1,44 @@
|
|||
return {
|
||||
["forest"] = {
|
||||
name = "Jade Forest",
|
||||
tiles = 4,
|
||||
borders = 0,
|
||||
tiles = 0,
|
||||
background = "forest"
|
||||
},
|
||||
["city"] ={
|
||||
name = "Diamond Highway",
|
||||
borders = 1,
|
||||
tiles = 1,
|
||||
background = "city"
|
||||
},
|
||||
["tunnel"] ={
|
||||
name = "Peridot Tunnel",
|
||||
borders = 2,
|
||||
tiles = 2,
|
||||
background = "tunnel",
|
||||
music = nil
|
||||
},
|
||||
["mountain"] ={
|
||||
name = "Pearl Mountain",
|
||||
borders = 3,
|
||||
tiles = 3,
|
||||
background = "mountain"
|
||||
},
|
||||
["coast"] ={
|
||||
name = "Olivine Coast",
|
||||
tiles = 0,
|
||||
["hills"] ={
|
||||
name = "Calcite Hills",
|
||||
borders = 4,
|
||||
tiles = 4,
|
||||
background = "hills"
|
||||
},
|
||||
["bridge"] ={
|
||||
name = "Carnelian Bridge",
|
||||
borders = 5,
|
||||
tiles = 5,
|
||||
background = "bridge"
|
||||
},
|
||||
["castle"] ={
|
||||
name = "Ametist Castle",
|
||||
borders = 6,
|
||||
tiles = 6,
|
||||
background = "castle",
|
||||
music = nil
|
||||
|
|