Files
adventureland/design/skills.py
T
2024-02-15 07:39:41 +09:00

1186 lines
27 KiB
Python

from design.conditions import conditions
skills={
#Monsters
"portal":{
"type":"monster",
"name":"Portal",
"explanation":"Open a portal to different maps and instances",
},
"self_healing":{
"type":"monster",
"name":"Healing",
"explanation":"Periodical self healing",
},
"healing":{
"type":"monster",
"name":"Healing",
"explanation":"Heals an ally or self",
},
"anger":{
"type":"monster",
"name":"Anger",
"explanation":"Randomly targets someone",
"hostile":True,
},
"zap":{
"type":"monster",
"name":"Zap",
"explanation":"Zaps you with a pure damage ray",
"damage":1200,
"hostile":True,
"projectile":"sburst",
"damage_type":"pure",
},
"fireball":{
"type":"monster",
"name":"Fireball",
"explanation":"Hurls a fireball!",
"damage":4000,
"hostile":True,
"projectile":"magic",
"damage_type":"magical",
},
"frostball":{
"type":"monster",
"name":"Frostball",
"explanation":"Hurls a frostball!",
"damage":800,
"hostile":True,
"projectile":"frostball",
"damage_type":"magical",
},
"warpstomp":{
"type":"monster",
"name":"Warpstomp",
"explanation":"Warps to a random player nearby and stomps players in vicinity",
"hostile":True,
},
"deepfreeze":{
"type":"monster",
"name":"Deepfreeze",
"explanation":"Randomly freezes a nearby opponent",
"damage":1200,
"hostile":True,
"projectile":"burst",
"damage_type":"pure",
},
"multi_burn":{
"type":"monster",
"name":"Multi Burn",
"explanation":"Hurl a fireball at everyone who dared attack him and burn them!",
"ui":True,
"hostile":True,
"skin":"essenceoffire",
"damage_type":"magical",
},
"mlight":{
"type":"monster",
"name":"Light",
"explanation":"Reveals invisible entities nearby and prevents them from going invisible again for 12 seconds.",
"ui":True,
"hostile":True,
"skin":"skill_light",
},
"dampening_aura":{
"type":"monster",
"name":"Dampening",
"explanation":"Prevents teleports",
"condition":"dampened",
"aura":True,
"hostile":True,
"passive":True,
"skin":"condition_neutral",
},
"weakness_aura":{
"type":"monster",
"name":"Weakness",
"explanation":"Weakens",
"condition":"weakness",
"aura":True,
"hostile":True,
"passive":True,
"skin":"condition_bad",
},
"curse_aura":{
"type":"monster",
"name":"Curse",
"explanation":"A wretched aura",
"condition":"cursed",
"aura":True,
"hostile":True,
"passive":True,
"skin":"condition_bad",
},
"multi_freeze":{
"type":"monster",
"name":"Multi Freeze",
"explanation":"Hurl a frostball at everyone who dared attack him and freeze them!",
"hostile":True,
"ui":True,
"skin":"essenceoffrost",
"damage_type":"magical",
},
"mtangle":{
"type":"monster",
"name":"Tangle",
"explanation":"Communicates through spores to activate dormant plants underneath. Slows down opponents significantly.",
"mp":360,
"range":480,
"cooldown":40000,
"duration":5000,
"condition":"tangled",
"target":True,
"monsters":True,
"hostile":True,
},
"stone":{
"type":"monster",
"name":"Stone",
"explanation":"Looking into his eye for too long turns you to stone!",
"condition":"stoned",
"hostile":True,
},
#Players
"snowball":{
"type":"skill",
"skin":"snowball",
"consume":"snowball",
"name":"Snowball",
"explanation":"Throw a snowball at someone!",
"condition":"frozen",
"damage":1,
"mp":120,
"cooldown":180,
"range":720,
"projectile":"snowball",
"target":True,
"merchant_use":True,
},
"scare":{
"type":"skill",
"skin":"skill_scare",
"slot":[["orb","jacko"]],
"name":"Scare",
"explanation":"Activate your Jack-o Lantern to scare away monsters targeting you!",
"mp":50,
"cooldown":5000,
},
"power":{
"type":"skill",
"skin":"powerglove",
"slot":[["gloves","powerglove"]],
"name":"Power",
"explanation":"Unleash the power",
"mp":320,
"cooldown":500,
"condition":"power",
},
"xpower":{
"type":"skill",
"skin":"goldenpowerglove",
"slot":[["gloves","goldenpowerglove"]],
"name":"Power",
"explanation":"Unleash the power",
"mp":320,
"cooldown":500,
"condition":"xpower",
},
"warp":{
"type":"skill",
"skin":"warpvest",
"slot":[["chest","warpvest"]],
"name":"Warp",
"explanation":"Warp space to jump into any location",
"mp":40,
"cooldown":200,
},
"zapperzap":{
"type":"skill",
"skin":"trigger",
"slot":[["ring1","zapper"],["ring2","zapper"]],
"name":"Zap",
"explanation":"Zap your target for 200 damage",
"damage":200,
"damage_type":"magical",
"mp":140,
"cooldown":200,
"range":420,
"projectile":"gburst",
"target":True,
"hostile":True,
},
"charm":{
"type":"skill",
"skin":"charmer",
"slot":[["orb","charmer"]],
"name":"Charm",
"explanation":"Charm a monster [%]",
"condition":"charmed",
"mp":40,
"cooldown":60000,
"target":"monster",
"hostile":True,
"use_range":True,
},
"tangle":{
"type":"skill",
"skin":"heartwood",
"slot":[["mainhand","heartwood"],["offhand","heartwood"]],
"name":"Tangle",
"explanation":"Unleash the contained powers of nature to hinder an opponent.",
"mp":40,
"cooldown":60000,
"target":True,
"hostile":True,
"use_range":True,
"range_multiplier":2,
},
"rspeed":{
"type":"skill",
"skin":"buff_speed",
"condition":"rspeed",
"class":["rogue"],
"name":"Rogue Swiftness",
"explanation":"Buff a target to increase their speed.",
"mp":320,
"range":320,
"level":40,
"cooldown":100,
"target":"player",
},
"reflection":{
"type":"skill",
"skin":"buff_reflection",
"condition":"reflection",
"class":["mage"],
"name":"Reflective Shield",
"explanation":"Erects a magical shield around the target to grant them +20% Reflection for the duration.",
"mp":540,
"range":320,
"level":60,
"cooldown":30000,
"target":"player",
},
"pickpocket":{
"type":"skill",
"skin":"skill_pickpocket",
"class":["rogue"],
"name":"Pickpocket",
"explanation":"Try to steal a single PVP marked item from the target!",
"range":15,
"level":16,
"mp":10,
"reuse_cooldown":2*60*1000,
"duration_min":200,
"duration_max":2000,
"target":"player",
"persistent":True,
},
"fishing":{
"type":"skill",
"skin":"skill_fishing",
"class":["merchant"],
"wtype":["rod"],
"name":"Fishing",
"explanation":"Swing your rod and catch some fish!",
"range":15,
"level":16,
"mp":120,
"reuse_cooldown":48*60*1000,
"duration_min":5000,
"duration_max":15000,
"persistent":True,
},
"mining":{
"type":"skill",
"skin":"skill_mining",
"class":["merchant"],
"wtype":["pickaxe"],
"name":"Mining",
"explanation":"Use your pickaxe to mine some mines!",
"range":15,
"level":16,
"mp":120,
"reuse_cooldown":124*60*1000,
"duration_min":5000,
"duration_max":15000,
"persistent":True,
},
"mluck":{
"type":"skill",
"skin":"buff_luck",
"condition":"mluck",
"class":["merchant"],
"name":"Merchant's Luck",
"explanation":"Buff a target to increase their luck. 2% chance for you to receive a duplicate of their looted items!",
"level":40,
"mp":10,
"range":320,
"cooldown":100,
"target":"player",
},
"mcourage":{
"type":"skill",
"skin":"skill_mcourage",
"condition":"mcourage",
"class":["merchant"],
"name":"Merchant's Courage",
"explanation":"When you sense danger, you know what to do...",
"level":70,
"mp":2400,
"cooldown":2000,
},
"mfrenzy":{
"type":"skill",
"skin":"skill_mfrenzy",
"condition":"mfrenzy",
"class":["merchant"],
"name":"Merchant's Frenzy",
"explanation":"When you sense danger, you know what to do!",
"level":85,
"mp":400,
"cooldown":20000,
},
"massproduction":{
"type":"skill",
"skin":"skill_massproduction",
"condition":"massproduction",
"class":["merchant"],
"name":"Mass Production",
"explanation":"Adds a 1-time use buff that speeds up the next upgrade or compound by 50%. The buff expires in 10 seconds if not used.",
"level":30,
"mp":20,
"cooldown":50,
},
"massproductionpp":{
"type":"skill",
"skin":"skill_massproductionpp",
"condition":"massproductionpp",
"class":["merchant"],
"name":"Mass Production++",
"explanation":"Adds a 1-time use buff that speeds up the next upgrade or compound by 90%. The buff expires in 10 seconds if not used.",
"level":60,
"mp":200,
"cooldown":50,
},
"throw":{
"type":"skill",
"skin":"skill_throw",
"class":["merchant"],
"name":"Throw Stuff",
"explanation":"Terrified? Just throw whatever you can find at your opponent!",
"range":200,
"code":"range=character.level+200",
"positive":["essenceoflife"],
"negative":["essenceoffire"],
"nprop":["attack","armor"],
"damage_type":"physical",
"level":60,
"mp":200,
"cooldown":400,
"hostile":True,
"target":True,
"pierces_immunity":True,
},
"burst":{
"type":"skill",
"skin":"skill_burst",
"class":["mage"],
"name":"Mana Burst",
"explanation":"Converts your entire mana pool to pure damage. Deals 0.555 pure damage for each MP.",
"mp":0,
"ratio":0.555,
"cooldown":6000,
"target":True,
"damage_type":"pure",
"hostile":True,
"projectile":"burst",
"use_range":True,
},
"cburst":{
"type":"skill",
"skin":"skill_cburst",
"class":["mage"],
"name":"Controlled Mana Burst",
"level":75,
"explanation":"A skill for experienced mages. Allows you to control and channel your most powerful ability.",
"mp":80,
"ratio":0.5,
"cooldown":240,
"list":True,
"hostile":True,
"projectile":"burst",
"use_range":True,
"damage_type":"magical",
},
"energize":{
"type":"skill",
"skin":"skill_energize",
"class":["mage"],
"name":"Energize",
"range":320,
"level":20,
"explanation":"Transfers mana to a target. As a side effect the target gains high attack speed for a short duration.",
"cooldown":4000,
"condition":"energized",
"target":"player",
},
"light":{
"type":"skill",
"skin":"skill_light",
"class":["mage"],
"name":"Light",
"explanation":"Reveals invisible entities nearby and prevents them from going invisible again for 12 seconds.",
"mp":2000,
"cooldown":0,
"hostile":True,
},
"blink":{
"type":"skill",
"skin":"skill_blink",
"class":["mage"],
"name":"Blink",
"explanation":"Teleport to a nearby location.",
"mp":1600,
"cooldown":1200,
},
"magiport":{
"type":"skill",
"skin":"skill_teleport",
"class":["mage"],
"name":"Magiport",
"explanation":"Pull someone to your location using the magical paths that surround our world.",
"complementary":"Unless the target doesn't have a T2+ helmet, high intelligence, or a low level, it can't resist being magiported. (Reverted [03/07/18])",
"mp":900,
"cooldown":0,
"target":"player",
"global":True,
},
"charge":{
"type":"skill",
"skin":"skill_charge",
"class":["warrior"],
"name":"Charge",
"explanation":"Gain 30 Speed for a short duration.",
"mp":0,
"condition":"charging",
"cooldown":40000,
},
"dash":{
"type":"skill",
"skin":"skill_dash",
"class":["warrior"],
"name":"Dash",
"explanation":"Push forward, jumping over obstacles, climbing hills, defying physics!",
"mp":120,
"set_speed":500,
"cooldown":0,
},
"taunt":{
"type":"skill",
"skin":"skill_taunt",
"class":["warrior"],
"name":"Taunt",
"explanation":"Taunts an enemy. Steals aggro from friendly targets.", #Prevents players from escaping in pvp.
"range":200,
"mp":40,
"cooldown":3000,
"damage":1,
"target":True,
"hostile":True,
"projectile":"stone",
"pierces_immunity":True,
},
"agitate":{
"type":"skill",
"skin":"skill_agitate",
"class":["warrior"],
"name":"Agitate",
"explanation":"Taunts all nearby monsters.",
"range":320,
"level":68,
"mp":420,
"cooldown":2200,
"hostile":True,
},
"hardshell":{
"type":"skill",
"skin":"skill_hardshell",
"class":["warrior"],
"name":"Hard Shell",
"explanation":"Use everything at your disposal to protect yourself from physical attacks for a short duration.",
"condition":"hardshell",
"level":60,
"mp":480,
"cooldown":16000,
},
"cleave":{
"type":"skill",
"skin":"skill_cleave",
"class":["warrior"],
"wtype":["axe","scythe"],
"name":"Cleave",
"explanation":"Swing your axe in a flurry to damage all enemies nearby!",
"range":160,
"level":52,
"mp":720,
"cooldown":1200,
"hostile":True,
"pierces_immunity":True,
"damage_type":"physical",
"procs":True,
},
"stomp":{
"type":"skill",
"skin":"skill_stomp",
"class":["warrior"],
"wtype":"basher",
"name":"Stomp",
"explanation":"Use your basher to Stomp the ground to Stun enemies nearby!",
"condition":"stunned",
"range":400,
"level":52,
"mp":120,
"cooldown":24000,
"duration":3200,
"hostile":True,
"damage_type":"physical",
},
"warcry":{
"type":"skill",
"skin":"skill_warcry",
"class":["warrior"],
"name":"War Cry",
"explanation":"Motivate your allies to fight!",
"level":70,
"mp":320,
"range":600,
"cooldown":60000,
"condition":"warcry",
},
"poisonarrow":{
"type":"skill",
"skin":"skill_poisonarrow",
"class":["ranger"],
"name":"Poison Arrow",
"explanation":"Fire a single low damage but poison coated arrow at your opponent.",
"wtype":["bow","crossbow"],
"cooldown":300,
"damage":200,
"mp":360,
"consume":"poison",
"target":True,
"hostile":True,
"use_range":True,
"projectile":"poisonarrow",
"damage_type":"physical",
"condition":"poisoned",
"procs":True,
},
"piercingshot":{
"type":"skill",
"skin":"skill_piercingshot",
"class":["ranger"],
"name":"Piercing Shot",
"explanation":"Fire heavy, armor piercing arrows at your opponent. They deal 75% of the damage but pierce through 500 armor.",
"wtype":["bow","crossbow"],
"apiercing":500,
"damage_multiplier":0.75,
"mp":64,
"level":72,
"cooldown_multiplier":1,
"share":"attack",
"use_range":True,
"target":True,
"hostile":True,
"damage_type":"physical",
"procs":True,
"pierces_immunity":True,
},
"huntersmark":{
"type":"skill",
"skin":"skill_huntersmark",
"class":["ranger"],
"name":"Hunter's Mark",
"explanation":"Mark an opponent for death, prevent them from stealthing away and increase damage done by 10%",
"mp":240,
"condition":"marked",
"cooldown":10000,
"target":True,
"hostile":True,
"range_multiplier":3,
"range_bonus":20,
"use_range": True
},
"pcoat":{
"type":"skill",
"skin":"skill_pcoat",
"class":["rogue"],
"name":"A Poisonous Touch",
"explanation":"Coat your blade with a poison sack. Poison everyone you damage before the venom dissipates.",
"condition":"poisonous",
"cooldown":50000,
"duration":7000,
"mp":600,
"consume":"poison",
},
"invis":{
"type":"skill",
"skin":"skill_invis",
"class":["rogue"],
"name":"Assassin's Smoke",
"explanation":"Disappear into the shadows. Deal 1.25X damage when you sneak up on an enemy. Cooldown starts when you re-appear.",
"reuse_cooldown":12000,
},
"mentalburst":{
"type":"skill",
"skin":"skill_mentalburst",
"class":["rogue"],
"name":"Mental Burst",
"explanation":"Channel your mental abilities for a magical blow. If the target is defeated, the damage dealt is converted to mana.",
"damage_type":"magical",
"cooldown":900,
"damage_multiplier":0.6,
"range_multiplier":1.2,
"range_bonus":32,
"mp":180,
"target":True,
"requirements":{"int":64},
"warning":"Highly unbalanced skill, could get nerfed or modified",
"hostile":True,
"projectile":"mentalburst",
"use_range":True,
},
"quickpunch":{
"type":"skill",
"skin":"skill_quickpunch",
"class":["rogue"],
"name":"Quick Punch",
"explanation":"Use your agility to quickly punch your opponent between your devastating attacks!",
"wtype":"fist",
"cooldown":250,
"damage_multiplier":0.25,
"mp":240,
"use_range":True,
"target":True,
"hostile":True,
"projectile":"quickpunch",
"damage_type":"physical",
"pierces_immunity":True,
#"procs":True,
},
"quickstab":{
"type":"skill",
"skin":"skill_quickstab",
"class":["rogue"],
"name":"Quick Stab",
"explanation":"Use your agility to quickly stab your opponent between your devastating attacks!",
"wtype":"dagger",
"cooldown":250,
"share":"quickpunch",
"damage_multiplier":0.36,
"mp":320,
"use_range":True,
"target":True,
"hostile":True,
"projectile":"quickstab",
"damage_type":"physical",
"procs":True,
"pierces_immunity":True,
},
"stack":{
"type":"passive",
"skin":"skill_stack",
"class":["rogue"],
"name":"Stacked Damage",
"explanation":"Slowly learning the ways of your opponent each rogue attack deals one more damage.",
"max":2000,
},
"shadowstrike":{
"type":"skill",
"skin":"skill_shadowstrike",
"class":["rogue"],
"name":"Shadow Strike",
"explanation":"Use a shadow stone to strike a random enemy in a parallel universe!",
"range":360,
"level":70,
"mp":320,
"cooldown":1200,
"consume":"shadowstone",
"hostile":True,
"damage_type":"physical",
},
"entangle":{
"type":"skill",
"skin":"skill_entangle",
"class":["mage"],
"name":"Entangle",
"explanation":"Unleash the contained powers of nature to hinder an opponent.",
"level":72,
"mp":360,
"range":480,
"cooldown":40000,
"duration":5000,
"condition":"tangled",
"target":True,
"monsters":True,
"consume":"essenceofnature",
"hostile":True,
},
"track":{
"type":"skill",
"skin":"skill_track",
"class":["ranger"],
"name":"Track",
"explanation":"Use your fine-tuned senses to detect others.",
"cooldown":1600,
"range":1440,
"mp":80,
},
"supershot":{
"type":"skill",
"skin":"skill_supershot",
"class":["ranger"],
"name":"Supershot",
"explanation":"Deals 1.5X instant damage from an incredible distance.",
"wtype":["bow","crossbow"],
"damage_multiplier":1.5,
"cooldown":30000,
"range_multiplier":3,
"range_bonus":20,
"mp":400,
"target":True,
"hostile":True,
"pierces_immunity":True,
"damage_type":"physical",
"procs":True,
"use_range":True,
},
"3shot":{
"type":"skill",
"skin":"skill_3shot",
"class":["ranger"],
"name":"3-Shot",
"explanation":"Hits 3 targets at once! Deals 0.7X damage to each target.",
"wtype":["bow","crossbow"],
"damage_multiplier":0.7,
"level":60,
"mp":200,
"cooldown_multiplier":1,
"multi":True,
"share":"attack",
"hostile":True,
"pierces_immunity":True,
"damage_type":"physical",
"procs":True,
"use_range":True,
},
"5shot":{
"type":"skill",
"skin":"skill_5shot",
"class":["ranger"],
"name":"5-Shot",
"explanation":"Hits 5 targets at once! Deals 0.5X damage to each target.",
"wtype":["bow","crossbow"],
"damage_multiplier":0.5,
"level":75,
"mp":320,
"cooldown_multiplier":1,
"multi":True,
"share":"attack",
"hostile":True,
"pierces_immunity":True,
"damage_type":"physical",
"procs":True,
"use_range":True,
},
"4fingers":{
"type":"skill",
"skin":"skill_4fingers",
"class":["ranger"],
"name":"4 Finger Technique",
"explanation":"Use the ancient arts to send the target to a deep meditation state. Just several taps to key chakra points does the job!",
"level":64,
"mp":260,
"range":120,
"cooldown":40000,
"duration":5000,
"condition":"fingered",
"target":"player",
"monsters":False,
"hostile":True,
},
"curse":{
"type":"skill",
"skin":"skill_curse",
"class":["priest"],
"name":"Curse",
"explanation":"Cursed opponents receive 20% more damage, deal 20% less damage and they slow down by 20.",
"mp":400,
"range":200,
"duration":5000,
"cooldown":5000,
"condition":"cursed",
"target":True,
"hostile":True,
"projectile":"curse",
"damage_type":"magical",
},
"phaseout":{
"type":"skill",
"skin":"skill_phaseout",
"class":["priest"],
"name":"Phase Out",
"explanation":"Absorb a shadow stone to phase yourself out from this universe.",
"level":64,
"duration":5000,
"cooldown":4000,
"mp":200,
"consume":"shadowstone",
"condition":"phasedout",
},
"darkblessing":{
"type":"skill",
"skin":"skill_dbuff",
"class":["priest"],
"name":"Dark Blessing",
"explanation":"Increases damage by 25% for the duration.",
"level":70,
"mp":900,
"range":600,
"duration":8000,
"cooldown":60000,
"condition":"darkblessing",
},
"absorb":{
"type":"skill",
"skin":"skill_absorbsins",
"class":["priest"],
"name":"Absorb Sins",
"explanation":"Pulls all targets from a friendly character.",
"range":240,
"cooldown":400,
"mp":200,
"level":55,
"target":"player",
},
"partyheal":{
"type":"skill",
"skin":"skill_pheal",
"class":["priest"],
"name":"Party Heal",
"explanation":"Heals all the party members.",
"output":400,
"action":"heal",
"levels":[
[0,500],
[60,600],
[72,720],
[80,800],
],
"mp":400,
"cooldown":200,
"party":True,
"projectile":"partyheal",
"damage_type":"magical",
"heal":True,
"multi":True,
},
"selfheal":{
"type":"skill",
"skin":"skill_selfheal",
"class":["paladin"],
"name":"Heal",
"explanation":"Heal yourself",
"output":400,
"action":"heal",
"levels":[
[0,500],
[60,600],
[72,720],
[80,800],
],
"mp":20,
"cooldown":1200,
"projectile":"partyheal",
"damage_type":"magical",
"heal":True,
},
"mshield":{
"type":"skill",
"skin":"skill_mshield",
"class":["paladin"],
"name":"Mana Shield",
"explanation":"Create a magical shield around yourself to absorb damage [Toggle]",
"condition":"mshield",
"toggle":True,
"mp":0,
"duration":999999999,
"cooldown":0,
},
"purify":{
"type":"skill",
"skin":"skill_purify",
"class":["paladin"],
"name":"Purify",
"level":60,
"damage":2000,
"damage_type":"pure",
"explanation":"Deals 2000 pure damage purifying the target, removes all buffs and debuffs dealing additional 400 damage for each and receive the Purifier buff if the target is defeated!",
"kill_buff":"purifier",
"projectile":"purify",
"hostile":True,
"target":True,
"mp":360,
"cooldown":24000,
"range":480,
},
"smash":{
"type":"skill",
"skin":"skill_smash",
"class":["paladin"],
"name":"Smash",
"explanation":"Smash your opponent using your mace!",
"wtype":"mace",
"cooldown":320,
"level":10,
"damage_multiplier":0.36,
"mp":380,
"use_range":True,
"target":True,
"hostile":True,
"projectile":"smash",
"damage_type":"physical",
"procs":True,
"pierces_immunity":True,
},
"alchemy":{
"type":"skill",
"skin":"skill_alchemy",
"class":["mage"],
"name":"Alchemy",
"explanation":"Dangerous skill, use with caution! Converts your firstfound item into pure gold!",
"variance":0.2,
"output":0.8,
"action":"rate",
"levels":[
[40,0.8],
[50,0.86],
[60,0.92],
[70,1.0],
[80,1.06],
[90,1.10],
[100,1.12],
],
"level":40,
"mp":347,
"cooldown":8000,
"party":True,
},
"revive":{
"type":"skill",
"skin":"skill_revive",
"class":["priest"],
"name":"Revive!",
"explanation":"If a fallen comrade's gravestone has been healed fully, revives them using an Essence of Life!",
"mp":500,
"cooldown":200,
"range":240,
"consume":"essenceoflife",
"target":"player",
},
"regen_hp":{
"type":"ability",
"skin":"regen_hp",
"name":"Regenerate HP",
"share":"use_hp",
"cooldown_multiplier":2,
"explanation":"Regenerate 50 HP without using potions.",
},
"regen_mp":{
"type":"ability",
"skin":"regen_mp",
"name":"Regenerate MP",
"share":"use_mp",
"cooldown_multiplier":2,
"explanation":"Regenerate 100 MP without using potions.",
},
"use_mp":{
"type":"ability",
"skin":"use_mp",
"name":"Use MP Potion",
"explanation":"Uses an MP potion from your inventory. If there are multiple potions, the last one is used. If there are no potions, your character regenerates a small amount of MP with a high cooldown.",
"cooldown":2000,
},
"use_hp":{
"type":"ability",
"skin":"use_hp",
"name":"Use HP Potion",
"explanation":"Uses an HP potion from your inventory. If there are multiple potions, the last one is used. If there are no potions, your character regenerates a small amount of HP with a high cooldown.",
"cooldown":2000,
},
"use_town":{
"type":"ability",
"skin":"use_town",
"name":"Town",
"explanation":"Teleports you to the center of the map.",
"cooldown":0,
},
"attack":{
"type":"ability",
"skin":"attack",
"name":"Attack",
"explanation":"Attack the target",
"target":True,
"hostile":True,
"pierces_immunity": True,
"use_range":True,
"projectile":"momentum",
"procs":True,
},
"heal":{
"type":"ability",
"skin":"heal",
"name":"Heal",
"class":["priest"],
"explanation":"Heal the target",
"cooldown_multiplier":1,
"share":"attack",
"target":True,
"use_range":True,
"pierces_immunity": True,
"projectile":"plight",
"damage_type":"magical",
"heal":True,
"procs":True,
},
"travel":{
"type":"ability",
"skin":"travel",
"name":"Travel!",
"explanation":"Where would you like to visit?",
},
"stop":{
"type":"ability",
"skin":"stop_g",
"name":"Stop",
"explanation":"Stops your character. Cancels all channeling abilities and active skills.",
"cooldown":0,
},
"snippet":{
"type":"utility",
"skin":"run_snippet1",
"name":"Snippet",
"explanation":"Maps a code snippet to a keypress.",
"skins":["run_snippet0","run_snippet1","run_snippet2"],
"code":True,
},
"emotion":{
"type":"utility",
"skin":"run_emotion",
"name":"Emotion",
"explanation":"Show a random emotion you've unlocked!",
},
"pure_eval":{
"type":"utility",
"skin":"run_eval0",
"name":"Pure Eval",
"explanation":"[Advanced] Maps a code snippet to be run directly inside the game, rather than using CODE. (Not to be confused with the text command, /eval, which evals inside the Code iframe)",
"skins":["run_eval0","run_eval1","run_eval2"],
"code":True,
},
"esc":{
"type":"utility",
"skin":"esc",
"name":"ESC",
"explanation":"Calls the esc_pressed() function inside the game. Major functionality.",
"ui":False,
},
"move_up":{
"type":"utility",
"skin":"up",
"name":"Move Up",
"explanation":"Moves the character upwards",
"ui":False,
},
"move_down":{
"type":"utility",
"skin":"down",
"name":"Move Down",
"explanation":"Moves the character downwards",
"ui":False,
},
"move_left":{
"type":"utility",
"skin":"left",
"name":"Move Left",
"explanation":"Moves the character leftwards",
"ui":False,
},
"move_right":{
"type":"utility",
"skin":"right",
"name":"Move Right",
"explanation":"Moves the character rightwards",
"ui":False,
},
"toggle_code":{
"skin":"code",
"name":"Toggle Code",
"ui":False,
},
"toggle_run_code":{
"skin":"run_code",
"name":"Engage/Disengage Code",
"ui":False,
},
"toggle_inventory":{
"type":"utility",
"skin":"inventory",
"name":"Toggle Inventory",
"explanation":"Toggles the inventory",
"ui":False,
},
"toggle_stats":{
"type":"utility",
"skin":"stats",
"name":"Toggle Stats",
"explanation":"Toggles the character sheet",
"ui":False,
},
"toggle_character":{
"type":"utility",
"skin":"character",
"name":"Toggle Character",
"explanation":"Toggles the character focus",
"ui":False,
},
"open_snippet":{
"type":"utility",
"skin":"snippet",
"name":"Open Snippet",
"explanation":"Open the Code Snippet interface",
"ui":False,
},
"interact":{
"type":"utility",
"skin":"interact",
"name":"Interact",
"explanation":"Interact with the nearest game entity, a door, doorway, or NPC.",
"ui":False,
},
"gm":{
"type":"gm",
"skin":"gm",
"name":"GM Abilities",
"explanation":"Jump, Jail, Mute, Use Any Skill",
}
}
for name in skills:
if "condition" in skills[name] and "duration" not in skills[name] and skills[name]["condition"] in conditions and conditions[skills[name]["condition"]]:
try:
skills[name]["duration"]=conditions[skills[name]["condition"]]["duration"]
except:
import logging
logging.error("%s has no duration"%conditions[skills[name]["condition"]])