UNPKG

programming-game

Version:

The client for programming game, an mmorpg that you interact with entirely through code.

179 lines (178 loc) 6.49 kB
"use strict"; 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 = {}));