initial calculations and data
This commit is contained in:
commit
c4597fd600
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.idea
|
181
calc.js
Normal file
181
calc.js
Normal file
@ -0,0 +1,181 @@
|
||||
// https://gamefaqs.gamespot.com/snes/563501-the-7th-saga/faqs/54038
|
||||
|
||||
exports.physicalAttack = (
|
||||
attackerPowerInnate,
|
||||
attackerPowerWeapon,
|
||||
targetGuardInnate,
|
||||
targetGuardArmor,
|
||||
targetGuardAccessory,
|
||||
options = {},
|
||||
) => {
|
||||
let attackPower = attackerPowerInnate;
|
||||
if (options.attackerDefending) {
|
||||
attackPower *= 1.5;
|
||||
}
|
||||
if (options.attackerPowerUp) {
|
||||
attackPower *= 2;
|
||||
}
|
||||
|
||||
let weaponPower = attackerPowerWeapon;
|
||||
if (options.attackerDefending) {
|
||||
weaponPower *= 1.5;
|
||||
}
|
||||
|
||||
let guardPower = targetGuardInnate;
|
||||
if (options.targetGuardDown) {
|
||||
guardPower /= 2;
|
||||
}
|
||||
|
||||
const totalAttackPower = attackPower + weaponPower;
|
||||
const totalGuardPower = guardPower + targetGuardArmor + targetGuardAccessory;
|
||||
|
||||
let averageDamage = totalAttackPower - (totalGuardPower / 2);
|
||||
|
||||
if (options.targetGuardUp) {
|
||||
averageDamage /= 2;
|
||||
}
|
||||
if (options.targetDefending) {
|
||||
averageDamage /= 2;
|
||||
}
|
||||
|
||||
let minDamage = averageDamage * 0.75;
|
||||
let maxDamage = averageDamage * 1.25;
|
||||
|
||||
const absoluteMin = 1;
|
||||
|
||||
return {
|
||||
normal: {
|
||||
avg: Math.max(absoluteMin, averageDamage),
|
||||
min: Math.max(absoluteMin, minDamage),
|
||||
max: Math.max(absoluteMin, maxDamage),
|
||||
},
|
||||
critical: {
|
||||
avg: Math.max(absoluteMin, averageDamage * 2),
|
||||
min: Math.max(absoluteMin, minDamage * 2),
|
||||
max: Math.max(absoluteMin, maxDamage * 2),
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
exports.magicalAttack = (
|
||||
attackerMagicInnate,
|
||||
targetMagicInnate,
|
||||
targetResistanceInnate,
|
||||
targetResistanceArmor,
|
||||
targetResistanceAccessory,
|
||||
spellPower,
|
||||
options = {},
|
||||
) => {
|
||||
let attackerPower = attackerMagicInnate;
|
||||
|
||||
let targetPower = targetMagicInnate;
|
||||
if (options.targetMagicUp) {
|
||||
targetPower += 40;
|
||||
}
|
||||
|
||||
const targetResistance = 100 - targetResistanceInnate - targetResistanceArmor - targetResistanceAccessory;
|
||||
|
||||
const spellBonusAttackPower = attackerPower + (options.attackerMagicUp ? 40 : 0);
|
||||
const spellBonus = ((spellBonusAttackPower / 2) + spellPower) * (targetResistance / 100);
|
||||
|
||||
const averageDamage = attackerPower - targetPower + spellBonus;
|
||||
|
||||
return {
|
||||
avg: Math.max(1, averageDamage),
|
||||
min: Math.max(1, averageDamage * 0.75),
|
||||
max: Math.max(1, averageDamage * 1.25),
|
||||
};
|
||||
};
|
||||
|
||||
exports.hpCatcherAttack = (
|
||||
attackerMagicInnate,
|
||||
attackerMaxHP,
|
||||
attackerCurrentHP,
|
||||
targetCurrentHP,
|
||||
options = {},
|
||||
) => {
|
||||
let attackerPower = attackerMagicInnate;
|
||||
if (options.attackerMagicUp) {
|
||||
attackerPower += 40;
|
||||
}
|
||||
|
||||
const adjust = dmg => Math.min(attackerMaxHP - attackerCurrentHP, Math.min(Math.min(dmg, 50), targetCurrentHP));
|
||||
const minDamage = attackerPower / 2;
|
||||
|
||||
return {
|
||||
min: adjust(minDamage),
|
||||
max: adjust(minDamage + 15),
|
||||
};
|
||||
};
|
||||
|
||||
exports.mpCatcherAttack = (
|
||||
attackerMagicInnate,
|
||||
attackerMaxMP,
|
||||
attackerCurrentMP,
|
||||
targetCurrentMP,
|
||||
options = {},
|
||||
) => {
|
||||
let attackerPower = attackerMagicInnate;
|
||||
if (options.attackerMagicUp) {
|
||||
attackerPower += 40;
|
||||
}
|
||||
|
||||
const adjust = dmg => Math.min(attackerMaxMP - attackerCurrentMP, Math.min(Math.min(dmg, 40), targetCurrentMP));
|
||||
const minDamage = attackerPower / 2;
|
||||
|
||||
return {
|
||||
min: adjust(minDamage),
|
||||
max: adjust(minDamage + 15),
|
||||
};
|
||||
};
|
||||
|
||||
exports.effectSpellHitRate = (
|
||||
targetResistanceInnate,
|
||||
targetResistanceArmor,
|
||||
targetResistanceAccessory,
|
||||
) => {
|
||||
if (targetResistanceInnate === null) {
|
||||
// e.g. "Class 1" enemies
|
||||
return 0;
|
||||
}
|
||||
|
||||
return Math.max(5, 100 - targetResistanceInnate - targetResistanceArmor - targetResistanceAccessory);
|
||||
};
|
||||
|
||||
exports.hitRate = (
|
||||
attackerSpeedInnate,
|
||||
targetSpeedInnate,
|
||||
options = {},
|
||||
) => {
|
||||
let attackerSpeed = attackerSpeedInnate;
|
||||
if (options.attackerSpeedUp) {
|
||||
attackerSpeed += 30;
|
||||
}
|
||||
|
||||
let targetSpeed = targetSpeedInnate;
|
||||
if (options.targetSpeedUp) {
|
||||
targetSpeed += 30;
|
||||
}
|
||||
|
||||
const hitRate = 85 + (0.8 * (attackerSpeed - targetSpeed));
|
||||
return Math.max(10, Math.min(98, hitRate));
|
||||
};
|
||||
|
||||
exports.runRate = (
|
||||
attackerSpeedInnate,
|
||||
targetSpeedInnate,
|
||||
options = {},
|
||||
) => {
|
||||
let attackerSpeed = attackerSpeedInnate;
|
||||
if (options.attackerSpeedUp) {
|
||||
attackerSpeed += 30;
|
||||
}
|
||||
|
||||
let targetSpeed = targetSpeedInnate;
|
||||
if (options.targetSpeedUp) {
|
||||
targetSpeed += 30;
|
||||
}
|
||||
|
||||
const runRate = 0.25 + (1.6 * (attackerSpeed - targetSpeed));
|
||||
return Math.max(0.1, Math.min(0.8, runRate));
|
||||
};
|
936
docs/enemies.txt
Normal file
936
docs/enemies.txt
Normal file
@ -0,0 +1,936 @@
|
||||
************************************************************
|
||||
*Android Exp: 88 Gold: 40 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 80 Thunder 30 Heal1 Opal 1/8
|
||||
MaxMP 50 Fire 30 HPCatcher
|
||||
Power 40 Ice 30
|
||||
Guard 45 Vacuum 30
|
||||
Magic 15 Debuff 0
|
||||
Speed 45
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*B.Demon Exp: 165 Gold: 75 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 80 Thunder 30 Heal1 (None)
|
||||
MaxMP 50 Fire 30 Defense1
|
||||
Power 60 Ice 30 Fire1
|
||||
Guard 50 Vacuum 30 Poison
|
||||
Magic 30 Debuff 30
|
||||
Speed 30
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*B.Night Exp: 771 Gold: 350 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 140 Thunder 30 Heal2 (None)
|
||||
MaxMP 120 Fire 30 Defense1
|
||||
Power 140 Ice 60 Ice2
|
||||
Guard 140 Vacuum 60 Vacuum2
|
||||
Magic 81 Debuff 30
|
||||
Speed 81
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Brain Exp: 484 Gold: 220 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 158 Thunder 50 Poison Rcvry 1/8
|
||||
MaxMP 150 Fire 50 Laser2
|
||||
Power 65 Ice 50
|
||||
Guard 85 Vacuum 50
|
||||
Magic 50 Debuff 50
|
||||
Speed 32
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Chimera Exp: 35 Gold: 16 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 40 Thunder 20 MPCatcher Potn1 1/8
|
||||
MaxMP 30 Fire 20
|
||||
Power 11 Ice 20
|
||||
Guard 5 Vacuum 40
|
||||
Magic 2 Debuff 20
|
||||
Speed 30
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Chimere Exp: 660 Gold: 300 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 180 Thunder 50 Heal3 (None)
|
||||
MaxMP 120 Fire 50 MPCatcher
|
||||
Power 150 Ice 50 HPCatcher
|
||||
Guard 240 Vacuum -- Defense2
|
||||
Magic 140 Debuff --
|
||||
Speed 160
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Cocoon Exp: 176 Gold: 80 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 67 Thunder 30 Heal2 Opal 1/8
|
||||
MaxMP 80 Fire 30 Poison
|
||||
Power 63 Ice 30 Defense1
|
||||
Guard 120 Vacuum 30 HPCatcher
|
||||
Magic 80 Debuff 30 Laser2
|
||||
Speed 88 MPCatcher
|
||||
Defense2
|
||||
|
||||
|
||||
************************************************************
|
||||
*Crab Exp: 1542 Gold: 700 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 440 Thunder 40 Petrify Opal 1/8
|
||||
MaxMP 210 Fire 40 Defense2
|
||||
Power 200 Ice 40 Ice2
|
||||
Guard 450 Vacuum 40
|
||||
Magic 160 Debuff 40
|
||||
Speed 140
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*D.Night Exp: 1630 Gold: 740 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 600 Thunder 50 Heal3 (None)
|
||||
MaxMP 100 Fire 50 Petrify
|
||||
Power 400 Ice 50 Defense2
|
||||
Guard 650 Vacuum 90 MPCatcher
|
||||
Magic 160 Debuff 50 HPCatcher
|
||||
Speed 190
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Defeat Exp: 440 Gold: 200 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 200 Thunder 20 Petrify Opal 1/8
|
||||
MaxMP 70 Fire 0 Defense2
|
||||
Power 80 Ice 30 Poison
|
||||
Guard 100 Vacuum 40 Fire1
|
||||
Magic 70 Debuff 40
|
||||
Speed 68
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Demon Exp: 33 Gold: 15 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 30 Thunder 10 Heal1 Potn1 3/16
|
||||
MaxMP 30 Fire 10 Defense2
|
||||
Power 9 Ice 10
|
||||
Guard 7 Vacuum 10
|
||||
Magic 2 Debuff 10
|
||||
Speed 1
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Dergun Exp: 1101 Gold: 500 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 280 Thunder 40 (None) (None)
|
||||
MaxMP 0 Fire 40
|
||||
Power 150 Ice 40
|
||||
Guard 360 Vacuum 40
|
||||
Magic 140 Debuff 40
|
||||
Speed 130
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Despair Exp: 220 Gold: 100 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 200 Thunder 20 Heal1 Opal 1/8
|
||||
MaxMP 90 Fire 20 Petrify
|
||||
Power 70 Ice 20 Firebird
|
||||
Guard 100 Vacuum --
|
||||
Magic 40 Debuff --
|
||||
Speed 30
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Dogun Exp: 1101 Gold: 500 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 320 Thunder 40 Heal3 (None)
|
||||
MaxMP 100 Fire 40
|
||||
Power 180 Ice 40
|
||||
Guard 380 Vacuum 70
|
||||
Magic 160 Debuff 40
|
||||
Speed 160
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Doom Exp: 771 Gold: 350 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 320 Thunder 20 Fire2 Opal 1/8
|
||||
MaxMP 110 Fire 20 Fireball
|
||||
Power 170 Ice 0 MPCatcher
|
||||
Guard 230 Vacuum --
|
||||
Magic 140 Debuff --
|
||||
Speed 100
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Doros Exp: 2423 Gold: 1100 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 1800 Thunder 70 Heal2 (None)
|
||||
MaxMP 200 Fire 70 Fire2
|
||||
Power 140 Ice 70 Fireball
|
||||
Guard 220 Vacuum -- MPCatcher
|
||||
Magic 130 Debuff -- Vacuum1
|
||||
Speed 130
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Dragon Exp: 2203 Gold: 1000 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 1100 Thunder 40 Petrify (None)
|
||||
MaxMP 230 Fire 40 Defense1
|
||||
Power 110 Ice 40 Defense2
|
||||
Guard 220 Vacuum -- Fireball
|
||||
Magic 110 Debuff --
|
||||
Speed 80
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*F.Night Exp: 1410 Gold: 640 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 400 Thunder 60 Fire2 (None)
|
||||
MaxMP 130 Fire 80 Fireball
|
||||
Power 340 Ice 20
|
||||
Guard 550 Vacuum 80
|
||||
Magic 150 Debuff 80
|
||||
Speed 150
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*F.Witch Exp: 1211 Gold: 550 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 300 Thunder 30 Petrify (None)
|
||||
MaxMP 140 Fire 30 Vacuum2
|
||||
Power 160 Ice 30
|
||||
Guard 380 Vacuum 30
|
||||
Magic 160 Debuff 30
|
||||
Speed 130
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Falock Exp: 1057 Gold: 480 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 600 Thunder 30 Agility (None)
|
||||
MaxMP 80 Fire 30
|
||||
Power 300 Ice 30
|
||||
Guard 600 Vacuum 30
|
||||
Magic 126 Debuff 30
|
||||
Speed 120
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Flame Exp: 991 Gold: 450 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 400 Thunder 30 Fire2 Opal 1/8
|
||||
MaxMP 200 Fire 95 Fireball
|
||||
Power 140 Ice 0 Firebird
|
||||
Guard 120 Vacuum 40
|
||||
Magic 86 Debuff 30
|
||||
Speed 90
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Foma Exp: 3745 Gold: 1700 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 1800 Thunder 60 MPCatcher Opal 1/8
|
||||
MaxMP 320 Fire 60 Thunder1
|
||||
Power 180 Ice 60 Thunder2
|
||||
Guard 500 Vacuum --
|
||||
Magic 180 Debuff --
|
||||
Speed 180
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Gariso Exp: 4846 Gold: 2200 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 3000 Thunder 50 Heal2 (None)
|
||||
MaxMP 220 Fire 50 Ice2
|
||||
Power 160 Ice 50 Fireball
|
||||
Guard 250 Vacuum -- Vacuum2
|
||||
Magic 150 Debuff --
|
||||
Speed 140
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
|
||||
*Ghoul Exp: 881 Gold: 400 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 170 Thunder 30 Heal2 Opal 1/8
|
||||
MaxMP 110 Fire 30 Revive1
|
||||
Power 140 Ice 30
|
||||
Guard 280 Vacuum 30
|
||||
Magic 133 Debuff 30
|
||||
Speed 120
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Goron Exp: 6609 Gold: 3000 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 2600 Thunder 50 Blizzard2 (None)
|
||||
MaxMP 220 Fire 50
|
||||
Power 230 Ice 50
|
||||
Guard 520 Vacuum --
|
||||
Magic 170 Debuff --
|
||||
Speed 160
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Gorsia Exp: 0 Gold: 0 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 4000 Thunder 70 Heal2 (None)
|
||||
MaxMP 255 Fire 70 Fire2
|
||||
Power 600 Ice 70 Blizzard2
|
||||
Guard 1400 Vacuum -- Vacuum1
|
||||
Magic 250 Debuff -- Fireball
|
||||
Speed 250 Ice2
|
||||
Thunder1
|
||||
Petrify
|
||||
|
||||
************************************************************
|
||||
*Griffan Exp: 8812 Gold: 4000 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 3400 Thunder 50 Petrify (None)
|
||||
MaxMP 220 Fire 50 Vacuum2
|
||||
Power 240 Ice 50 Blizzard2
|
||||
Guard 480 Vacuum --
|
||||
Magic 200 Debuff --
|
||||
Speed 170
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Griffin Exp: 484 Gold: 220 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 100 Thunder 40 Heal2 Opal 1/8
|
||||
MaxMP 300 Fire 40 Poison
|
||||
Power 130 Ice 40 Petrify
|
||||
Guard 130 Vacuum 60 Vacuum1
|
||||
Magic 100 Debuff 40
|
||||
Speed 100
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Hermit Exp: 26 Gold: 12 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 18 Thunder 20 (None) Potn1 1/16
|
||||
MaxMP 0 Fire 20
|
||||
Power 3 Ice 20
|
||||
Guard 4 Vacuum 20
|
||||
Magic 2 Debuff 20
|
||||
Speed 1
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*K.Moon Exp: 660 Gold: 300 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 450 Thunder 40 Fire2 (None)
|
||||
MaxMP 220 Fire 80 Fireball
|
||||
Power 140 Ice 10
|
||||
Guard 210 Vacuum 80
|
||||
Magic 112 Debuff 70
|
||||
Speed 90
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*K.Night Exp: 1321 Gold: 600 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 380 Thunder 40 Heal2 (None)
|
||||
MaxMP 200 Fire 40 Ice2
|
||||
Power 170 Ice 40 Blizzard2
|
||||
Guard 440 Vacuum 70 Defense1
|
||||
Magic 150 Debuff 40
|
||||
Speed 210
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*K.Trick Exp: 881 Gold: 400 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 300 Thunder 40 Heal2 Pearl 1/16
|
||||
MaxMP 180 Fire 40 Poison Topaz 9/16
|
||||
Power 120 Ice 40 HPCatcher Ruby 3/16
|
||||
Guard 100 Vacuum -- Ice2 Saphr 2/16
|
||||
Magic 80 Debuff -- Blizzard2 Emrld 1/16
|
||||
Speed 90
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*M-Pison Exp: 2203 Gold: 1000 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 2400 Thunder 40 Heal3 (None)
|
||||
MaxMP 120 Fire 40 Petrify
|
||||
Power 220 Ice 40 Defense1
|
||||
Guard 260 Vacuum -- Defense2
|
||||
Magic 150 Debuff -- MPCatcher
|
||||
Speed 100 Vacuum1
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Manrot Exp: 132 Gold: 60 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 78 Thunder 30 Heal1 Opal 1/8
|
||||
MaxMP 40 Fire 30 Ice1
|
||||
Power 50 Ice 30 Petrify
|
||||
Guard 55 Vacuum 50
|
||||
Magic 28 Debuff 10
|
||||
Speed 30
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Manta Exp: 242 Gold: 110 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 88 Thunder 30 Agility Opal 1/8
|
||||
MaxMP 50 Fire 30
|
||||
Power 55 Ice 30
|
||||
Guard 90 Vacuum 30
|
||||
Magic 50 Debuff 30
|
||||
Speed 67
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Monmo Exp: 4406 Gold: 2000 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 750 Thunder 99 Heal2 (None)
|
||||
MaxMP 220 Fire 50 MPCatcher
|
||||
Power 160 Ice 99 HPCatcher
|
||||
Guard 1600 Vacuum -- Petrify
|
||||
Magic 122 Debuff --
|
||||
Speed 120
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Mutant Exp: 506 Gold: 230 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 300 Thunder 40 Heal2 (None)
|
||||
MaxMP 130 Fire 40 Blizzard1
|
||||
Power 120 Ice 40 Revive1
|
||||
Guard 127 Vacuum 70 Ice1
|
||||
Magic 100 Debuff 90 Petrify
|
||||
Speed 70
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*N.Brain Exp: 991 Gold: 450 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 450 Thunder 70 Heal2 (None)
|
||||
MaxMP 220 Fire 70 Revive1
|
||||
Power 140 Ice 70 HPCatcher
|
||||
Guard 210 Vacuum 80 Petrify
|
||||
Magic 112 Debuff 70
|
||||
Speed 90
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Orc Exp: 136 Gold: 62 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 80 Thunder 20 (None) Opal 1/8
|
||||
MaxMP 0 Fire 20
|
||||
Power 44 Ice 20
|
||||
Guard 60 Vacuum 20
|
||||
Magic 37 Debuff 10
|
||||
Speed 55
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*P.Moon Exp: 462 Gold: 210 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 440 Thunder 30 Poison (None)
|
||||
MaxMP 80 Fire 30 MPCatcher
|
||||
Power 120 Ice 30 Petrify
|
||||
Guard 110 Vacuum 30
|
||||
Magic 100 Debuff 30
|
||||
Speed 120
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Pison Exp: 264 Gold: 120 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 250 Thunder 30 Heal2 (None)
|
||||
MaxMP 15 Fire 30
|
||||
Power 40 Ice 30
|
||||
Guard 50 Vacuum --
|
||||
Magic 14 Debuff --
|
||||
Speed 30
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Plater Exp: 440 Gold: 200 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 210 Thunder 10 (None) (None)
|
||||
MaxMP 0 Fire 10
|
||||
Power 115 Ice 10
|
||||
Guard 190 Vacuum 10
|
||||
Magic 71 Debuff 10
|
||||
Speed 70
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*R.Demon Exp: 462 Gold: 210 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 120 Thunder 30 Heal2 (None)
|
||||
MaxMP 70 Fire 60 Defense1
|
||||
Power 100 Ice 0 Fire2
|
||||
Guard 150 Vacuum 50 Firebird
|
||||
Magic 60 Debuff 40 Blizzard2
|
||||
Speed 74
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*R-Pison Exp: 2203 Gold: 1000 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 280 Thunder 30 Heal2 (None)
|
||||
MaxMP 30 Fire 30 Blizzard2
|
||||
Power 120 Ice 30
|
||||
Guard 100 Vacuum --
|
||||
Magic 61 Debuff --
|
||||
Speed 55
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*R.Trick Exp: 440 Gold: 200 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 110 Thunder 40 Poison Pearl 1/16
|
||||
MaxMP 80 Fire 40 Vacuum1 Topaz 9/16
|
||||
Power 100 Ice 40 Firebird Ruby 3/16
|
||||
Guard 100 Vacuum 60 HPCatcher Saphr 2/16
|
||||
Magic 80 Debuff 40 Emrld 1/16
|
||||
Speed 70
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Reaper Exp: 881 Gold: 400 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 700 Thunder 30 MPCatcher Opal 1/8
|
||||
MaxMP 200 Fire 30 Vacuum1
|
||||
Power 150 Ice 30 Fireball
|
||||
Guard 380 Vacuum --
|
||||
Magic 160 Debuff --
|
||||
Speed 140
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Romus Exp: 528 Gold: 240 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 300 Thunder 40 HPCatcher (None)
|
||||
MaxMP 110 Fire 40
|
||||
Power 30 Ice 40
|
||||
Guard 40 Vacuum --
|
||||
Magic 12 Debuff --
|
||||
Speed 20
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*S.Brain Exp: 1762 Gold: 800 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 400 Thunder 40 Heal2 (None)
|
||||
MaxMP 100 Fire 40 MPCatcher
|
||||
Power 130 Ice 40 HPCatcher
|
||||
Guard 150 Vacuum 70 Vacuum1
|
||||
Magic 80 Debuff 40
|
||||
Speed 60
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*S.Demon Exp: 1321 Gold: 600 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 320 Thunder 40 Heal3 (None)
|
||||
MaxMP 210 Fire 40 Revive1
|
||||
Power 210 Ice 40 Fire2
|
||||
Guard 480 Vacuum 80 Defense2
|
||||
Magic 180 Debuff 40
|
||||
Speed 180
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*S.Witch Exp: 330 Gold: 150 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 160 Thunder 30 Petrify Opal 1/8
|
||||
MaxMP 90 Fire 30 Defense1
|
||||
Power 75 Ice 30 Defense2
|
||||
Guard 140 Vacuum 30 MPCatcher
|
||||
Magic 50 Debuff 99
|
||||
Speed 60
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Sage Exp: 330 Gold: 150 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 110 Thunder 50 Heal2 Opal 1/8
|
||||
MaxMP 100 Fire 50 MPCatcher
|
||||
Power 90 Ice 50 Revive2
|
||||
Guard 110 Vacuum 80 Defense2
|
||||
Magic 110 Debuff 50 Firebird
|
||||
Speed 80
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Serpant Exp: 1211 Gold: 550 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 240 Thunder 40 Heal2 (None)
|
||||
MaxMP 170 Fire 40 Petrify
|
||||
Power 160 Ice 40 MPCatcher
|
||||
Guard 300 Vacuum 40 Blizzard2
|
||||
Magic 200 Debuff 40
|
||||
Speed 180
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Serpent Exp: 3084 Gold: 1400 Class: 1 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 2000 Thunder 50 Ice1 (None)
|
||||
MaxMP 220 Fire 50 Blizzard1
|
||||
Power 110 Ice 50 Petrify
|
||||
Guard 220 Vacuum -- MPCatcher
|
||||
Magic 90 Debuff -- Defense2
|
||||
Speed 100 HPCatcher
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Serpint Exp: 1476 Gold: 670 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 320 Thunder 60 MPCatcher (None)
|
||||
MaxMP 150 Fire 60 Petrify
|
||||
Power 180 Ice 60 Revive1
|
||||
Guard 500 Vacuum 90
|
||||
Magic 160 Debuff 60
|
||||
Speed 170
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Soidiek Exp: 550 Gold: 250 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 250 Thunder 20 (None) Opal 1/8
|
||||
MaxMP 0 Fire 20
|
||||
Power 110 Ice 20
|
||||
Guard 160 Vacuum 20
|
||||
Magic 57 Debuff 20
|
||||
Speed 71
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Spidek Exp: 242 Gold: 110 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 85 Thunder 20 Poison (None)
|
||||
MaxMP 50 Fire 20 Defense2
|
||||
Power 70 Ice 20
|
||||
Guard 84 Vacuum 20
|
||||
Magic 70 Debuff 20
|
||||
Speed 90
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Spirit Exp: 1255 Gold: 570 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 280 Thunder 30 Heal2 Opal 1/8
|
||||
MaxMP 120 Fire 30 Thunder1
|
||||
Power 210 Ice 30 Thunder2
|
||||
Guard 350 Vacuum 30 Agility
|
||||
Magic 140 Debuff 30
|
||||
Speed 160
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Statue Exp: 30 Gold: 14 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 50 Thunder 10 (None) (None)
|
||||
MaxMP 0 Fire 10
|
||||
Power 7 Ice 10
|
||||
Guard 10 Vacuum 10
|
||||
Magic 2 Debuff 10
|
||||
Speed 7
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Sword Exp: 1101 Gold: 500 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 9 Thunder 99 Defense2 TranqSW 1/16
|
||||
MaxMP 200 Fire 99 Vacuum1 PsyteSW 1/16
|
||||
Power 200 Ice 99 Petrify AnimSW 1/16
|
||||
Guard 1800 Vacuum 99 MPCatcher KrynSW 1/16
|
||||
Magic 150 Debuff 99 Saber 1/16
|
||||
Speed 100 SwordSW 1/8
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Titan Exp: 264 Gold: 120 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 210 Thunder 20 (None) Opal 1/8
|
||||
MaxMP 0 Fire 20
|
||||
Power 65 Ice 20
|
||||
Guard 100 Vacuum 20
|
||||
Magic 55 Debuff 20
|
||||
Speed 50
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Trick Exp: 220 Gold: 100 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 80 Thunder 50 Heal1 Pearl 1/16
|
||||
MaxMP 50 Fire 50 Poison Topaz 9/16
|
||||
Power 100 Ice 50 Petrify Ruby 3/16
|
||||
Guard 60 Vacuum 50 Agility Saphr 2/16
|
||||
Magic 20 Debuff 50 HPCatcher Emrld 1/16
|
||||
Speed 35
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Undead Exp: 88 Gold: 40 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 80 Thunder 20 Heal1 Opal 1/8
|
||||
MaxMP 40 Fire 20 Revive1
|
||||
Power 30 Ice 20
|
||||
Guard 32 Vacuum 70
|
||||
Magic 12 Debuff 20
|
||||
Speed 28
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Unded Exp: 1101 Gold: 500 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 550 Thunder 40 Heal2 (None)
|
||||
MaxMP 100 Fire 40 Revive1
|
||||
Power 160 Ice 40 HPCatcher
|
||||
Guard 220 Vacuum 90 Vacuum1
|
||||
Magic 120 Debuff 60
|
||||
Speed 140
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Undeed Exp: 1321 Gold: 600 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 320 Thunder 40 Heal3 Rcvry 1/8
|
||||
MaxMP 100 Fire 40 Revive1
|
||||
Power 240 Ice 40 MPCatcher
|
||||
Guard 420 Vacuum 70
|
||||
Magic 170 Debuff 40
|
||||
Speed 160
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*V.Night Exp: 705 Gold: 320 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 350 Thunder 50 Heal3 (None)
|
||||
MaxMP 120 Fire 50 Fire2
|
||||
Power 150 Ice 50 Defense1
|
||||
Guard 300 Vacuum 90 Fireball
|
||||
Magic 120 Debuff 50
|
||||
Speed 110
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Wyrock Exp: 550 Gold: 250 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 170 Thunder 30 Heal2 Opal 1/8
|
||||
MaxMP 210 Fire 20 Ice2
|
||||
Power 110 Ice 50 Blizzard1
|
||||
Guard 150 Vacuum 60 Petrify
|
||||
Magic 110 Debuff 40 Revive1
|
||||
Speed 80
|
||||
|
||||
|
||||
|
||||
************************************************************
|
||||
*Wyvern Exp: 33 Gold: 15 Class: 0 *
|
||||
************************************************************
|
||||
Stats Resists Spells Drops
|
||||
------------ ------------ ------------ ------------
|
||||
MaxHP 21 Thunder 0 (None) Potn1 3/16
|
||||
MaxMP 0 Fire 0
|
||||
Power 7 Ice 0
|
||||
Guard 1 Vacuum 0
|
||||
Magic 3 Debuff 0
|
||||
Speed 26
|
3153
docs/guide.txt
Normal file
3153
docs/guide.txt
Normal file
File diff suppressed because it is too large
Load Diff
32
enemies.js
Normal file
32
enemies.js
Normal file
@ -0,0 +1,32 @@
|
||||
exports.enemies = [
|
||||
{
|
||||
name: 'Android',
|
||||
exp: 88,
|
||||
gold: 40,
|
||||
cls: 0,
|
||||
stats: {
|
||||
hp: 80,
|
||||
mp: 50,
|
||||
power: 40,
|
||||
guard: 45,
|
||||
magic: 15,
|
||||
speed: 45,
|
||||
},
|
||||
resistance: {
|
||||
thunder: 30,
|
||||
fire: 30,
|
||||
ice: 30,
|
||||
vacuum: 30,
|
||||
debuff: 0,
|
||||
},
|
||||
spells: [ 'Heal1', 'HPCatcher' ],
|
||||
drops: {
|
||||
opal: 1 / 8,
|
||||
}
|
||||
},
|
||||
];
|
||||
|
||||
exports.enemyMap = exports.enemies.reduce((map, enemy) => {
|
||||
map[enemy.name] = enemy;
|
||||
return map;
|
||||
}, {});
|
1750
enemies.json
Normal file
1750
enemies.json
Normal file
File diff suppressed because it is too large
Load Diff
82
exp.js
Normal file
82
exp.js
Normal file
@ -0,0 +1,82 @@
|
||||
exports.exp = [
|
||||
0,
|
||||
140,
|
||||
196,
|
||||
274,
|
||||
385,
|
||||
499,
|
||||
649,
|
||||
844,
|
||||
1097,
|
||||
1427,
|
||||
1711,
|
||||
2054,
|
||||
2465,
|
||||
2958,
|
||||
3549,
|
||||
4082,
|
||||
4694,
|
||||
5397,
|
||||
6208,
|
||||
7139,
|
||||
7781,
|
||||
8482,
|
||||
9245,
|
||||
10077,
|
||||
10984,
|
||||
11533,
|
||||
12109,
|
||||
12716,
|
||||
13351,
|
||||
14018,
|
||||
14299,
|
||||
14585,
|
||||
14877,
|
||||
15174,
|
||||
15477,
|
||||
15633,
|
||||
15789,
|
||||
15946,
|
||||
16106,
|
||||
16267,
|
||||
16398,
|
||||
16528,
|
||||
16661,
|
||||
16794,
|
||||
16928,
|
||||
17064,
|
||||
17200,
|
||||
17338,
|
||||
17476,
|
||||
17617,
|
||||
17740,
|
||||
17863,
|
||||
17989,
|
||||
18115,
|
||||
18242,
|
||||
18387,
|
||||
18535,
|
||||
18683,
|
||||
18832,
|
||||
18983,
|
||||
19401,
|
||||
19828,
|
||||
20263,
|
||||
20710,
|
||||
21165,
|
||||
22329,
|
||||
23557,
|
||||
24853,
|
||||
26220,
|
||||
27662,
|
||||
30097,
|
||||
32744,
|
||||
35626,
|
||||
38762,
|
||||
42172,
|
||||
46390,
|
||||
51028,
|
||||
56132,
|
||||
61744,
|
||||
67919,
|
||||
];
|
249
items.js
Normal file
249
items.js
Normal file
@ -0,0 +1,249 @@
|
||||
const lux = 'Lux';
|
||||
const wilme = 'Wilme';
|
||||
const kamil = 'Kamil';
|
||||
const olvan = 'Olvan';
|
||||
const esuna = 'Esuna';
|
||||
const lejes = 'Lejes';
|
||||
const valsu = 'Valsu';
|
||||
|
||||
const lemele = 'Lemele';
|
||||
const rablesk = 'Rablesk';
|
||||
const bonro = 'Bonro';
|
||||
const zellis = 'Zellis';
|
||||
const pell = 'Pell';
|
||||
const patrof = 'Patrof';
|
||||
const bone = 'Bone';
|
||||
const dowaine = 'Dowaine';
|
||||
const belaine = 'Belaine';
|
||||
const telaine = 'Telaine';
|
||||
const pang = 'Pang';
|
||||
const polasu = 'Polasu';
|
||||
const pandam = 'Pandam';
|
||||
const bilthem = 'Bilthem';
|
||||
const padal = 'Padal';
|
||||
const brush = 'Brush';
|
||||
const tiffana = 'Tiffana';
|
||||
const valenca = 'Valenca';
|
||||
const pharano = 'Pharano';
|
||||
const bugask = 'Bugask';
|
||||
const guanta = 'Guanta';
|
||||
const pasanda = 'Pasanda';
|
||||
const melenam = 'Melenam';
|
||||
const ligena = 'Ligena';
|
||||
const airship = 'Airship';
|
||||
const palsu = 'Palsu';
|
||||
|
||||
const initial = char => `Initial (${char})`;
|
||||
|
||||
const weapon = (name, attack, cost, users, locations) => {
|
||||
return {
|
||||
name,
|
||||
attack,
|
||||
cost,
|
||||
users,
|
||||
locations,
|
||||
};
|
||||
};
|
||||
|
||||
exports.weapons = [
|
||||
weapon('Claw', 2, 0, [ wilme ], [ initial(wilme) ]),
|
||||
|
||||
weapon('ZnteFT', 2, 1000, [ lux ], [initial(lux) ]),
|
||||
weapon('KrynFT', 20, 22000, [ lux ], [ melenam, airship ]),
|
||||
|
||||
weapon('FireAX', 2, 70, [ olvan, kamil ], [ lemele, bonro, initial(olvan) ]),
|
||||
weapon('PsyteAX', 6, 300, [olvan, kamil ], [ rablesk, bonro ]),
|
||||
weapon('AnimAX', 19, 2500, [ olvan, kamil ], [ zellis, pell ]),
|
||||
weapon('AngerAX', 23, 4000, [ olvan, kamil ], [ pell, patrof, bone, dowaine, pang ]),
|
||||
weapon('PowerAX', 31, 8100, [ olvan ], [ bone, dowaine, belaine, telaine, polasu ]),
|
||||
weapon('DespAX', 40, 16000, [ olvan ], [ belaine, telaine, padal, bilthem, pandam, brush ]),
|
||||
weapon('KrynAX', 50, 22200, [ olvan ], [ pang, padal, tiffana, bilthem, pandam, brush, valenca, pharano ]),
|
||||
weapon('FearAX', 58, 28000, [ olvan ], [ pang, bugask, guanta ]),
|
||||
weapon('MystAX', 72, 35000, [ olvan ], [ valenca, pharano, pasanda, melenam ]),
|
||||
weapon('HopeAX', 80, 43000, [ olvan ], [ pasanda, ligena, palsu, melenam ]),
|
||||
weapon('ImmoAX', 120, 56000, [ olvan ], [ palsu, airship ]),
|
||||
|
||||
weapon('TranqSW', 2, 50, [ olvan, kamil, lejes ], [ initial(kamil), initial(lejes) ]),
|
||||
weapon('ZnteSW', 2, 100, [ olvan, kamil, lejes ], [ 'Buy in Belaine for 4000G' ]),
|
||||
weapon('PsyteSW', 4, 150, [olvan, kamil, lejes ], [ lemele, rablesk ]),
|
||||
weapon('AnimSW', 7, 350, [olvan, kamil, lejes ], [ lemele, rablesk, bonro ]),
|
||||
weapon('KrynSW', 12, 800, [olvan, kamil, lejes ], [ bonro ]),
|
||||
weapon('AngerSW', 16, 1700, [olvan, kamil, lejes ], [ zellis, pell ]),
|
||||
weapon('TidalSW', 18, 1000, [olvan, kamil, lejes ], [ 'Buy in Belaine for 1000G' ]),
|
||||
weapon('NatrSW', 21, 2600, [olvan, kamil, lejes ], [ zellis, pell, patrof ]),
|
||||
weapon('BrillSW', 25, 4500, [ kamil, lejes ], [ patrof, bone, dowaine ]),
|
||||
weapon('SwordSW', 25, 2000, [ wilme, olvan, kamil, lejes, valsu, esuna ], [ 'Dropped by Sword' ]),
|
||||
weapon('MuraSW', 26, 5020, [ kamil, lejes ], [ 'Buy in Belaine for 5000G' ]),
|
||||
weapon('CourSW', 28, 5300, [ kamil, lejes ], [ bone, dowaine, telaine, pang ]),
|
||||
weapon('DespSW', 33, 8200, [ kamil, lejes ], [ belaine, telaine, polasu, tiffana, pandam, brush, valenca ]),
|
||||
weapon('FearSW', 38, 11500, [ kamil, lejes ], [ belaine, padal, polasu, tiffana, pandam, brush, valenca, bugask, guanta ]),
|
||||
weapon('FortSW', 38, 25000, [ valsu, esuna ], [ 'Gorfun Castle (present)' ]),
|
||||
weapon('FireSW', 45, 15200, [ kamil ], [ padal, bilthem, bugask, guanta ]),
|
||||
weapon('InsaSW', 53, 20000, [ kamil ], [ bilthem ]),
|
||||
weapon('AnscSW', 67, 28500, [ olvan, kamil, lejes ], [ guanta, pharano, pasanda, ligena, melenam ]),
|
||||
weapon('DoomSW', 90, 37000, [ olvan, kamil, lejes ], [ pharano, pasanda, ligena, palsu, melenam, airship ]),
|
||||
weapon('VictSW', 100, 48000, [ kamil ], [ palsu, airship ]),
|
||||
|
||||
weapon('LightKN', 5, 400, [ valsu, esuna ], [ lemele, rablesk ]),
|
||||
weapon('Saber', 11, 1700, [ valsu, esuna ], [ zellis, pell, polasu ]),
|
||||
weapon('FireKN', 26, 15200, [ valsu, esuna ], [ polasu ]),
|
||||
|
||||
weapon('LightST', 1, 30, [ olvan, kamil, lejes, valsu, esuna ], [ initial(valsu), initial(esuna) ]),
|
||||
weapon('PetrST', 3, 180, [ olvan, kamil, lejes, valsu, esuna ], [ lemele, rablesk, bonro ]),
|
||||
weapon('TideRD', 8, 1000, [ olvan, kamil, lejes, valsu, esuna ], [ zellis, patrof ]),
|
||||
weapon('ConfRD', 14, 2500, [ olvan, kamil, lejes, valsu, esuna ], [ patrof, bone, dowaine, belaine, telaine, pandam, valenca ]),
|
||||
weapon('BrillRD', 17, 4000, [ olvan, kamil, lejes, valsu, esuna ], [ telaine, pang, padal, tiffana, bilthem, brush ]),
|
||||
weapon('DespRD', 20, 5800, [ olvan, kamil, lejes, valsu, esuna ], [ tiffana, bugask, guanta ]),
|
||||
weapon('NatrRD', 30, 20000, [ olvan, kamil, lejes, valsu, esuna ], [ bugask, pharano ]),
|
||||
weapon('FearRD', 50, 32000, [ olvan, kamil, valsu, esuna ], [ pasanda, ligena ]),
|
||||
weapon('MystRD', 75, 40000, [ olvan, kamil, valsu, esuna ], [ ligena ]),
|
||||
weapon('ImmoRD', 85, 55000, [ lejes, valsu, esuna ], [ palsu, airship ]),
|
||||
];
|
||||
|
||||
const armor = (name, defense, cost, users, locations, resistance) => {
|
||||
resistance = resistance || [ 0, 0, 0, 0, 0 ];
|
||||
return {
|
||||
name,
|
||||
defense,
|
||||
cost,
|
||||
users,
|
||||
locations,
|
||||
resistance: {
|
||||
thunder: resistance[0],
|
||||
fire: resistance[1],
|
||||
ice: resistance[2],
|
||||
vacuum: resistance[3],
|
||||
debuff: resistance[4],
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
exports.armor = [
|
||||
armor('Xtri', 2, 0, [ wilme ], [ initial(wilme) ]),
|
||||
|
||||
armor('Coat', 8, 2000, [ lux ], [ initial(lux) ]),
|
||||
armor('Brwn', 12, 3000, [ lux ], [ 'Find in Melenam (present)' ]),
|
||||
armor('Blck', 30, 36000, [ lux ], [ melenam, airship ], [ 10, 10, 10, 10, 10 ]),
|
||||
|
||||
armor('XtriAR', 1, 80, [ olvan, kamil ], [ initial(olvan), initial(kamil) ]),
|
||||
armor('PsyteAR', 5, 700, [ olvan, kamil ], [ lemele, rablesk, bonro, zellis, pell, dowaine ]),
|
||||
armor('AnimAR', 8, 1600, [ olvan, kamil ], [ zellis, pell, patrof, bone, dowaine ]),
|
||||
armor('RoylAR', 14, 2400, [ olvan, kamil ], [ patrof, bone, belaine, telaine, pang, padal, pandam, valenca ]),
|
||||
armor('CourAR', 18, 5000, [ olvan, kamil ], [ belaine, telaine, pang, padal, polasu, tiffana, pandam, valenca ]),
|
||||
armor('BravAR', 24, 8800, [ olvan, kamil ], [ polasu, tiffana, brush ]),
|
||||
armor('MystcAR', 32, 12000, [ olvan, kamil ], [ bilthem, brush, bugask, guanta ]),
|
||||
armor('FortAR', 42, 14200, [ olvan, kamil ], [ bilthem, bugask, guanta, pharano, pasanda ]),
|
||||
armor('ScaleML', 50, 18000, [ olvan, kamil ], [ pharano, pasanda, ligena, palsu ]),
|
||||
armor('ChainML', 72, 23000, [ olvan, kamil ], [ ligena, palsu ]),
|
||||
armor('KrynML', 88, 33000, [ olvan, kamil ], [ melenam, airship ]),
|
||||
|
||||
armor('LghtRB', 1, 60, [ olvan, kamil, lejes, valsu, esuna ], [ initial(lejes), initial(valsu), initial(esuna) ]),
|
||||
armor('CttnRB', 2, 440, [ lejes, valsu, esuna ], [ lemele, rablesk ], [ 0, 0, 0, 20, 20 ]),
|
||||
armor('SilkRB', 4, 800, [ lejes, valsu, esuna ], [ bonro, zellis, pell ], [ 0, 0, 0, 20, 20 ]),
|
||||
armor('XtreRB', 6, 1600, [ olvan, kamil, lejes, valsu, esuna ], [ zellis ]),
|
||||
armor('SeasRB', 8, 3700, [ lejes, valsu, esuna ], [ pell, patrof, dowaine, belaine, pang ], [ 0, 0, 0, 20, 20 ]),
|
||||
armor('HopeRB', 12, 5600, [ lejes, valsu, esuna ], [ bone, dowaine, belaine, telaine, pang, padal, polasu, tiffana, bilthem, brush ], [ 0, 0, 0, 20, 20 ]),
|
||||
armor('AngerRB', 16, 9000, [ lejes, valsu, esuna ], [ telaine, padal, polasu, tiffana, bilthem, pandam, brush ], [ 0, 0, 0, 20, 20 ]),
|
||||
armor('VictRB', 21, 14000, [ lejes, valsu, esuna ], [ pandam, valenca, bugask, guanta ], [ 0, 0, 0, 20, 20 ]),
|
||||
armor('DespRB', 26, 20000, [ lejes, valsu, esuna ], [ valenca, bugask, guanta, pharano ], [ 10, 10, 10, 20, 20 ]),
|
||||
armor('ConfRB', 30, 32000, [ lejes, valsu, esuna ], [ pharano, pasanda, ligena, melenam ], [ 10, 10, 10, 20, 20 ]),
|
||||
armor('MystcRB', 36, 48000, [ lejes, valsu, esuna ], [ pasanda, ligena, palsu, melenam, airship ], [ 10, 10, 10, 30, 30 ]),
|
||||
armor('ImmoRB', 42, 56000, [ lejes, valsu, esuna ], [ palsu, airship ], [ 20, 20, 20, 30, 30 ]),
|
||||
|
||||
armor('FireCL', 20, 10000, [ olvan, kamil, lejes, valsu, esuna ], [ 'Find in Dowaine' ], [ 0, 40, 0, 0, 0 ]),
|
||||
armor('IceCL', 20, 10000, [ olvan, kamil, lejes, valsu, esuna ], [ 'Find in Baran Castle' ], [ 0, 0, 40, 0, 0 ]),
|
||||
];
|
||||
|
||||
const accessory = (name, defense, cost, users, locations, resistance) => {
|
||||
resistance = resistance || [ 30, 30, 30, 30, 30 ];
|
||||
return {
|
||||
name,
|
||||
defense,
|
||||
cost,
|
||||
users,
|
||||
locations,
|
||||
resistance: {
|
||||
thunder: resistance[0],
|
||||
fire: resistance[1],
|
||||
ice: resistance[2],
|
||||
vacuum: resistance[3],
|
||||
debuff: resistance[4],
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
exports.accessories = [
|
||||
accessory('Horn', 0, 0, [ wilme ], [ initial(wilme) ]),
|
||||
accessory('Pod', 2, 2, [ lux ], [ initial(lux) ]),
|
||||
|
||||
accessory('XtriSH', 1, 70, [ olvan, kamil ], [ rablesk, bonro, zellis, tiffana ]),
|
||||
accessory('KrynSH', 8, 500, [ olvan, kamil ], [ zellis, pell, patrof, bone ]),
|
||||
accessory('CourSH', 14, 3000, [ olvan, kamil ], [ patrof, bone, dowaine, pang ]),
|
||||
accessory('BrillSH', 18, 6800, [ olvan, kamil ], [ belaine, telaine ]),
|
||||
accessory('JustSH', 24, 8600, [ olvan, kamil ], [ pandam ]),
|
||||
accessory('SoundSH', 28, 10200, [ olvan, kamil ], [ polasu, bilthem ]),
|
||||
accessory('MystSH', 32, 16200, [ olvan, kamil ], [ brush ]),
|
||||
accessory('AngerSH', 36, 23000, [ olvan, kamil ], [ padal, pasanda ]),
|
||||
accessory('IllusSH', 38, 24000, [ olvan, kamil ], [ 'Find in Grime tower' ]),
|
||||
accessory('MystcSH', 40, 31000, [ olvan, kamil ], [ valenca, bugask, guanta, pharano, pasanda ]),
|
||||
accessory('FrtnSH', 50, 42000, [ olvan, kamil ], [ ligena, palsu, melenam ]),
|
||||
accessory('ImmoSH', 56, 51000, [ olvan, kamil ], [ melenam, airship ]),
|
||||
|
||||
accessory('XtriHM', 0, 40, [ olvan, kamil, lejes, valsu, esuna ], [ initial(olvan), initial(kamil), initial(lejes), initial(valsu), initial(esuna) ], [ 30, 30, 30, 40, 40 ]),
|
||||
accessory('Scarf', 10, 1200, [ lejes, valsu, esuna ], [ bonro ], [ 30, 30, 30, 40, 40 ]),
|
||||
accessory('MaskMK', 20, 9500, [ lejes, valsu, esuna ], [ pang ], [ 30, 30, 30, 40, 40 ]),
|
||||
accessory('KrynMK', 40, 20000, [ valsu, esuna ], [ bugask ], [ 30, 30, 30, 40, 40 ]),
|
||||
accessory('BrillCR', 60, 45000, [ valsu, esuna ], [ palsu, airship ], [ 30, 30, 30, 40, 60 ]),
|
||||
|
||||
accessory('Ring', 20, 12000, [ olvan, kamil, lejes, valsu, esuna ], [ 'Find in Pandam Inn' ], [ 30, 30, 30, 95, 30 ]),
|
||||
accessory('Amulet', 30, 10000, [ olvan, kamil, lejes, valsu, esuna ], [ 'Find in Bilthem' ], [ 30, 30, 30, 30, 95 ]),
|
||||
];
|
||||
|
||||
const item = (name, cost, effect, locations) => {
|
||||
return {
|
||||
name,
|
||||
cost,
|
||||
effect,
|
||||
locations,
|
||||
};
|
||||
};
|
||||
|
||||
exports.items = [
|
||||
item('Potn1', 20, 'Heal1', [ lemele, rablesk, bonro, zellis, pell, bone, dowaine, belaine, telaine, pang, padal, polasu, tiffana, bilthem, valenca, bugask, guanta ]),
|
||||
item('Potn2', 100, 'Heal2', [ lemele, rablesk, bonro, zellis, pell, patrof, bone, dowaine, belaine, telaine, pang, padal, polasu, tiffana, bilthem, pandam, brush, valenca, bugask, guanta, pharano, pasanda, ligena, palsu, melenam ]),
|
||||
item('Potn3', 400, 'Heal3', [ bilthem, brush, valenca, bugask, guanta, pharano, pasanda, ligena, palsu, melenam, airship ]),
|
||||
item('Recvry', 1000, 'Elixir', []),
|
||||
item('MHerb1', 80, 'Restores 20 MP', [ lemele, rablesk, bonro, pell, bone, belaine, polasu ]),
|
||||
item('MHerb2', 200, 'Restores 40 MP', [ valenca, pharano, ligena, palsu, melenam, airship ]),
|
||||
item('M Water', 1200, 'Revive2', [ zellis, patrof, bone, dowaine, belaine, telaine, pang, padal, polasu, tiffana, bilthem, pandam, brush, valenca, bugask, guanta, pharano, pasanda, ligena, palsu, melenam, airship ]),
|
||||
item('Antid', 80, 'Purify', [ lemele, rablesk, bonro, zellis, pell, patrof, dowaine, padal, tiffana, valenca, bugask, pasanda, ligena, palsu, melenam ]),
|
||||
item('B Power', 100, 'Power', [ lemele, pell, patrof, pang, pharano, airship ]),
|
||||
item('B Prtct', 100, 'Defense1', [ rablesk, pell, pang, padal ]),
|
||||
item('S Dstry', 100, 'Defense2', [ polasu ]),
|
||||
item('B Aglty', 100, 'Agility', [ pang, padal, pasanda, palsu, airship ]),
|
||||
item('Mirror', 200, 'Reflect Petrify', [ zellis, pang, pandam, guanta, ligena, palsu, airship ]),
|
||||
item('Harp', 500, 'Prevents Vacuum1/2', [ polasu, bilthem, ligena, airship ]),
|
||||
item('B Fire', 20, 'Fire1', [ bone, guanta ]),
|
||||
item('B Ice', 20, 'Ice1', [ dowaine, belaine, bugask ]),
|
||||
item('B Fossl', 100, 'Petrify', [ bonro, pang, bugask ]),
|
||||
item('Msquito', 150, 'HPCatcher', [ polasu, pasanda ]),
|
||||
item('M Siphn', 200, 'MPCatcher', [ telaine, polasu ]),
|
||||
item('Vacuum', 200, 'Vacuum1', [ pang, tiffana ]),
|
||||
item('Exigate', 40, 'Exit', [ bonro, patrof ]),
|
||||
item('Winball', 80, 'Wind Rune', [ pell, bone, dowaine, belaine, telaine, polasu, pandam, brush, valenca, bugask, guanta ]),
|
||||
|
||||
item('Opal', 100, 'Gem', [ lemele, rablesk, zellis, bone, dowaine, padal, tiffana, pandam, brush ]),
|
||||
item('Pearl', 200, 'Gem', [ lemele, rablesk, bonro, pell, patrof, dowaine, belaine, telaine, padal, bilthem, pandam, brush, valenca, bugask, guanta, pharano, pasanda, ligena, palsu, melenam ]),
|
||||
item('Topaz', 500, 'Gem', [ lemele, rablesk, bonro, zellis, pell, patrof, bone, telaine, tiffana, pandam, brush, pharano, melenam ]),
|
||||
item('Ruby', 1000, 'Gem', [ bonro, zellis, patrof, bone, dowaine, belaine, padal, tiffana, bilthem, brush, valenca, guanta, pharano, pasanda, ligena]),
|
||||
item('Saphr', 2500, 'Gem', [ zellis, patrof, belaine, tiffana, bilthem, pandam, pharano, pasanda, palsu, melenam ]),
|
||||
item('Emrld', 5000, 'Gem', [ telaine, bilthem, brush, airship ]),
|
||||
item('Dmnd', 10000, 'Gem', [ telaine, pandam, melenam, airship ]),
|
||||
|
||||
item('V Seed', 1000, 'Permanently increase MaxHP by 1-4 points', []),
|
||||
item('M Seed', 1000, 'Permanently increase MaxMP by 1-4 points', []),
|
||||
item('P Seed', 1000, 'Permanently increase Power by 1-4 points', []),
|
||||
item('Pr Seed', 1000, 'Permanently increase Guard by 1-4 points', []),
|
||||
item('I Seed', 1000, 'Permanently increase Magic by 1-4 points', []),
|
||||
item('A Seed', 1000, 'Permanently increase Speed by 1-4 points', []),
|
||||
];
|
102
parse-enemies.js
Normal file
102
parse-enemies.js
Normal file
@ -0,0 +1,102 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const {spells} = require('./spells');
|
||||
|
||||
const spellMap = spells.reduce((map, spell) => {
|
||||
map[spell.name] = spell;
|
||||
return map;
|
||||
}, {});
|
||||
|
||||
const contents = fs.readFileSync(path.join(__dirname, 'docs', 'enemies.txt'), {
|
||||
encoding: 'utf8',
|
||||
});
|
||||
|
||||
const pieces = contents.split('*'.repeat(60));
|
||||
|
||||
const regexExecOrDie = (regex, piece) => {
|
||||
const match = regex.exec(piece);
|
||||
if (!match) {
|
||||
throw new Error(`piece did not match regex ${regex.toString()} (${piece})`);
|
||||
}
|
||||
|
||||
return match[1];
|
||||
}
|
||||
|
||||
const enemies = [];
|
||||
let currentEnemy;
|
||||
for (let i = 0; i < pieces.length; i++) {
|
||||
const piece = pieces[i].trim();
|
||||
const match = /^\*(.+?)\s+Exp:\s*(\d+)\s*Gold:\s*(\d+)\s*Class:\s*(\d)/.exec(piece);
|
||||
if (match) {
|
||||
console.log('found enemy: ' + match[1]);
|
||||
currentEnemy = {
|
||||
name: match[1],
|
||||
exp: Number(match[2]),
|
||||
gold: Number(match[3]),
|
||||
cls: Number(match[4]),
|
||||
resistance: {},
|
||||
spells: [],
|
||||
drops: {},
|
||||
};
|
||||
enemies.push(currentEnemy);
|
||||
} else if (/^Stats/.test(piece)) {
|
||||
if (!currentEnemy) {
|
||||
throw new Error('parsing error: no currentEnemy for stats');
|
||||
}
|
||||
|
||||
const normalized = piece
|
||||
.replace(/^Stats.*/m, '')
|
||||
.replace(/^-+[-\s]+$/m, '')
|
||||
.replace(/\s+/g, ' ')
|
||||
.split(' ')
|
||||
.filter(Boolean);
|
||||
|
||||
for (let j = 0; j < normalized.length; j++) {
|
||||
const item = normalized[j];
|
||||
switch (item) {
|
||||
case 'MaxHP':
|
||||
currentEnemy.hp = Number(normalized[++j]);
|
||||
break;
|
||||
case 'MaxMP':
|
||||
currentEnemy.mp = Number(normalized[++j]);
|
||||
break;
|
||||
case 'Speed':
|
||||
case 'Guard':
|
||||
case 'Magic':
|
||||
case 'Power':
|
||||
currentEnemy[item.toLowerCase()] = Number(normalized[++j]);
|
||||
break;
|
||||
case 'Thunder':
|
||||
case 'Fire':
|
||||
case 'Ice':
|
||||
case 'Vacuum':
|
||||
case 'Debuff':
|
||||
currentEnemy.resistance[item.toLowerCase()] = isNaN(Number(normalized[++j])) ?
|
||||
null :
|
||||
Number(normalized[j]);
|
||||
break;
|
||||
default:
|
||||
if (spellMap[item]) {
|
||||
currentEnemy.spells.push(item);
|
||||
} else if (item !== '(None)') {
|
||||
try {
|
||||
const [numerator, denonimator] = normalized[++j].split('/');
|
||||
currentEnemy.drops[item] = Number(numerator) / Number(denonimator);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
console.log(normalized);
|
||||
console.log(item);
|
||||
console.log(require('util').inspect(currentEnemy, false, null, true));
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log('piece did not match: ' + piece);
|
||||
}
|
||||
}
|
||||
|
||||
fs.writeFileSync(path.join(__dirname, 'enemies.json'), JSON.stringify(enemies, null, ' '));
|
81
spells.js
Normal file
81
spells.js
Normal file
@ -0,0 +1,81 @@
|
||||
const attackSpell = (name, mp, power, element, multiple) => {
|
||||
return {
|
||||
type: 'Attack',
|
||||
name,
|
||||
mp,
|
||||
power,
|
||||
element,
|
||||
targets: multiple ? 'multi' : 'single',
|
||||
};
|
||||
};
|
||||
|
||||
const effectSpell = (name, mp, element, effect, multiple) => {
|
||||
return {
|
||||
type: 'Effect',
|
||||
name,
|
||||
mp,
|
||||
element,
|
||||
effect,
|
||||
targets: multiple ? 'multi' : 'single',
|
||||
};
|
||||
};
|
||||
|
||||
const healSpell = (name, mp, effect) => {
|
||||
return {
|
||||
type: 'Healing',
|
||||
name,
|
||||
mp,
|
||||
effect,
|
||||
targets: 'single',
|
||||
};
|
||||
};
|
||||
|
||||
const supportSpell = (name, mp, effect, locations) => {
|
||||
return {
|
||||
type: 'Support',
|
||||
name,
|
||||
mp,
|
||||
effect,
|
||||
locations,
|
||||
targets: 'single',
|
||||
};
|
||||
};
|
||||
|
||||
exports.spells = [
|
||||
attackSpell('Fire1', 3, 30, 'Fire'),
|
||||
attackSpell('Fire2', 12, 70, 'Fire'),
|
||||
attackSpell('Ice1', 3, 36, 'Ice'),
|
||||
attackSpell('Ice2', 12, 80, 'Ice'),
|
||||
attackSpell('Laser1', 3, 30, 'Thunder'),
|
||||
attackSpell('Laser2', 10, 50, 'Thunder'),
|
||||
attackSpell('Laser3', 20, 100, 'Thunder'),
|
||||
attackSpell('Firebird', 14, 30, 'Fire', true),
|
||||
attackSpell('Fireball', 32, 50, 'Fire', true),
|
||||
attackSpell('Blizzard1', 14, 34, 'Ice', true),
|
||||
attackSpell('Blizzard2', 32, 60, 'Ice', true),
|
||||
attackSpell('Thunder1', 10, 40, 'Thunder', true),
|
||||
attackSpell('Thunder2', 40, 75, 'Thunder', true),
|
||||
|
||||
effectSpell('Petrify', 10, 'Debuff', 'Petrification'),
|
||||
effectSpell('Poison', 0, 'Debuff', 'Poison (monsters only)'),
|
||||
effectSpell('Defense2', 5, 'Debuff', 'Halves guard'),
|
||||
effectSpell('HPCatcher', 6, 'Debuff', 'Drains up to 50 HP and heals caster'),
|
||||
effectSpell('MPCatcher', 8, 'Debuff', 'Drains up to 40 MP and heals caster'),
|
||||
effectSpell('Vacuum1', 30, 'Vacuum', 'Instant death'),
|
||||
effectSpell('Vacuum2', 60, 'Vacuum', 'Instant death', true),
|
||||
|
||||
healSpell('Heal1', 4, 'Restores 40 HP'),
|
||||
healSpell('Heal2', 18, 'Restores 90 HP'),
|
||||
healSpell('Heal3', 34, 'Restores all HP'),
|
||||
healSpell('Elixir', 120, 'Restores all HP and MP'),
|
||||
healSpell('Revive1', 40, 'Restores all HP to dead ally, fails ~50% of the time'),
|
||||
healSpell('Revive2', 90, 'Restores all HP to dead ally, always succeeds'),
|
||||
|
||||
supportSpell('Purify', 8, 'Removes petrification and poison', [ 'Battle', 'Map' ]),
|
||||
supportSpell('Defense1', 5, 'Halves physical damage from enemy', [ 'Battle' ]),
|
||||
supportSpell('Power', 6, 'Doubles power', [ 'Battle' ]),
|
||||
supportSpell('Agility', 3, 'Increases Speed by 30', [ 'Battle' ]),
|
||||
supportSpell('F.Shield', 16, 'Nullifies next attack spell', [ 'Battle' ]),
|
||||
supportSpell('Protect', 20, 'Nullifies next Vacuum spell', [ 'Battle' ]),
|
||||
supportSpell('Exit', 30, 'Escape cave/dungeon immediately', [ 'Map' ]),
|
||||
];
|
Loading…
Reference in New Issue
Block a user