programming-game
Version:
The client for programming game, an mmorpg that you interact with entirely through code.
179 lines (178 loc) • 6.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NPC_IDS = exports.IntentType = exports.StatusEffectMechanics = exports.UnitTypes = exports.minRangedAttackRange = exports.sightRange = exports.ROLES = exports.RACE = void 0;
var RACE;
(function (RACE) {
RACE["human"] = "human";
RACE["orc"] = "orc";
RACE["imp"] = "imp";
RACE["goblin"] = "goblin";
RACE["wolf"] = "wolf";
RACE["snake"] = "snake";
RACE["rat"] = "rat";
RACE["troll"] = "troll";
RACE["chicken"] = "chicken";
RACE["slime"] = "slime";
})(RACE || (exports.RACE = RACE = {}));
var ROLES;
(function (ROLES) {
ROLES["new_arrival"] = "new_arrival";
ROLES["healer"] = "healer";
ROLES["guard"] = "guard";
ROLES["mage"] = "mage";
ROLES["warrior"] = "warrior";
ROLES["ranger"] = "ranger";
ROLES["merchant"] = "merchant";
ROLES["scout"] = "scout";
})(ROLES || (exports.ROLES = ROLES = {}));
/**
* Spell Groups?
*
* Spells
*
* // books have 9 spells?
*
* Nature - Very low mana cost, uses calories as well?
* Stone Skin - buff, instant, defense
* Iron Skin - buff, instant, defense
* Aid Digestion - buff, channel, regen
* Remove Poison - debuff, poison
* Cure Disease - debuff, disease
* Entangling Roots - debuff, root
* Regrowth - heal, heal over time
* Rejuvenation - heal, heal over time
*
* === Healer ===
* Holy Shield - buff, defense
* Flash - debuff, blind
* Heal - heal, heal
* Greater Heal - heal, heal
* Resurrection - heal, cast time, resurrect
* Lay on Hands - heal, instant, full health, no cost
*
*
* Warlock/Summoner - consumes some health as well as mana
* Summon Imp - summon, cast time, imp
* Summon Voidwalker - summon, cast time, voidwalker
* Summon Succubus - summon, cast time, succubus
* Summon Felhunter - summon, cast time, felhunter
* Summon Doomguard - summon, cast time, doomguard
* Summon Infernal - summon, cast time, infernal
* Fear - debuff, fear
* Convert - debuff, charm
* Sacrifice - buff, instant, sacrifice pet for health
*
* Time - very high mana cost, very low cooldown
* Haste - buff, movement speed
* Slow - debuff, movement speed
* Portal - long distance teleport, very expensive, very long cast
* Isolate - stun, instant, very expensive, very long cast
* Teleport - short distance teleport, longer than blink, instant, expensive
* Confuse - debuff, attack anyone
* Accelerate - buff, attack speed
* Decelerate - debuff, attack speed
*
* Mage
* Mana Shield - buff, defense
* Fireball - ranged, damage, cast time, burning effect
* Frostbolt - ranged, damage, cast time, slow effect
* Arcane Missiles - ranged, damage, channel, knockback effect
* Frost Nova - aoe, damage, cast time, slow effect
* Blink - teleport, instant, no cost
*
* Lightning Mage
* Energize - buff, mana
* Static Charge - summon mana, chance to fail
* Blink - teleport, instant, no cost
* Lightning Bolt - ranged, damage, cast time
* Chain Lightning - ranged, damage, cast time
* Lightning Storm - aoe, damage, channel
* Thunder - aoe, damage, cast time, silence effect
*
* Frost Mage
* Frostbolt - ranged, damage, cast time, slow effect
* Frost Nova - aoe, damage, cast time, slow effect
* Frost Burn - ranged debuff, lowers attack speed
* Blizzard - aoe, damage, channel, slow effect
* Freeze - ranged, damage, cast time, stun effect
* Ice Armor - buff, defense
*
* Fire Mage
* Fireball - ranged, damage, cast time, burning effect
* Flash Fire - range, damage, instant, burning effect
* Consuming Flames - ranged, damage, cast time, burning effect
* Flamethrower - ranged, damage, channel, burning effect
*
* Arcane Mage
* Arcane Missiles - ranged, damage, channel, knockback effect
* Arcane Explosion - aoe, damage, cast time, knockback effect
* Arcane Blast - short range, instant, long cooldown, large knockback effect
*/
// how far the player should be able to see in meters
exports.sightRange = 10;
exports.minRangedAttackRange = 2.5;
var UnitTypes;
(function (UnitTypes) {
UnitTypes["npc"] = "npc";
UnitTypes["player"] = "player";
UnitTypes["monster"] = "monster";
})(UnitTypes || (exports.UnitTypes = UnitTypes = {}));
var StatusEffectMechanics;
(function (StatusEffectMechanics) {
StatusEffectMechanics["root"] = "root";
StatusEffectMechanics["stun"] = "stun";
StatusEffectMechanics["silence"] = "silence";
StatusEffectMechanics["charm"] = "charm";
StatusEffectMechanics["fear"] = "fear";
StatusEffectMechanics["blind"] = "blind";
StatusEffectMechanics["knockback"] = "knockback";
StatusEffectMechanics["dot"] = "dot";
StatusEffectMechanics["slow"] = "slow";
StatusEffectMechanics["hot"] = "hot";
StatusEffectMechanics["taunted"] = "taunted";
StatusEffectMechanics["shield"] = "shield";
StatusEffectMechanics["snare"] = "snare";
})(StatusEffectMechanics || (exports.StatusEffectMechanics = StatusEffectMechanics = {}));
var IntentType;
(function (IntentType) {
IntentType["move"] = "move";
IntentType["attack"] = "attack";
IntentType["respawn"] = "respawn";
IntentType["summonMana"] = "summonMana";
IntentType["eat"] = "eat";
IntentType["cast"] = "cast";
/**
* @deprecated
*/
IntentType["sell"] = "sell";
IntentType["sellItems"] = "sellItems";
/**
* @deprecated
*/
IntentType["buy"] = "buy";
IntentType["buyItems"] = "buyItems";
IntentType["use"] = "use";
IntentType["equip"] = "equip";
IntentType["unequip"] = "unequip";
IntentType["setRole"] = "setRole";
IntentType["inviteToParty"] = "inviteToParty";
IntentType["seekParty"] = "seekParty";
IntentType["acceptPartyInvite"] = "acceptPartyInvite";
IntentType["declinePartyInvite"] = "declinePartyInvite";
IntentType["leaveParty"] = "leaveParty";
IntentType["craft"] = "craft";
IntentType["weaponSkill"] = "weaponSkill";
IntentType["setSpellStones"] = "setSpellStones";
IntentType["drop"] = "drop";
IntentType["setTrade"] = "setTrade";
IntentType["acceptQuest"] = "acceptQuest";
IntentType["abandonQuest"] = "abandonQuest";
IntentType["turnInQuest"] = "turnInQuest";
IntentType["deposit"] = "deposit";
IntentType["withdraw"] = "withdraw";
})(IntentType || (exports.IntentType = IntentType = {}));
var NPC_IDS;
(function (NPC_IDS) {
NPC_IDS["healer_name"] = "healer_name";
NPC_IDS["guard_name"] = "guard_name";
})(NPC_IDS || (exports.NPC_IDS = NPC_IDS = {}));