mirror of
https://github.com/gooba42/adventureland.git
synced 2026-10-14 18:39:28 -05:00
The projectile has the `.pure = true` flag set, but as far as I can tell, it's the only projectile in the game to have this flag set, and the skill doesn't deal pure damage. Since the skill previously was lacking a damage type, it would default to "physical", which meant the snowball itself was affected by armor piercing.
1219 lines
28 KiB
Python
1219 lines
28 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,
|
|
"damage_type":"pure",
|
|
},
|
|
"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,
|
|
},
|
|
"temporalsurge":{
|
|
"type":"skill",
|
|
"skin":"orboftemporal",
|
|
"slot":[["orb","orboftemporal"]],
|
|
"name":"Temporal Surge",
|
|
"explanation":"Hasten nearby spawns 15% by tapping into temporal forces!",
|
|
"mp":1000,
|
|
"cooldown":60*1000,
|
|
},
|
|
"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,
|
|
},
|
|
"massexchange":{
|
|
"type":"skill",
|
|
"skin":"skill_massexchange",
|
|
"condition":"massexchange",
|
|
"class":["merchant"],
|
|
"name":"Mass Exchange",
|
|
"explanation":"Adds a 1-time use buff that speeds up the next exchange by 50%. The buff expires in 10 seconds if not used.",
|
|
"level":40,
|
|
"mp":30,
|
|
"cooldown":50,
|
|
},
|
|
"massexchangepp":{
|
|
"type":"skill",
|
|
"skin":"skill_massexchangepp",
|
|
"condition":"massexchangepp",
|
|
"class":["merchant"],
|
|
"name":"Mass Exchange++",
|
|
"explanation":"Adds a 1-time use buff that speeds up the next exchange by 90%. The buff expires in 10 seconds if not used.",
|
|
"level":70,
|
|
"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"]])
|