2021-02-18 05:11:25 +01:00
require ' engine '
require ' shared '
require ' arena '
2021-03-05 08:29:19 +01:00
require ' buy_screen '
2021-02-18 05:11:25 +01:00
require ' objects '
2021-02-20 02:54:54 +01:00
require ' player '
require ' enemies '
2021-02-18 05:11:25 +01:00
function init ( )
shared_init ( )
input : bind ( ' move_left ' , { ' a ' , ' left ' } )
input : bind ( ' move_right ' , { ' d ' , ' right ' } )
input : bind ( ' move_up ' , { ' w ' , ' up ' } )
input : bind ( ' move_down ' , { ' s ' , ' down ' } )
2021-03-07 03:35:18 +01:00
input : bind ( ' enter ' , { ' space ' , ' return ' } )
2021-02-18 05:11:25 +01:00
2021-03-29 20:26:10 +02:00
music.volume = 0
2021-02-27 05:28:00 +01:00
local s = { tags = { sfx } }
2021-04-15 02:02:57 +02:00
flagellant1 = Sound ( ' Whipping Horse 3.ogg ' , s )
2021-04-13 03:23:53 +02:00
bard2 = Sound ( ' 376532__womb-affliction__flute-trill.ogg ' , s )
bard1 = Sound ( ' Magical Impact 12.ogg ' , s )
2021-04-12 04:51:34 +02:00
frost1 = Sound ( ' Frost Bolt 20.ogg ' , s )
pyro1 = Sound ( ' Fire bolt 5.ogg ' , s )
pyro2 = Sound ( ' Explosion Fireworks_01.ogg ' , s )
2021-04-11 03:37:11 +02:00
dot1 = Sound ( ' Magical Swoosh 18.ogg ' , s )
gun_kata1 = Sound ( ' Pistol Shot_07.ogg ' , s )
gun_kata2 = Sound ( ' Pistol Shot_08.ogg ' , s )
dual_gunner1 = Sound ( ' Revolver Shot_07.ogg ' , s )
dual_gunner2 = Sound ( ' Revolver Shot_08.ogg ' , s )
2021-03-14 06:40:12 +01:00
ui_hover1 = Sound ( ' bamboo_hit_by_lord.ogg ' , s )
2021-03-08 05:33:01 +01:00
ui_switch1 = Sound ( ' Switch.ogg ' , s )
ui_switch2 = Sound ( ' Switch 3.ogg ' , s )
ui_transition1 = Sound ( ' Wind Bolt 8.ogg ' , s )
ui_transition2 = Sound ( ' Wind Bolt 12.ogg ' , s )
2021-04-02 03:59:26 +02:00
headbutt1 = Sound ( ' Wind Bolt 14.ogg ' , s )
2021-04-03 04:53:12 +02:00
critter1 = Sound ( ' Critters eating 2.ogg ' , s )
critter2 = Sound ( ' Crickets Chirping 4.ogg ' , s )
2021-04-04 05:58:44 +02:00
critter3 = Sound ( ' Popping bloody Sac 1.ogg ' , s )
2021-04-04 01:49:54 +02:00
force1 = Sound ( ' Magical Impact 18.ogg ' , s )
2021-03-14 06:40:12 +01:00
error1 = Sound ( ' Error 2.ogg ' , s )
2021-03-08 05:33:01 +01:00
coins1 = Sound ( ' Coins 7.ogg ' , s )
coins2 = Sound ( ' Coins 8.ogg ' , s )
coins3 = Sound ( ' Coins 9.ogg ' , s )
2021-02-22 03:54:50 +01:00
shoot1 = Sound ( ' Shooting Projectile (Classic) 11.ogg ' , s )
archer1 = Sound ( ' Releasing Bow String 1.ogg ' , s )
wizard1 = Sound ( ' Wind Bolt 20.ogg ' , s )
swordsman1 = Sound ( ' Heavy sword woosh 1.ogg ' , s )
swordsman2 = Sound ( ' Heavy sword woosh 19.ogg ' , s )
scout1 = Sound ( ' Throwing Knife (Thrown) 3.ogg ' , s )
scout2 = Sound ( ' Throwing Knife (Thrown) 4.ogg ' , s )
arrow_hit_wall1 = Sound ( ' Arrow Impact wood 3.ogg ' , s )
arrow_hit_wall2 = Sound ( ' Arrow Impact wood 1.ogg ' , s )
hit1 = Sound ( ' Player Takes Damage 17.ogg ' , s )
hit2 = Sound ( ' Body Head (Headshot) 1.ogg ' , s )
2021-03-17 10:30:20 +01:00
hit3 = Sound ( ' Kick 16_1.ogg ' , s )
hit4 = Sound ( ' Kick 16_2.ogg ' , s )
2021-02-22 03:54:50 +01:00
proj_hit_wall1 = Sound ( ' Player Takes Damage 2.ogg ' , s )
enemy_die1 = Sound ( ' Bloody punches 7.ogg ' , s )
enemy_die2 = Sound ( ' Bloody punches 10.ogg ' , s )
magic_area1 = Sound ( ' Fire bolt 10.ogg ' , s )
magic_hit1 = Sound ( ' Shadow Punch 1.ogg ' , s )
magic_die1 = Sound ( ' Magical Impact 27.ogg ' , s )
knife_hit_wall1 = Sound ( ' Shield Impacts Sword 1.ogg ' , s )
2021-02-23 04:47:57 +01:00
blade_hit1 = Sound ( ' Sword impact (Flesh) 2.ogg ' , s )
2021-02-22 03:54:50 +01:00
player_hit1 = Sound ( ' Body Fall 2.ogg ' , s )
player_hit2 = Sound ( ' Body Fall 18.ogg ' , s )
player_hit_wall1 = Sound ( ' Wood Heavy 5.ogg ' , s )
pop1 = Sound ( ' Pop sounds 10.ogg ' , s )
2021-03-14 06:40:12 +01:00
pop2 = Sound ( ' 467951__benzix2__ui-button-click.ogg ' , s )
pop3 = Sound ( ' 258269__jcallison__mouth-pop.ogg ' , s )
confirm1 = Sound ( ' 80921__justinbw__buttonchime02up.ogg ' , s )
2021-02-22 03:54:50 +01:00
heal1 = Sound ( ' Buff 3.ogg ' , s )
spawn1 = Sound ( ' Buff 13.ogg ' , s )
2021-04-02 03:59:26 +02:00
buff1 = Sound ( ' Buff 14.ogg ' , s )
2021-03-31 00:46:27 +02:00
spawn_mark1 = Sound ( ' Bonus 2.ogg ' , s )
spawn_mark2 = Sound ( ' Bonus.ogg ' , s )
2021-02-24 06:47:22 +01:00
alert1 = Sound ( ' Click.ogg ' , s )
2021-02-23 04:47:57 +01:00
elementor1 = Sound ( ' Wind Bolt 18.ogg ' , s )
2021-02-24 06:47:22 +01:00
saboteur_hit1 = Sound ( ' Explosion Flesh_01.ogg ' , s )
saboteur_hit2 = Sound ( ' Explosion Flesh_02.ogg ' , s )
saboteur1 = Sound ( ' Male Jump 1.ogg ' , s )
saboteur2 = Sound ( ' Male Jump 2.ogg ' , s )
saboteur3 = Sound ( ' Male Jump 3.ogg ' , s )
spark1 = Sound ( ' Spark 1.ogg ' , s )
spark2 = Sound ( ' Spark 2.ogg ' , s )
spark3 = Sound ( ' Spark 3.ogg ' , s )
stormweaver1 = Sound ( ' Buff 8.ogg ' , s )
2021-02-26 04:52:28 +01:00
cannoneer1 = Sound ( ' Cannon shots 1.ogg ' , s )
cannoneer2 = Sound ( ' Cannon shots 7.ogg ' , s )
cannon_hit_wall1 = Sound ( ' Cannon impact sounds (Hitting ship) 4.ogg ' , s )
pet1 = Sound ( ' Wolf barks 5.ogg ' , s )
turret1 = Sound ( ' Sci Fi Machine Gun 7.ogg ' , s )
turret2 = Sound ( ' Sniper Shot_09.ogg ' , s )
turret_hit_wall1 = Sound ( ' Concrete 6.ogg ' , s )
turret_hit_wall2 = Sound ( ' Concrete 7.ogg ' , s )
turret_deploy = Sound ( ' 321215__hybrid-v__sci-fi-weapons-deploy.ogg ' , s )
2021-02-27 05:28:00 +01:00
rogue_crit1 = Sound ( ' Dagger Stab (Flesh) 4.ogg ' , s )
rogue_crit2 = Sound ( ' Sword hits another sword 6.ogg ' , s )
2021-03-17 10:30:20 +01:00
cascade = Sound ( ' Kubbi - Ember - 04 Cascade.ogg ' , { tags = { music } } )
2021-02-22 03:54:50 +01:00
2021-03-05 08:29:19 +01:00
warrior = Image ( ' warrior ' )
ranger = Image ( ' ranger ' )
healer = Image ( ' healer ' )
mage = Image ( ' mage ' )
rogue = Image ( ' rogue ' )
nuker = Image ( ' nuker ' )
conjurer = Image ( ' conjurer ' )
enchanter = Image ( ' enchanter ' )
2021-04-07 03:26:59 +02:00
psyker = Image ( ' psyker ' )
2021-04-12 04:51:34 +02:00
curser = Image ( ' curser ' )
2021-04-07 03:26:59 +02:00
forcer = Image ( ' forcer ' )
swarmer = Image ( ' swarmer ' )
voider = Image ( ' voider ' )
2021-04-17 05:30:34 +02:00
ouroboros_technique_r = Image ( ' ouroboros_technique_r ' )
ouroboros_technique_l = Image ( ' ouroboros_technique_l ' )
wall_echo = Image ( ' wall_echo ' )
wall_rider = Image ( ' wall_rider ' )
centipede = Image ( ' centipede ' )
intimidation = Image ( ' intimidation ' )
vulnerability = Image ( ' vulnerability ' )
temporal_chains = Image ( ' temporal_chains ' )
amplify = Image ( ' amplify ' )
amplify_x = Image ( ' amplify_x ' )
resonance = Image ( ' resonance ' )
ballista = Image ( ' ballista ' )
ballista_x = Image ( ' ballista_x ' )
point_blank = Image ( ' point_blank ' )
longshot = Image ( ' longshot ' )
blunt_arrow = Image ( ' blunt_arrow ' )
explosive_arrow = Image ( ' explosive_arrow ' )
divine_machine_arrow = Image ( ' divine_machine_arrow ' )
chronomancy = Image ( ' chronomancy ' )
awakening = Image ( ' awakening ' )
divine_punishment = Image ( ' divine_punishment ' )
berserking = Image ( ' berserking ' )
unwavering_stance = Image ( ' unwavering_stance ' )
ultimatum = Image ( ' ultimatum ' )
flying_daggers = Image ( ' flying_daggers ' )
assassination = Image ( ' assassination ' )
magnify = Image ( ' magnify ' )
concentrated_fire = Image ( ' concentrated_fire ' )
unleash = Image ( ' unleash ' )
reinforce = Image ( ' reinforce ' )
payback = Image ( ' payback ' )
blessing = Image ( ' blessing ' )
hex_master = Image ( ' hex_master ' )
whispers_of_doom = Image ( ' whispers_of_doom ' )
force_push = Image ( ' force_push ' )
heavy_impact = Image ( ' heavy_impact ' )
crucio = Image ( ' crucio ' )
immolation = Image ( ' immolation ' )
call_of_the_void = Image ( ' call_of_the_void ' )
spawning_pool = Image ( ' spawning_pool ' )
hive = Image ( ' hive ' )
void_rift = Image ( ' void_rift ' )
2021-03-05 08:29:19 +01:00
class_colors = {
[ ' warrior ' ] = yellow [ 0 ] ,
[ ' ranger ' ] = green [ 0 ] ,
[ ' healer ' ] = green [ 0 ] ,
2021-03-12 04:05:20 +01:00
[ ' conjurer ' ] = orange [ 0 ] ,
2021-03-05 08:29:19 +01:00
[ ' mage ' ] = blue [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' nuker ' ] = red [ 0 ] ,
2021-03-05 08:29:19 +01:00
[ ' rogue ' ] = red [ 0 ] ,
2021-03-12 04:05:20 +01:00
[ ' enchanter ' ] = blue [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' psyker ' ] = fg [ 0 ] ,
2021-04-12 04:51:34 +02:00
[ ' curser ' ] = purple [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' forcer ' ] = yellow [ 0 ] ,
2021-04-12 04:51:34 +02:00
[ ' swarmer ' ] = orange [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' voider ' ] = purple [ 0 ] ,
2021-03-05 08:29:19 +01:00
}
2021-03-06 04:53:44 +01:00
class_color_strings = {
[ ' warrior ' ] = ' yellow ' ,
[ ' ranger ' ] = ' green ' ,
[ ' healer ' ] = ' green ' ,
2021-03-12 04:05:20 +01:00
[ ' conjurer ' ] = ' orange ' ,
2021-03-06 04:53:44 +01:00
[ ' mage ' ] = ' blue ' ,
2021-04-07 03:26:59 +02:00
[ ' nuker ' ] = ' red ' ,
2021-03-06 04:53:44 +01:00
[ ' rogue ' ] = ' red ' ,
2021-03-12 04:05:20 +01:00
[ ' enchanter ' ] = ' blue ' ,
2021-04-07 03:26:59 +02:00
[ ' psyker ' ] = ' fg ' ,
2021-04-12 04:51:34 +02:00
[ ' curser ' ] = ' purple ' ,
2021-04-07 03:26:59 +02:00
[ ' forcer ' ] = ' yellow ' ,
2021-04-12 04:51:34 +02:00
[ ' swarmer ' ] = ' orange ' ,
2021-04-07 03:26:59 +02:00
[ ' voider ' ] = ' purple ' ,
2021-03-06 04:53:44 +01:00
}
2021-04-17 05:30:34 +02:00
character_names = {
[ ' vagrant ' ] = ' Vagrant ' ,
[ ' swordsman ' ] = ' Swordsman ' ,
[ ' wizard ' ] = ' Wizard ' ,
[ ' archer ' ] = ' Archer ' ,
[ ' scout ' ] = ' Scout ' ,
[ ' cleric ' ] = ' Cleric ' ,
[ ' outlaw ' ] = ' Outlaw ' ,
[ ' blade ' ] = ' Blade ' ,
[ ' elementor ' ] = ' Elementor ' ,
[ ' saboteur ' ] = ' Saboteur ' ,
[ ' stormweaver ' ] = ' Stormweaver ' ,
[ ' sage ' ] = ' Sage ' ,
[ ' squire ' ] = ' Squire ' ,
[ ' cannoneer ' ] = ' Cannoneer ' ,
[ ' dual_gunner ' ] = ' Dual Gunner ' ,
[ ' hunter ' ] = ' Hunter ' ,
[ ' chronomancer ' ] = ' Chronomancer ' ,
[ ' spellblade ' ] = ' Spellblade ' ,
[ ' psykeeper ' ] = ' Psykeeper ' ,
[ ' engineer ' ] = ' Engineer ' ,
[ ' plague_doctor ' ] = ' Plague Doctor ' ,
[ ' barbarian ' ] = ' Barbarian ' ,
[ ' juggernaut ' ] = ' Juggernaut ' ,
[ ' lich ' ] = ' Lich ' ,
[ ' cryomancer ' ] = ' Cryomancer ' ,
[ ' pyromancer ' ] = ' Pyromancer ' ,
[ ' corruptor ' ] = ' Corruptor ' ,
[ ' beastmaster ' ] = ' Beastmaster ' ,
[ ' launcher ' ] = ' Launcher ' ,
[ ' bard ' ] = ' Bard ' ,
[ ' assassin ' ] = ' Assassin ' ,
[ ' host ' ] = ' Host ' ,
[ ' carver ' ] = ' Carver ' ,
[ ' bane ' ] = ' Bane ' ,
[ ' psykino ' ] = ' Psykino ' ,
[ ' barrager ' ] = ' Barrager ' ,
[ ' highlander ' ] = ' Highlander ' ,
[ ' fairy ' ] = ' Fairy ' ,
[ ' priest ' ] = ' Priest ' ,
[ ' infestor ' ] = ' Infestor ' ,
[ ' flagellant ' ] = ' Flagellant ' ,
}
2021-03-05 08:29:19 +01:00
character_colors = {
[ ' vagrant ' ] = fg [ 0 ] ,
[ ' swordsman ' ] = yellow [ 0 ] ,
[ ' wizard ' ] = blue [ 0 ] ,
[ ' archer ' ] = green [ 0 ] ,
[ ' scout ' ] = red [ 0 ] ,
[ ' cleric ' ] = green [ 0 ] ,
[ ' outlaw ' ] = red [ 0 ] ,
[ ' blade ' ] = yellow [ 0 ] ,
[ ' elementor ' ] = blue [ 0 ] ,
2021-03-12 04:05:20 +01:00
[ ' saboteur ' ] = orange [ 0 ] ,
[ ' stormweaver ' ] = blue [ 0 ] ,
2021-04-11 03:37:11 +02:00
[ ' sage ' ] = purple [ 0 ] ,
2021-03-05 08:29:19 +01:00
[ ' squire ' ] = yellow [ 0 ] ,
2021-03-12 04:05:20 +01:00
[ ' cannoneer ' ] = orange [ 0 ] ,
2021-03-05 08:29:19 +01:00
[ ' dual_gunner ' ] = green [ 0 ] ,
[ ' hunter ' ] = green [ 0 ] ,
[ ' chronomancer ' ] = blue [ 0 ] ,
[ ' spellblade ' ] = blue [ 0 ] ,
[ ' psykeeper ' ] = fg [ 0 ] ,
2021-03-12 04:05:20 +01:00
[ ' engineer ' ] = orange [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' plague_doctor ' ] = purple [ 0 ] ,
2021-04-12 04:51:34 +02:00
[ ' barbarian ' ] = yellow [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' juggernaut ' ] = yellow [ 0 ] ,
[ ' lich ' ] = blue [ 0 ] ,
[ ' cryomancer ' ] = blue [ 0 ] ,
[ ' pyromancer ' ] = red [ 0 ] ,
2021-04-12 04:51:34 +02:00
[ ' corruptor ' ] = orange [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' beastmaster ' ] = red [ 0 ] ,
2021-04-13 03:23:53 +02:00
[ ' launcher ' ] = yellow [ 0 ] ,
2021-04-12 04:51:34 +02:00
[ ' bard ' ] = red [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' assassin ' ] = purple [ 0 ] ,
2021-04-12 04:51:34 +02:00
[ ' host ' ] = orange [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' carver ' ] = green [ 0 ] ,
[ ' bane ' ] = purple [ 0 ] ,
[ ' psykino ' ] = fg [ 0 ] ,
2021-04-14 03:12:29 +02:00
[ ' barrager ' ] = green [ 0 ] ,
2021-04-12 04:51:34 +02:00
[ ' highlander ' ] = yellow [ 0 ] ,
2021-04-15 02:02:57 +02:00
[ ' fairy ' ] = green [ 0 ] ,
2021-04-07 03:26:59 +02:00
[ ' priest ' ] = green [ 0 ] ,
2021-04-12 04:51:34 +02:00
[ ' infestor ' ] = orange [ 0 ] ,
2021-04-11 03:37:11 +02:00
[ ' flagellant ' ] = fg [ 0 ] ,
2021-03-05 08:29:19 +01:00
}
2021-03-06 04:53:44 +01:00
character_color_strings = {
[ ' vagrant ' ] = ' fg ' ,
[ ' swordsman ' ] = ' yellow ' ,
[ ' wizard ' ] = ' blue ' ,
[ ' archer ' ] = ' green ' ,
[ ' scout ' ] = ' red ' ,
[ ' cleric ' ] = ' green ' ,
[ ' outlaw ' ] = ' red ' ,
[ ' blade ' ] = ' yellow ' ,
[ ' elementor ' ] = ' blue ' ,
2021-03-12 04:05:20 +01:00
[ ' saboteur ' ] = ' orange ' ,
[ ' stormweaver ' ] = ' blue ' ,
2021-04-11 03:37:11 +02:00
[ ' sage ' ] = ' purple ' ,
2021-03-06 04:53:44 +01:00
[ ' squire ' ] = ' yellow ' ,
2021-03-12 04:05:20 +01:00
[ ' cannoneer ' ] = ' orange ' ,
2021-03-06 04:53:44 +01:00
[ ' dual_gunner ' ] = ' green ' ,
[ ' hunter ' ] = ' green ' ,
[ ' chronomancer ' ] = ' blue ' ,
[ ' spellblade ' ] = ' blue ' ,
[ ' psykeeper ' ] = ' fg ' ,
2021-03-12 04:05:20 +01:00
[ ' engineer ' ] = ' orange ' ,
2021-04-07 03:26:59 +02:00
[ ' plague_doctor ' ] = ' purple ' ,
2021-04-12 04:51:34 +02:00
[ ' barbarian ' ] = ' yellow ' ,
2021-04-07 03:26:59 +02:00
[ ' juggernaut ' ] = ' yellow ' ,
[ ' lich ' ] = ' blue ' ,
[ ' cryomancer ' ] = ' blue ' ,
[ ' pyromancer ' ] = ' red ' ,
2021-04-12 04:51:34 +02:00
[ ' corruptor ' ] = ' orange ' ,
2021-04-07 03:26:59 +02:00
[ ' beastmaster ' ] = ' red ' ,
2021-04-13 03:23:53 +02:00
[ ' launcher ' ] = ' yellow ' ,
2021-04-12 04:51:34 +02:00
[ ' bard ' ] = ' red ' ,
2021-04-07 03:26:59 +02:00
[ ' assassin ' ] = ' purple ' ,
2021-04-12 04:51:34 +02:00
[ ' host ' ] = ' orange ' ,
2021-04-07 03:26:59 +02:00
[ ' carver ' ] = ' green ' ,
[ ' bane ' ] = ' purple ' ,
[ ' psykino ' ] = ' fg ' ,
2021-04-14 03:12:29 +02:00
[ ' barrager ' ] = ' green ' ,
2021-04-12 04:51:34 +02:00
[ ' highlander ' ] = ' yellow ' ,
2021-04-15 02:02:57 +02:00
[ ' fairy ' ] = ' green ' ,
2021-04-07 03:26:59 +02:00
[ ' priest ' ] = ' green ' ,
2021-04-12 04:51:34 +02:00
[ ' infestor ' ] = ' orange ' ,
2021-04-11 03:37:11 +02:00
[ ' flagellant ' ] = ' fg ' ,
2021-03-06 04:53:44 +01:00
}
2021-03-05 08:29:19 +01:00
character_classes = {
2021-04-07 03:26:59 +02:00
[ ' vagrant ' ] = { ' psyker ' , ' ranger ' , ' warrior ' } ,
2021-03-05 08:29:19 +01:00
[ ' swordsman ' ] = { ' warrior ' } ,
[ ' wizard ' ] = { ' mage ' } ,
[ ' archer ' ] = { ' ranger ' } ,
[ ' scout ' ] = { ' rogue ' } ,
[ ' cleric ' ] = { ' healer ' } ,
[ ' outlaw ' ] = { ' warrior ' , ' rogue ' } ,
[ ' blade ' ] = { ' warrior ' , ' nuker ' } ,
[ ' elementor ' ] = { ' mage ' , ' nuker ' } ,
[ ' saboteur ' ] = { ' rogue ' , ' conjurer ' , ' nuker ' } ,
[ ' stormweaver ' ] = { ' enchanter ' } ,
2021-04-07 03:26:59 +02:00
[ ' sage ' ] = { ' nuker ' } ,
[ ' squire ' ] = { ' warrior ' , ' enchanter ' } ,
2021-03-05 08:29:19 +01:00
[ ' cannoneer ' ] = { ' ranger ' , ' nuker ' } ,
[ ' dual_gunner ' ] = { ' ranger ' , ' rogue ' } ,
2021-04-07 03:26:59 +02:00
[ ' hunter ' ] = { ' ranger ' , ' conjurer ' , ' forcer ' } ,
2021-03-05 08:29:19 +01:00
[ ' chronomancer ' ] = { ' mage ' , ' enchanter ' } ,
[ ' spellblade ' ] = { ' mage ' , ' rogue ' } ,
2021-04-07 03:26:59 +02:00
[ ' psykeeper ' ] = { ' healer ' , ' psyker ' } ,
2021-03-05 08:29:19 +01:00
[ ' engineer ' ] = { ' conjurer ' } ,
2021-04-07 03:26:59 +02:00
[ ' plague_doctor ' ] = { ' nuker ' , ' voider ' } ,
2021-04-12 04:51:34 +02:00
[ ' barbarian ' ] = { ' curser ' , ' warrior ' } ,
2021-04-07 03:26:59 +02:00
[ ' juggernaut ' ] = { ' forcer ' , ' warrior ' } ,
[ ' lich ' ] = { ' mage ' } ,
[ ' cryomancer ' ] = { ' mage ' , ' voider ' } ,
[ ' pyromancer ' ] = { ' mage ' , ' nuker ' , ' voider ' } ,
[ ' corruptor ' ] = { ' ranger ' , ' swarmer ' } ,
[ ' beastmaster ' ] = { ' rogue ' , ' swarmer ' } ,
2021-04-12 04:51:34 +02:00
[ ' launcher ' ] = { ' curser ' , ' forcer ' } ,
[ ' bard ' ] = { ' curser ' , ' rogue ' } ,
2021-04-07 03:26:59 +02:00
[ ' assassin ' ] = { ' rogue ' , ' voider ' } ,
2021-04-13 03:23:53 +02:00
[ ' host ' ] = { ' swarmer ' } ,
2021-04-14 03:12:29 +02:00
[ ' carver ' ] = { ' conjurer ' , ' healer ' } ,
2021-04-12 04:51:34 +02:00
[ ' bane ' ] = { ' curser ' , ' voider ' } ,
2021-04-07 03:26:59 +02:00
[ ' psykino ' ] = { ' mage ' , ' psyker ' , ' forcer ' } ,
2021-04-14 03:12:29 +02:00
[ ' barrager ' ] = { ' ranger ' , ' forcer ' } ,
2021-04-12 04:51:34 +02:00
[ ' highlander ' ] = { ' warrior ' } ,
2021-04-15 02:02:57 +02:00
[ ' fairy ' ] = { ' enchanter ' , ' healer ' } ,
2021-04-07 03:26:59 +02:00
[ ' priest ' ] = { ' healer ' } ,
2021-04-12 04:51:34 +02:00
[ ' infestor ' ] = { ' curser ' , ' swarmer ' } ,
2021-04-07 03:26:59 +02:00
[ ' flagellant ' ] = { ' psyker ' , ' enchanter ' } ,
2021-03-05 08:29:19 +01:00
}
2021-04-10 00:46:49 +02:00
character_class_strings = {
[ ' vagrant ' ] = ' [fg]Psyker, [green]Ranger, [yellow]Warrior ' ,
[ ' swordsman ' ] = ' [yellow]Warrior ' ,
[ ' wizard ' ] = ' [blue]Mage ' ,
[ ' archer ' ] = ' [green]Ranger ' ,
[ ' scout ' ] = ' [red]Rogue ' ,
[ ' cleric ' ] = ' [green]Healer ' ,
[ ' outlaw ' ] = ' [yellow]Warrior, [red]Rogue ' ,
[ ' blade ' ] = ' [yellow]Warrior, [red]Nuker ' ,
[ ' elementor ' ] = ' [blue]Mage, [red]Nuker ' ,
[ ' saboteur ' ] = ' [red]Rogue, [orange]Conjurer, [red]Nuker ' ,
[ ' stormweaver ' ] = ' [blue]Enchanter ' ,
[ ' sage ' ] = ' [red]Nuker ' ,
[ ' squire ' ] = ' [yellow]Warrior, [blue]Enchanter ' ,
[ ' cannoneer ' ] = ' [green]Ranger, [red]Nuker ' ,
[ ' dual_gunner ' ] = ' [green]Ranger, [red]Rogue ' ,
[ ' hunter ' ] = ' [green]Ranger, [orange]Conjurer, [yellow]Forcer ' ,
[ ' chronomancer ' ] = ' [blue]Mage, Enchanter ' ,
[ ' spellblade ' ] = ' [blue]Mage, [red]Rogue ' ,
[ ' psykeeper ' ] = ' [green]Healer, [fg]Psyker ' ,
[ ' engineer ' ] = ' [orange]Conjurer ' ,
[ ' plague_doctor ' ] = ' [red]Nuker, [purple]Voider ' ,
2021-04-12 04:51:34 +02:00
[ ' barbarian ' ] = ' [purple]Curser, [yellow]Warrior ' ,
2021-04-10 00:46:49 +02:00
[ ' juggernaut ' ] = ' [yellow]Forcer, Warrior ' ,
[ ' lich ' ] = ' [blue]Mage ' ,
[ ' cryomancer ' ] = ' [blue]Mage, [purple]Voider ' ,
[ ' pyromancer ' ] = ' [blue]Mage, [red]Nuker, [purple]Voider ' ,
2021-04-12 04:51:34 +02:00
[ ' corruptor ' ] = ' [green]Ranger, [orange]Swarmer ' ,
[ ' beastmaster ' ] = ' [red]Rogue, [orange]Swarmer ' ,
2021-04-13 03:23:53 +02:00
[ ' launcher ' ] = ' [yellow]Forcer, [purple]Curser ' ,
2021-04-12 04:51:34 +02:00
[ ' bard ' ] = ' [purple]Curser, [red]Rogue ' ,
2021-04-10 00:46:49 +02:00
[ ' assassin ' ] = ' [red]Rogue, [purple]Voider ' ,
2021-04-13 03:23:53 +02:00
[ ' host ' ] = ' [orange]Swarmer ' ,
2021-04-14 03:12:29 +02:00
[ ' carver ' ] = ' [orange]Conjurer, [green]Healer ' ,
2021-04-12 04:51:34 +02:00
[ ' bane ' ] = ' [purple]Curser, Voider ' ,
2021-04-10 00:46:49 +02:00
[ ' psykino ' ] = ' [blue]Mage, [fg]Psyker, [yellow]Forcer ' ,
2021-04-14 03:12:29 +02:00
[ ' barrager ' ] = ' [green]Ranger, [yellow]Forcer ' ,
2021-04-12 04:51:34 +02:00
[ ' highlander ' ] = ' [yellow]Warrior ' ,
2021-04-15 02:02:57 +02:00
[ ' fairy ' ] = ' [blue]Enchanter, [green]Healer ' ,
2021-04-10 00:46:49 +02:00
[ ' priest ' ] = ' [green]Healer ' ,
2021-04-12 04:51:34 +02:00
[ ' infestor ' ] = ' [purple]Curser, [orange]Swarmer ' ,
2021-04-10 00:46:49 +02:00
[ ' flagellant ' ] = ' [fg]Psyker, [blue]Enchanter ' ,
}
get_character_stat_string = function ( character , level )
local group = Group ( ) : set_as_physics_world ( 32 , 0 , 0 , { ' player ' , ' enemy ' , ' projectile ' , ' enemy_projectile ' } )
2021-04-11 03:37:11 +02:00
local player = Player { group = group , leader = true , character = character , level = level , follower_index = 1 }
player : update ( 0 )
return ' [red]HP: [red] ' .. player.max_hp .. ' [fg], [red]DMG: [red] ' .. player.dmg .. ' [fg], [green]ASPD: [green] ' .. math.round ( player.aspd_m , 2 ) .. ' x[fg], [blue]AREA: [blue] ' ..
math.round ( player.area_dmg_m * player.area_size_m , 2 ) .. ' x[fg], [yellow]DEF: [yellow] ' .. math.round ( player.def , 2 ) .. ' [fg], [green]MVSPD: [green] ' .. math.round ( player.v , 2 ) .. ' [fg] '
2021-04-10 00:46:49 +02:00
end
get_character_stat = function ( character , level , stat )
local group = Group ( ) : set_as_physics_world ( 32 , 0 , 0 , { ' player ' , ' enemy ' , ' projectile ' , ' enemy_projectile ' } )
2021-04-11 03:37:11 +02:00
local player = Player { group = group , leader = true , character = character , level = level , follower_index = 1 }
player : update ( 0 )
return math.round ( player [ stat ] , 2 )
2021-04-10 00:46:49 +02:00
end
2021-03-06 04:53:44 +01:00
character_descriptions = {
2021-04-07 03:26:59 +02:00
[ ' vagrant ' ] = function ( lvl ) return ' [fg]shoots a projectile that deals [yellow] ' .. get_character_stat ( ' vagrant ' , lvl , ' dmg ' ) .. ' [fg] damage ' end ,
2021-04-10 00:46:49 +02:00
[ ' swordsman ' ] = function ( lvl ) return ' [fg]deals [yellow] ' .. get_character_stat ( ' swordsman ' , lvl , ' dmg ' ) .. ' [fg] damage in an area, deals extra [yellow] ' ..
2021-04-07 03:26:59 +02:00
math.round ( get_character_stat ( ' swordsman ' , lvl , ' dmg ' ) / 3 , 2 ) .. ' [fg] damage per unit hit ' end ,
[ ' wizard ' ] = function ( lvl ) return ' [fg]shoots a projectile that deals [yellow] ' .. get_character_stat ( ' wizard ' , lvl , ' dmg ' ) .. ' AoE[fg] damage ' end ,
[ ' archer ' ] = function ( lvl ) return ' [fg]shoots an arrow that deals [yellow] ' .. get_character_stat ( ' archer ' , lvl , ' dmg ' ) .. ' [fg] damage and pierces ' end ,
[ ' scout ' ] = function ( lvl ) return ' [fg]throws a knife that deals [yellow] ' .. get_character_stat ( ' scout ' , lvl , ' dmg ' ) .. ' [fg] damage and chains [yellow]3[fg] times ' end ,
[ ' cleric ' ] = function ( lvl ) return ' [fg]heals a unit for [yellow]20%[fg] of its max hp when it drops below [yellow]50%[fg] max hp ' end ,
2021-04-10 00:46:49 +02:00
[ ' outlaw ' ] = function ( lvl ) return ' [fg]throws a fan of [yellow]5[fg] knives, each dealing [yellow] ' .. get_character_stat ( ' outlaw ' , lvl , ' dmg ' ) .. ' [fg] damage ' end ,
2021-04-07 03:26:59 +02:00
[ ' blade ' ] = function ( lvl ) return ' [fg]throws multiple blades that deal [yellow] ' .. get_character_stat ( ' blade ' , lvl , ' dmg ' ) .. ' AoE[fg] damage ' end ,
[ ' elementor ' ] = function ( lvl ) return ' [fg]deals [yellow] ' .. get_character_stat ( ' elementor ' , lvl , ' dmg ' ) .. ' AoE[fg] damage in a large area centered on a random target ' end ,
2021-04-10 00:46:49 +02:00
[ ' saboteur ' ] = function ( lvl ) return ' [fg]calls [yellow]2[fg] saboteurs to seek targets and deal [yellow] ' .. get_character_stat ( ' saboteur ' , lvl , ' dmg ' ) .. ' AoE[fg] damage ' end ,
2021-04-11 03:37:11 +02:00
[ ' stormweaver ' ] = function ( lvl ) return ' [fg]infuses projectiles with chain lightning that deals [yellow]20%[fg] damage to [yellow]2[fg] enemies ' end ,
2021-04-07 03:26:59 +02:00
[ ' sage ' ] = function ( lvl ) return ' [fg]shoots a slow projectile that draws enemies in ' end ,
2021-04-11 03:37:11 +02:00
[ ' squire ' ] = function ( lvl ) return ' [yellow]+15%[fg] damage and defense to all allies ' end ,
[ ' cannoneer ' ] = function ( lvl ) return ' [fg]shoots a projectile that deals [yellow] ' .. 2 * get_character_stat ( ' cannoneer ' , lvl , ' dmg ' ) .. ' AoE[fg] damage ' end ,
[ ' dual_gunner ' ] = function ( lvl ) return ' [fg]shoots two parallel projectiles, each dealing [yellow] ' .. get_character_stat ( ' dual_gunner ' , lvl , ' dmg ' ) .. ' [fg] damage ' end ,
2021-04-07 03:26:59 +02:00
[ ' hunter ' ] = function ( lvl ) return ' [fg]shoots an arrow that deals [yellow] ' .. get_character_stat ( ' hunter ' , lvl , ' dmg ' ) .. ' [fg] damage and has a [yellow]20%[fg] chance to summon a pet ' end ,
2021-04-10 00:46:49 +02:00
[ ' chronomancer ' ] = function ( lvl ) return ' [yellow]+20%[fg] attack speed to all allies ' end ,
2021-04-07 03:26:59 +02:00
[ ' spellblade ' ] = function ( lvl ) return ' [fg]throws knives that deal [yellow] ' .. get_character_stat ( ' spellblade ' , lvl , ' dmg ' ) .. ' [fg] damage, pierce and spiral outwards ' end ,
[ ' psykeeper ' ] = function ( lvl ) return ' [fg]all damage taken is stored up to [yellow]50%[fg] max HP and distributed as healing to all allies ' end ,
[ ' engineer ' ] = function ( lvl ) return ' [fg]drops sentries that shoot bursts of projectiles, each dealing [yellow] ' .. get_character_stat ( ' engineer ' , lvl , ' dmg ' ) .. ' [fg] damage ' end ,
2021-04-10 00:46:49 +02:00
[ ' plague_doctor ' ] = function ( lvl ) return ' [fg]creates an area that deals [yellow] ' .. get_character_stat ( ' plague_doctor ' , lvl , ' dmg ' ) .. ' [fg] damage per second ' end ,
2021-04-12 04:51:34 +02:00
[ ' barbarian ' ] = function ( lvl ) return ' [fg]deals [yellow] ' .. get_character_stat ( ' barbarian ' , lvl , ' dmg ' ) .. ' [fg] AoE damage and stuns enemies hit for [yellow]4[fg] seconds ' end ,
[ ' juggernaut ' ] = function ( lvl ) return ' [fg]deals [yellow] ' .. get_character_stat ( ' juggernaut ' , lvl , ' dmg ' ) .. ' [fg] AoE damage and pushes enemies away with a strong force ' end ,
[ ' lich ' ] = function ( lvl ) return ' [fg]launches a slow projectile that jumps [yellow]7[fg] times, dealing [yellow] ' .. 2 * get_character_stat ( ' lich ' , lvl , ' dmg ' ) .. ' [fg] damage per hit ' end ,
[ ' cryomancer ' ] = function ( lvl ) return ' [fg]nearby enemies take [yellow] ' .. get_character_stat ( ' cryomancer ' , lvl , ' dmg ' ) .. ' [fg] damage per second ' end ,
[ ' pyromancer ' ] = function ( lvl ) return ' [fg]nearby enemies take [yellow] ' .. get_character_stat ( ' pyromancer ' , lvl , ' dmg ' ) .. ' [fg] damage per second ' end ,
2021-04-07 03:26:59 +02:00
[ ' corruptor ' ] = function ( lvl ) return ' [fg]spawn [yellow]3[fg] small critters if the corruptor kills an enemy ' end ,
[ ' beastmaster ' ] = function ( lvl ) return ' [fg]spawn [yellow]2[fg] small critters if the beastmaster crits ' end ,
2021-04-13 03:23:53 +02:00
[ ' launcher ' ] = function ( lvl ) return ' [fg]nearby enemies are pushed after [yellow]4[fg] seconds, taking [yellow] ' .. 2 * get_character_stat ( ' launcher ' , lvl , ' dmg ' ) .. ' [fg] damage on wall hit ' end ,
[ ' bard ' ] = function ( lvl ) return " [fg]throws a knife that deals [yellow] " .. get_character_stat ( ' bard ' , lvl , ' dmg ' ) .. " [fg] damage and inflicts enemies hit with the bard's curse " end ,
2021-04-07 03:26:59 +02:00
[ ' assassin ' ] = function ( lvl ) return ' [fg]throws a piercing knife that deals [yellow] ' .. get_character_stat ( ' assassin ' , lvl , ' dmg ' ) .. ' [fg] damage and inflicts poison that deals [yellow] ' ..
2021-04-13 03:23:53 +02:00
get_character_stat ( ' assassin ' , lvl , ' dmg ' ) / 2 .. ' [fg] damage per second for [yellow]3[fg] seconds ' end ,
[ ' host ' ] = function ( lvl ) return ' [fg]periodically spawn [yellow]1[fg] small critter ' end ,
2021-04-14 03:12:29 +02:00
[ ' carver ' ] = function ( lvl ) return ' [fg]carves a statue that periodically heals [yellow]1[fg] unit for [yellow]20%[fg] max HP if in range ' end ,
[ ' bane ' ] = function ( lvl ) return ' [fg]creates a large area that curses enemies to take [yellow]+50%[fg] damage ' end ,
[ ' psykino ' ] = function ( lvl ) return ' [fg]pulls enemies together for [yellow]2[fg] seconds ' end ,
[ ' barrager ' ] = function ( lvl ) return ' [fg]shoots a barrage of [yellow]5[fg] arrows, each dealing [yellow] ' .. get_character_stat ( ' barrager ' , lvl , ' dmg ' ) .. ' [fg] damage and pushing enemies ' end ,
2021-04-15 02:02:57 +02:00
[ ' highlander ' ] = function ( lvl ) return ' [fg]deals [yellow] ' .. 5 * get_character_stat ( ' highlander ' , lvl , ' dmg ' ) .. ' [fg] AoE damage ' end ,
[ ' fairy ' ] = function ( lvl ) return ' [fg]periodically heals [yellow]1[fg] unit at random and grants it [yellow]+100%[fg] attack speed for [yellow]6[fg] seconds ' end ,
2021-04-07 03:26:59 +02:00
[ ' priest ' ] = function ( lvl ) return ' [fg]heals all allies for [yellow]20%[fg] their max HP ' end ,
2021-04-15 02:02:57 +02:00
[ ' infestor ' ] = function ( lvl ) return ' [fg]curses nearby enemies for [yellow]6[fg] seconds, they will release [yellow]2[fg] critters on death ' end ,
[ ' flagellant ' ] = function ( lvl ) return ' [fg]deals [yellow] ' .. 2 * get_character_stat ( ' flagellant ' , lvl , ' dmg ' ) .. ' [fg] damage to self and grants [yellow]+4%[fg] damage to all allies per cast ' end ,
2021-03-06 04:53:44 +01:00
}
2021-04-10 00:46:49 +02:00
character_effect_names = {
[ ' vagrant ' ] = ' [fg]Champion ' ,
[ ' swordsman ' ] = ' [yellow]Cleave ' ,
[ ' wizard ' ] = ' [blue]Magic Missile ' ,
[ ' archer ' ] = ' [green]Bounce Shot ' ,
[ ' scout ' ] = ' [red]Dagger Resonance ' ,
[ ' cleric ' ] = ' [green]Mass Heal ' ,
[ ' outlaw ' ] = ' [red]Flying Daggers ' ,
[ ' blade ' ] = ' [yellow]Blade Resonance ' ,
[ ' elementor ' ] = ' [blue]Windfield ' ,
[ ' saboteur ' ] = ' [orange]Demoman ' ,
2021-04-11 03:37:11 +02:00
[ ' stormweaver ' ] = ' [blue]Wide Lightning ' ,
2021-04-10 00:46:49 +02:00
[ ' sage ' ] = ' [purple]Dimension Compression ' ,
[ ' squire ' ] = ' [yellow]Repair ' ,
[ ' cannoneer ' ] = ' [orange]Cannon Barrage ' ,
[ ' dual_gunner ' ] = ' [green]Gun Kata ' ,
[ ' hunter ' ] = ' [green]Feral Pack ' ,
[ ' chronomancer ' ] = ' [blue]Quicken ' ,
[ ' spellblade ' ] = ' [blue]Spiralism ' ,
[ ' psykeeper ' ] = ' [fg]Crucio ' ,
[ ' engineer ' ] = ' [orange]Upgrade ' ,
2021-04-11 03:37:11 +02:00
[ ' plague_doctor ' ] = ' [purple]Black Death Steam ' ,
2021-04-12 04:51:34 +02:00
[ ' barbarian ' ] = ' [yellow]Seism ' ,
2021-04-10 00:46:49 +02:00
[ ' juggernaut ' ] = ' [yellow]Brutal Impact ' ,
2021-04-12 04:51:34 +02:00
[ ' lich ' ] = ' [blue]Chain Frost ' ,
2021-04-10 00:46:49 +02:00
[ ' cryomancer ' ] = ' [blue]Frostbite ' ,
[ ' pyromancer ' ] = ' [red]Ignite ' ,
2021-04-12 04:51:34 +02:00
[ ' corruptor ' ] = ' [orange]Corruption ' ,
2021-04-10 00:46:49 +02:00
[ ' beastmaster ' ] = ' [red]Call of the Wild ' ,
[ ' launcher ' ] = ' [orange]Kineticism ' ,
2021-04-13 03:23:53 +02:00
[ ' bard ' ] = " [red]The Bard's Song " ,
2021-04-10 00:46:49 +02:00
[ ' assassin ' ] = ' [purple]Toxic Delivery ' ,
2021-04-12 04:51:34 +02:00
[ ' host ' ] = ' [orange]Invasion ' ,
2021-04-10 00:46:49 +02:00
[ ' carver ' ] = ' [green]World Tree ' ,
2021-04-12 04:51:34 +02:00
[ ' bane ' ] = ' [purple]Nightmare ' ,
2021-04-10 00:46:49 +02:00
[ ' psykino ' ] = ' [fg]Magnetic Force ' ,
2021-04-14 03:12:29 +02:00
[ ' barrager ' ] = ' [green]Barrage ' ,
2021-04-15 02:02:57 +02:00
[ ' highlander ' ] = ' [yellow]Moulinet ' ,
[ ' fairy ' ] = ' [green]Whimsy ' ,
2021-04-10 00:46:49 +02:00
[ ' priest ' ] = ' [green]Divine Intervention ' ,
2021-04-12 04:51:34 +02:00
[ ' infestor ' ] = ' [orange]Infestation ' ,
2021-04-10 00:46:49 +02:00
[ ' flagellant ' ] = ' [red]Zealotry ' ,
}
2021-03-07 03:35:18 +01:00
2021-04-10 00:46:49 +02:00
character_effect_names_gray = {
[ ' vagrant ' ] = ' [light_bg]Champion ' ,
[ ' swordsman ' ] = ' [light_bg]Cleave ' ,
[ ' wizard ' ] = ' [light_bg]Magic Missile ' ,
[ ' archer ' ] = ' [light_bg]Bounce Shot ' ,
2021-04-11 03:37:11 +02:00
[ ' scout ' ] = ' [light_bg]Dagger Resonance ' ,
2021-04-10 00:46:49 +02:00
[ ' cleric ' ] = ' [light_bg]Mass Heal ' ,
2021-04-11 03:37:11 +02:00
[ ' outlaw ' ] = ' [light_bg]Flying Daggers ' ,
2021-04-10 00:46:49 +02:00
[ ' blade ' ] = ' [light_bg]Blade Resonance ' ,
[ ' elementor ' ] = ' [light_bg]Windfield ' ,
2021-04-11 03:37:11 +02:00
[ ' saboteur ' ] = ' [light_bg]Demoman ' ,
[ ' stormweaver ' ] = ' [light_bg]Wide Lightning ' ,
2021-04-10 00:46:49 +02:00
[ ' sage ' ] = ' [light_bg]Dimension Compression ' ,
[ ' squire ' ] = ' [light_bg]Repair ' ,
[ ' cannoneer ' ] = ' [light_bg]Cannon Barrage ' ,
[ ' dual_gunner ' ] = ' [light_bg]Gun Kata ' ,
[ ' hunter ' ] = ' [light_bg]Feral Pack ' ,
[ ' chronomancer ' ] = ' [light_bg]Quicken ' ,
[ ' spellblade ' ] = ' [light_bg]Spiralism ' ,
[ ' psykeeper ' ] = ' [light_bg]Crucio ' ,
[ ' engineer ' ] = ' [light_bg]Upgrade ' ,
2021-04-11 03:37:11 +02:00
[ ' plague_doctor ' ] = ' [light_bg]Black Death Steam ' ,
2021-04-15 02:02:57 +02:00
[ ' barbarian ' ] = ' [light_bg]Seism ' ,
2021-04-10 00:46:49 +02:00
[ ' juggernaut ' ] = ' [light_bg]Brutal Impact ' ,
2021-04-15 02:02:57 +02:00
[ ' lich ' ] = ' [light_bg]Chain Frost ' ,
2021-04-10 00:46:49 +02:00
[ ' cryomancer ' ] = ' [light_bg]Frostbite ' ,
[ ' pyromancer ' ] = ' [light_bg]Ignite ' ,
2021-04-12 04:51:34 +02:00
[ ' corruptor ' ] = ' [light_bg]Corruption ' ,
2021-04-10 00:46:49 +02:00
[ ' beastmaster ' ] = ' [light_bg]Call of the Wild ' ,
[ ' launcher ' ] = ' [light_bg]Kineticism ' ,
2021-04-15 02:02:57 +02:00
[ ' bard ' ] = " [red]The Bard'light_bgSong " ,
2021-04-10 00:46:49 +02:00
[ ' assassin ' ] = ' [light_bg]Toxic Delivery ' ,
[ ' host ' ] = ' [light_bg]Invasion ' ,
[ ' carver ' ] = ' [light_bg]World Tree ' ,
2021-04-15 02:02:57 +02:00
[ ' bane ' ] = ' [light_bg]Nightmare ' ,
2021-04-10 00:46:49 +02:00
[ ' psykino ' ] = ' [light_bg]Magnetic Force ' ,
2021-04-15 02:02:57 +02:00
[ ' barrager ' ] = ' [light_bg]Barrage ' ,
[ ' highlander ' ] = ' [light_bg]Moulinet ' ,
[ ' fairy ' ] = ' [light_bg]Whimsy ' ,
2021-04-10 00:46:49 +02:00
[ ' priest ' ] = ' [light_bg]Divine Intervention ' ,
2021-04-12 04:51:34 +02:00
[ ' infestor ' ] = ' [light_bg]Infestation ' ,
2021-04-10 00:46:49 +02:00
[ ' flagellant ' ] = ' [light_bg]Zealotry ' ,
}
character_effect_descriptions = {
[ ' vagrant ' ] = function ( ) return ' [yellow]+10%[fg] damage and [yellow]+5%[fg] attack speed per active set ' end ,
[ ' swordsman ' ] = function ( ) return " [fg]the swordsman's damage is [yellow]doubled " end ,
[ ' wizard ' ] = function ( ) return ' [fg]the projectile chains [yellow]5[fg] times ' end ,
[ ' archer ' ] = function ( ) return ' [fg]the arrow ricochets off walls [yellow]3[fg] times ' end ,
[ ' scout ' ] = function ( ) return ' [yellow]+25%[fg] damage per chain and [yellow]+3[fg] chains ' end ,
[ ' cleric ' ] = function ( ) return ' [fg]heals all units ' end ,
[ ' outlaw ' ] = function ( ) return " [yellow]+50%[fg] outlaw attack speed and his knives seek enemies " end ,
[ ' blade ' ] = function ( ) return ' [fg]deal additional [yellow] ' .. get_character_stat ( ' blade ' , 3 , ' dmg ' ) / 2 .. ' [fg] damage per enemy hit ' end ,
[ ' elementor ' ] = function ( ) return ' [fg]slows enemies by [yellow]60%[fg] for [yellow]6[fg] seconds on hit ' end ,
[ ' saboteur ' ] = function ( ) return ' [fg]the explosion has [yellow]50%[fg] chance to crit, increasing in size and dealing [yellow]2x[fg] damage ' end ,
2021-04-11 03:37:11 +02:00
[ ' stormweaver ' ] = function ( ) return " [fg]chain lightning's trigger area of effect and number of units hit is [yellow]doubled " end ,
[ ' sage ' ] = function ( ) return ' [fg]when the projectile expires deal [yellow] ' .. 3 * get_character_stat ( ' sage ' , 3 , ' dmg ' ) .. ' [fg] damage to all enemies under its influence ' end ,
2021-04-10 00:46:49 +02:00
[ ' squire ' ] = function ( ) return ' [fg]you can reroll your item choices once, these opportunities stack if unused ' end ,
2021-04-11 03:37:11 +02:00
[ ' cannoneer ' ] = function ( ) return ' [fg]showers the hit area in [yellow]5[fg] additional cannon shots that deal [yellow] ' .. get_character_stat ( ' cannoneer ' , 3 , ' dmg ' ) / 2 .. ' [fg] AoE damage ' end ,
[ ' dual_gunner ' ] = function ( ) return ' [fg]every 5th attack shoot in rapid succession for [yellow]2[fg] seconds ' end ,
[ ' hunter ' ] = function ( ) return ' [fg]summons [yellow]3[fg] pets and the pets ricochet off walls once ' end ,
2021-04-10 00:46:49 +02:00
[ ' chronomancer ' ] = function ( ) return ' [fg]enemies take damave over time [yellow]50%[fg] faster ' end ,
[ ' spellblade ' ] = function ( ) return ' [fg]faster projectile speed and tighter turns ' end ,
2021-04-11 03:37:11 +02:00
[ ' psykeeper ' ] = function ( ) return ' [fg]also redistributes damage taken as damage to all enemies at [yellow]double[fg] value ' end ,
[ ' engineer ' ] = function ( ) return ' [fg]every 3rd sentry dropped upgrade all sentries with [yellow]+100%[fg] damage and attack speed ' end ,
[ ' plague_doctor ' ] = function ( ) return ' [fg]nearby enemies take an additional [yellow] ' .. get_character_stat ( ' plague_doctor ' , 3 , ' dmg ' ) .. ' [fg] damage per second ' end ,
2021-04-12 04:51:34 +02:00
[ ' barbarian ' ] = function ( ) return ' [fg]stunned enemies also take [yellow]100%[fg] increased damage ' end ,
[ ' juggernaut ' ] = function ( ) return ' [fg]enemies pushed by the juggernaut take [yellow] ' .. 4 * get_character_stat ( ' juggernaut ' , 3 , ' dmg ' ) .. ' [fg] damage if they hit a wall ' end ,
[ ' lich ' ] = function ( ) return ' [fg]chain frost slows enemies hit by [yellow]80%[fg] for [yellow]2[fg] seconds and chains [yellow]+7[fg] times ' end ,
[ ' cryomancer ' ] = function ( ) return ' [fg]enemies are also slowed by [yellow]60%[fg] while in the area ' end ,
2021-04-10 00:46:49 +02:00
[ ' pyromancer ' ] = function ( ) return ' [fg]enemies killed by the pyromancer explode, dealing [yellow] ' .. get_character_stat ( ' pyromancer ' , 3 , ' dmg ' ) .. ' [fg] AoE damage ' end ,
[ ' corruptor ' ] = function ( ) return ' [fg]spawn [yellow]3[fg] small critters if the corruptor hits an enemy ' end ,
[ ' beastmaster ' ] = function ( ) return ' [fg]spawn [yellow]2[fg] small critters if the beastmaster gets hit ' end ,
2021-04-13 03:23:53 +02:00
[ ' launcher ' ] = function ( ) return ' [fg]enemies launched take [yellow]300%[fg] more damage when they hit walls ' end ,
[ ' bard ' ] = function ( ) return ' [fg]every 8th attack consume the curse to deal [yellow] ' .. 4 * get_character_stat ( ' bard ' , 3 , ' dmg ' ) .. ' [fg] damage to affected enemies ' end ,
2021-04-10 00:46:49 +02:00
[ ' assassin ' ] = function ( ) return ' [fg]poison inflicted from crits deals [yellow]8x[fg] damage ' end ,
2021-04-13 03:23:53 +02:00
[ ' host ' ] = function ( ) return ' [fg][yellow]+100%[fg] critter spawn rate and spawn [yellow]2[fg] critters instead ' end ,
2021-04-14 03:12:29 +02:00
[ ' carver ' ] = function ( ) return ' [fg]carves a tree that heals [yellow]twice[fg] as fast, in a bigger area, and heals [yellow]2[fg] units instead ' end ,
2021-04-12 04:51:34 +02:00
[ ' bane ' ] = function ( ) return ' [fg]the area also deals [yellow] ' .. get_character_stat ( ' bane ' , 3 , ' dmg ' ) .. ' [fg] damage per second and slows enemies by [yellow]50%[fg] ' end ,
2021-04-14 03:12:29 +02:00
[ ' psykino ' ] = function ( ) return ' [fg]enemies take [yellow] ' .. 4 * get_character_stat ( ' psykino ' , 3 , ' dmg ' ) .. ' [fg] damage and are pushed away when the area expires ' end ,
[ ' barrager ' ] = function ( ) return ' [fg]every 3rd attack the barrage shoots [yellow]15[fg] projectiles and they push harder ' end ,
2021-04-15 02:02:57 +02:00
[ ' highlander ' ] = function ( ) return ' [fg]quickly repeats the attack [yellow]3[fg] times ' end ,
[ ' fairy ' ] = function ( ) return ' [fg]heals [yellow]2[fg] units instead and grants them an additional [yellow]100%[fg] attack speed ' end ,
2021-04-10 00:46:49 +02:00
[ ' priest ' ] = function ( ) return ' [fg]at the start of the round pick [yellow]3[fg] units at random and grants them a buff that prevents death once ' end ,
2021-04-12 04:51:34 +02:00
[ ' infestor ' ] = function ( ) return ' [fg][yellow]triples[fg] the number of critters released ' end ,
2021-04-15 02:02:57 +02:00
[ ' flagellant ' ] = function ( ) return ' [fg]deals [yellow] ' .. 2 * get_character_stat ( ' flagellant ' , 3 , ' dmg ' ) .. ' [fg] damage to all allies and grants [yellow]+12%[fg] damage to all allies per cast ' end ,
2021-04-10 00:46:49 +02:00
}
2021-03-06 04:53:44 +01:00
2021-03-07 03:35:18 +01:00
character_stats = {
[ ' vagrant ' ] = function ( lvl ) return get_character_stat_string ( ' vagrant ' , lvl ) end ,
[ ' swordsman ' ] = function ( lvl ) return get_character_stat_string ( ' swordsman ' , lvl ) end ,
[ ' wizard ' ] = function ( lvl ) return get_character_stat_string ( ' wizard ' , lvl ) end ,
[ ' archer ' ] = function ( lvl ) return get_character_stat_string ( ' archer ' , lvl ) end ,
[ ' scout ' ] = function ( lvl ) return get_character_stat_string ( ' scout ' , lvl ) end ,
[ ' cleric ' ] = function ( lvl ) return get_character_stat_string ( ' cleric ' , lvl ) end ,
[ ' outlaw ' ] = function ( lvl ) return get_character_stat_string ( ' outlaw ' , lvl ) end ,
[ ' blade ' ] = function ( lvl ) return get_character_stat_string ( ' blade ' , lvl ) end ,
[ ' elementor ' ] = function ( lvl ) return get_character_stat_string ( ' elementor ' , lvl ) end ,
[ ' saboteur ' ] = function ( lvl ) return get_character_stat_string ( ' saboteur ' , lvl ) end ,
[ ' stormweaver ' ] = function ( lvl ) return get_character_stat_string ( ' stormweaver ' , lvl ) end ,
[ ' sage ' ] = function ( lvl ) return get_character_stat_string ( ' sage ' , lvl ) end ,
[ ' squire ' ] = function ( lvl ) return get_character_stat_string ( ' squire ' , lvl ) end ,
[ ' cannoneer ' ] = function ( lvl ) return get_character_stat_string ( ' cannoneer ' , lvl ) end ,
[ ' dual_gunner ' ] = function ( lvl ) return get_character_stat_string ( ' dual_gunner ' , lvl ) end ,
[ ' hunter ' ] = function ( lvl ) return get_character_stat_string ( ' hunter ' , lvl ) end ,
[ ' chronomancer ' ] = function ( lvl ) return get_character_stat_string ( ' chronomancer ' , lvl ) end ,
[ ' spellblade ' ] = function ( lvl ) return get_character_stat_string ( ' spellblade ' , lvl ) end ,
[ ' psykeeper ' ] = function ( lvl ) return get_character_stat_string ( ' psykeeper ' , lvl ) end ,
[ ' engineer ' ] = function ( lvl ) return get_character_stat_string ( ' engineer ' , lvl ) end ,
2021-04-07 03:26:59 +02:00
[ ' plague_doctor ' ] = function ( lvl ) return get_character_stat_string ( ' plague_doctor ' , lvl ) end ,
2021-04-12 04:51:34 +02:00
[ ' barbarian ' ] = function ( lvl ) return get_character_stat_string ( ' barbarian ' , lvl ) end ,
2021-04-07 03:26:59 +02:00
[ ' juggernaut ' ] = function ( lvl ) return get_character_stat_string ( ' juggernaut ' , lvl ) end ,
[ ' lich ' ] = function ( lvl ) return get_character_stat_string ( ' lich ' , lvl ) end ,
[ ' cryomancer ' ] = function ( lvl ) return get_character_stat_string ( ' cryomancer ' , lvl ) end ,
[ ' pyromancer ' ] = function ( lvl ) return get_character_stat_string ( ' pyromancer ' , lvl ) end ,
[ ' corruptor ' ] = function ( lvl ) return get_character_stat_string ( ' corruptor ' , lvl ) end ,
[ ' beastmaster ' ] = function ( lvl ) return get_character_stat_string ( ' beastmaster ' , lvl ) end ,
[ ' launcher ' ] = function ( lvl ) return get_character_stat_string ( ' launcher ' , lvl ) end ,
2021-04-12 04:51:34 +02:00
[ ' bard ' ] = function ( lvl ) return get_character_stat_string ( ' bard ' , lvl ) end ,
2021-04-07 03:26:59 +02:00
[ ' assassin ' ] = function ( lvl ) return get_character_stat_string ( ' assassin ' , lvl ) end ,
[ ' host ' ] = function ( lvl ) return get_character_stat_string ( ' host ' , lvl ) end ,
[ ' carver ' ] = function ( lvl ) return get_character_stat_string ( ' carver ' , lvl ) end ,
[ ' bane ' ] = function ( lvl ) return get_character_stat_string ( ' bane ' , lvl ) end ,
[ ' psykino ' ] = function ( lvl ) return get_character_stat_string ( ' psykino ' , lvl ) end ,
2021-04-14 03:12:29 +02:00
[ ' barrager ' ] = function ( lvl ) return get_character_stat_string ( ' barrager ' , lvl ) end ,
2021-04-12 04:51:34 +02:00
[ ' highlander ' ] = function ( lvl ) return get_character_stat_string ( ' highlander ' , lvl ) end ,
2021-04-15 02:02:57 +02:00
[ ' fairy ' ] = function ( lvl ) return get_character_stat_string ( ' fairy ' , lvl ) end ,
2021-04-07 03:26:59 +02:00
[ ' priest ' ] = function ( lvl ) return get_character_stat_string ( ' priest ' , lvl ) end ,
2021-04-12 04:51:34 +02:00
[ ' infestor ' ] = function ( lvl ) return get_character_stat_string ( ' infestor ' , lvl ) end ,
2021-04-07 03:26:59 +02:00
[ ' flagellant ' ] = function ( lvl ) return get_character_stat_string ( ' flagellant ' , lvl ) end ,
2021-03-06 04:53:44 +01:00
}
2021-03-08 05:33:01 +01:00
class_stat_multipliers = {
2021-04-10 00:46:49 +02:00
[ ' ranger ' ] = { hp = 1 , dmg = 1.2 , aspd = 1.5 , area_dmg = 1 , area_size = 1 , def = 0.9 , mvspd = 1.2 } ,
[ ' warrior ' ] = { hp = 1.4 , dmg = 1.1 , aspd = 0.9 , area_dmg = 1 , area_size = 1 , def = 1.25 , mvspd = 0.9 } ,
[ ' mage ' ] = { hp = 0.6 , dmg = 1.4 , aspd = 1 , area_dmg = 1.25 , area_size = 1.2 , def = 0.75 , mvspd = 1 } ,
[ ' rogue ' ] = { hp = 0.8 , dmg = 1.3 , aspd = 1.1 , area_dmg = 0.6 , area_size = 0.6 , def = 0.8 , mvspd = 1.4 } ,
[ ' healer ' ] = { hp = 1.2 , dmg = 1 , aspd = 0.5 , area_dmg = 1 , area_size = 1 , def = 1.2 , mvspd = 1 } ,
[ ' enchanter ' ] = { hp = 1.2 , dmg = 1 , aspd = 1 , area_dmg = 1 , area_size = 1 , def = 1.2 , mvspd = 1.2 } ,
[ ' nuker ' ] = { hp = 0.9 , dmg = 1 , aspd = 0.75 , area_dmg = 1.5 , area_size = 1.5 , def = 1 , mvspd = 1 } ,
[ ' conjurer ' ] = { hp = 1 , dmg = 1 , aspd = 1 , area_dmg = 1 , area_size = 1 , def = 1 , mvspd = 1 } ,
[ ' psyker ' ] = { hp = 1.5 , dmg = 1 , aspd = 1 , area_dmg = 1 , area_size = 1 , def = 0.5 , mvspd = 1 } ,
2021-04-12 04:51:34 +02:00
[ ' curser ' ] = { hp = 1 , dmg = 1 , aspd = 1 , area_dmg = 1 , area_size = 1 , def = 0.75 , mvspd = 1 } ,
2021-04-10 00:46:49 +02:00
[ ' forcer ' ] = { hp = 1.25 , dmg = 1.1 , aspd = 0.9 , area_dmg = 0.75 , area_size = 0.75 , def = 1.2 , mvspd = 1 } ,
[ ' swarmer ' ] = { hp = 1.2 , dmg = 1 , aspd = 1.25 , area_dmg = 1 , area_size = 1 , def = 0.75 , mvspd = 0.5 } ,
[ ' voider ' ] = { hp = 0.75 , dmg = 1.3 , aspd = 1 , area_dmg = 0.8 , area_size = 0.75 , def = 0.6 , mvspd = 0.8 } ,
2021-03-08 05:33:01 +01:00
[ ' seeker ' ] = { hp = 0.5 , dmg = 1 , aspd = 1 , area_dmg = 1 , area_size = 1 , def = 1 , mvspd = 0.3 } ,
2021-04-04 01:49:54 +02:00
[ ' mini_boss ' ] = { hp = 1 , dmg = 1 , aspd = 1 , area_dmg = 1 , area_size = 1 , def = 1 , mvspd = 0.3 } ,
2021-04-03 04:53:12 +02:00
[ ' enemy_critter ' ] = { hp = 1 , dmg = 1 , aspd = 1 , area_dmg = 1 , area_size = 1 , def = 1 , mvspd = 0.5 } ,
2021-03-08 05:33:01 +01:00
[ ' saboteur ' ] = { hp = 1 , dmg = 1 , aspd = 1 , area_dmg = 1 , area_size = 1 , def = 1 , mvspd = 1.4 } ,
}
2021-04-07 03:26:59 +02:00
local ylb1 = function ( lvl ) return lvl >= 2 and ' fg ' or ( lvl >= 1 and ' yellow ' or ' light_bg ' ) end
2021-03-12 04:05:20 +01:00
local ylb2 = function ( lvl ) return ( lvl >= 2 and ' yellow ' or ' light_bg ' ) end
2021-03-08 05:33:01 +01:00
class_descriptions = {
2021-04-07 03:26:59 +02:00
[ ' ranger ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]3[ ' .. ylb2 ( lvl ) .. ' ]/6 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]10%[ ' .. ylb2 ( lvl ) .. ' ]/20% [fg]chance to release a barrage on attack to allied rangers ' end ,
[ ' warrior ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]3[ ' .. ylb2 ( lvl ) .. ' ]/6 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+25[ ' .. ylb2 ( lvl ) .. ' ]/+50 [fg]defense to allied warriors ' end ,
[ ' mage ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]3[ ' .. ylb2 ( lvl ) .. ' ]/6 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]-15[ ' .. ylb2 ( lvl ) .. ' ]/-30 [fg]enemy defense ' end ,
[ ' rogue ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]3[ ' .. ylb2 ( lvl ) .. ' ]/6 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]10%[ ' .. ylb2 ( lvl ) .. ' ]/20% [fg]chance to crit to allied rogues, dealing [yellow]4x[] damage ' end ,
[ ' healer ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]2[ ' .. ylb2 ( lvl ) .. ' ]/4 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+15%[ ' .. ylb2 ( lvl ) .. ' ]/+30% [fg]healing effectiveness ' end ,
[ ' enchanter ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]2[ ' .. ylb2 ( lvl ) .. ' ]/4 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+15%[ ' .. ylb2 ( lvl ) .. ' ]/+25% [fg]damage to all allies ' end ,
[ ' nuker ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]3[ ' .. ylb2 ( lvl ) .. ' ]/6 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+15%[ ' .. ylb2 ( lvl ) .. ' ]/+25% [fg]area damage and size to allied nukers ' end ,
[ ' conjurer ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]2[ ' .. ylb2 ( lvl ) .. ' ]/4 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+25%[ ' .. ylb2 ( lvl ) .. ' ]/+50% [fg]summon damage and duration ' end ,
2021-04-15 02:02:57 +02:00
[ ' psyker ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]2[ ' .. ylb2 ( lvl ) .. ' ]/4 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+5%[ ' .. ylb2 ( lvl ) .. ' ]/+10% [fg]damage and attack speed per active set to allied psykers ' end ,
[ ' curser ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]2[ ' .. ylb2 ( lvl ) .. ' ]/4 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+25%[ ' .. ylb2 ( lvl ) .. ' ]/+50% [fg]curse duration ' end ,
2021-04-07 03:26:59 +02:00
[ ' forcer ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]2[ ' .. ylb2 ( lvl ) .. ' ]/4 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+25%[ ' .. ylb2 ( lvl ) .. ' ]/+50% [fg]knockback force to all allies ' end ,
[ ' swarmer ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]2[ ' .. ylb2 ( lvl ) .. ' ]/4 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+1[ ' .. ylb2 ( lvl ) .. ' ]/+3 [fg]hits to critters ' end ,
[ ' voider ' ] = function ( lvl ) return ' [ ' .. ylb1 ( lvl ) .. ' ]2[ ' .. ylb2 ( lvl ) .. ' ]/4 [fg]- [ ' .. ylb1 ( lvl ) .. ' ]+15%[ ' .. ylb2 ( lvl ) .. ' ]/+25% [fg]damage over time to allied voiders ' end ,
2021-03-11 03:49:16 +01:00
}
tier_to_characters = {
2021-04-07 03:26:59 +02:00
[ 1 ] = { ' vagrant ' , ' swordsman ' , ' wizard ' , ' archer ' , ' scout ' , ' cleric ' } ,
2021-04-12 04:51:34 +02:00
[ 2 ] = { ' saboteur ' , ' sage ' , ' squire ' , ' dual_gunner ' , ' hunter ' , ' chronomancer ' , ' barbarian ' , ' cryomancer ' , ' beastmaster ' , ' launcher ' , ' bard ' , ' carver ' } ,
2021-04-14 03:12:29 +02:00
[ 3 ] = { ' outlaw ' , ' elementor ' , ' stormweaver ' , ' spellblade ' , ' psykeeper ' , ' engineer ' , ' juggernaut ' , ' pyromancer ' , ' corruptor ' , ' assassin ' , ' bane ' , ' barrager ' , ' infestor ' , ' flagellant ' } ,
2021-04-15 02:02:57 +02:00
[ 4 ] = { ' priest ' , ' highlander ' , ' psykino ' , ' lich ' , ' host ' , ' fairy ' , ' blade ' , ' plague_doctor ' , ' cannoneer ' } ,
2021-03-11 03:49:16 +01:00
}
2021-04-02 03:59:26 +02:00
non_attacking_characters = { ' cleric ' , ' stormweaver ' , ' squire ' , ' chronomancer ' , ' sage ' }
2021-03-11 03:49:16 +01:00
character_tiers = {
[ ' vagrant ' ] = 1 ,
[ ' swordsman ' ] = 1 ,
[ ' wizard ' ] = 1 ,
[ ' archer ' ] = 1 ,
[ ' scout ' ] = 1 ,
[ ' cleric ' ] = 1 ,
[ ' outlaw ' ] = 3 ,
2021-04-07 03:26:59 +02:00
[ ' blade ' ] = 4 ,
2021-03-11 03:49:16 +01:00
[ ' elementor ' ] = 3 ,
[ ' saboteur ' ] = 2 ,
2021-04-07 03:26:59 +02:00
[ ' stormweaver ' ] = 3 ,
2021-03-11 03:49:16 +01:00
[ ' sage ' ] = 2 ,
[ ' squire ' ] = 2 ,
2021-04-07 03:26:59 +02:00
[ ' cannoneer ' ] = 4 ,
2021-03-11 03:49:16 +01:00
[ ' dual_gunner ' ] = 2 ,
[ ' hunter ' ] = 2 ,
[ ' chronomancer ' ] = 2 ,
[ ' spellblade ' ] = 3 ,
[ ' psykeeper ' ] = 3 ,
[ ' engineer ' ] = 3 ,
2021-04-07 03:26:59 +02:00
[ ' plague_doctor ' ] = 4 ,
2021-04-12 04:51:34 +02:00
[ ' barbarian ' ] = 2 ,
2021-04-07 03:26:59 +02:00
[ ' juggernaut ' ] = 3 ,
[ ' lich ' ] = 4 ,
[ ' cryomancer ' ] = 2 ,
[ ' pyromancer ' ] = 3 ,
[ ' corruptor ' ] = 3 ,
[ ' beastmaster ' ] = 2 ,
[ ' launcher ' ] = 2 ,
2021-04-12 04:51:34 +02:00
[ ' bard ' ] = 2 ,
2021-04-07 03:26:59 +02:00
[ ' assassin ' ] = 3 ,
[ ' host ' ] = 4 ,
[ ' carver ' ] = 2 ,
[ ' bane ' ] = 3 ,
[ ' psykino ' ] = 4 ,
2021-04-14 03:12:29 +02:00
[ ' barrager ' ] = 3 ,
2021-04-12 04:51:34 +02:00
[ ' highlander ' ] = 4 ,
2021-04-15 02:02:57 +02:00
[ ' fairy ' ] = 4 ,
2021-04-07 03:26:59 +02:00
[ ' priest ' ] = 4 ,
2021-04-12 04:51:34 +02:00
[ ' infestor ' ] = 3 ,
2021-04-07 03:26:59 +02:00
[ ' flagellant ' ] = 3 ,
2021-03-11 03:49:16 +01:00
}
get_number_of_units_per_class = function ( units )
local rangers = 0
local warriors = 0
local healers = 0
local mages = 0
local nukers = 0
local conjurers = 0
local rogues = 0
local enchanters = 0
2021-04-07 03:26:59 +02:00
local psykers = 0
2021-04-12 04:51:34 +02:00
local cursers = 0
2021-04-07 03:26:59 +02:00
local forcers = 0
local swarmers = 0
local voiders = 0
2021-03-11 03:49:16 +01:00
for _ , unit in ipairs ( units ) do
for _ , unit_class in ipairs ( character_classes [ unit.character ] ) do
if unit_class == ' ranger ' then rangers = rangers + 1 end
if unit_class == ' warrior ' then warriors = warriors + 1 end
if unit_class == ' healer ' then healers = healers + 1 end
if unit_class == ' mage ' then mages = mages + 1 end
if unit_class == ' nuker ' then nukers = nukers + 1 end
if unit_class == ' conjurer ' then conjurers = conjurers + 1 end
if unit_class == ' rogue ' then rogues = rogues + 1 end
if unit_class == ' enchanter ' then enchanters = enchanters + 1 end
2021-04-07 03:26:59 +02:00
if unit_class == ' psyker ' then psykers = psykers + 1 end
2021-04-12 04:51:34 +02:00
if unit_class == ' curser ' then cursers = cursers + 1 end
2021-04-07 03:26:59 +02:00
if unit_class == ' forcer ' then forcers = forcers + 1 end
if unit_class == ' swarmer ' then swarmers = swarmers + 1 end
if unit_class == ' voider ' then voiders = voiders + 1 end
2021-03-11 03:49:16 +01:00
end
end
2021-04-07 03:26:59 +02:00
return { ranger = rangers , warrior = warriors , healer = healers , mage = mages , nuker = nukers , conjurer = conjurers , rogue = rogues ,
2021-04-12 04:51:34 +02:00
enchanter = enchanters , psyker = psykers , curser = cursers , forcer = forcers , swarmer = swarmers , voider = voiders }
2021-03-11 03:49:16 +01:00
end
2021-04-10 00:46:49 +02:00
get_class_levels = function ( units )
local units_per_class = get_number_of_units_per_class ( units )
local units_to_class_level = function ( number_of_units , class )
if class == ' ranger ' or class == ' warrior ' or class == ' mage ' or class == ' nuker ' or class == ' rogue ' then
if number_of_units >= 6 then return 2
elseif number_of_units >= 3 then return 1
else return 0 end
2021-04-12 04:51:34 +02:00
elseif class == ' healer ' or class == ' conjurer ' or class == ' enchanter ' or class == ' psyker ' or class == ' curser ' or class == ' forcer ' or class == ' swarmer ' or class == ' voider ' then
2021-04-10 00:46:49 +02:00
if number_of_units >= 4 then return 2
elseif number_of_units >= 2 then return 1
else return 0 end
end
end
return {
ranger = units_to_class_level ( units_per_class.ranger , ' ranger ' ) ,
warrior = units_to_class_level ( units_per_class.warrior , ' warrior ' ) ,
mage = units_to_class_level ( units_per_class.mage , ' mage ' ) ,
nuker = units_to_class_level ( units_per_class.nuker , ' nuker ' ) ,
rogue = units_to_class_level ( units_per_class.rogue , ' rogue ' ) ,
healer = units_to_class_level ( units_per_class.healer , ' healer ' ) ,
conjurer = units_to_class_level ( units_per_class.conjurer , ' conjurer ' ) ,
enchanter = units_to_class_level ( units_per_class.enchanter , ' enchanter ' ) ,
psyker = units_to_class_level ( units_per_class.psyker , ' psyker ' ) ,
2021-04-12 04:51:34 +02:00
curser = units_to_class_level ( units_per_class.curser , ' curser ' ) ,
2021-04-10 00:46:49 +02:00
forcer = units_to_class_level ( units_per_class.forcer , ' forcer ' ) ,
swarmer = units_to_class_level ( units_per_class.swarmer , ' swarmer ' ) ,
voider = units_to_class_level ( units_per_class.voider , ' voider ' ) ,
}
end
2021-03-12 04:05:20 +01:00
get_classes = function ( units )
local classes = { }
for _ , unit in ipairs ( units ) do
table.insert ( classes , table.copy ( character_classes [ unit.character ] ) )
end
return table.unify ( table.flatten ( classes ) )
end
2021-03-11 03:49:16 +01:00
class_set_numbers = {
2021-04-07 03:26:59 +02:00
[ ' ranger ' ] = function ( units ) return 3 , 6 , get_number_of_units_per_class ( units ) . ranger end ,
[ ' warrior ' ] = function ( units ) return 3 , 6 , get_number_of_units_per_class ( units ) . warrior end ,
[ ' mage ' ] = function ( units ) return 3 , 6 , get_number_of_units_per_class ( units ) . mage end ,
[ ' nuker ' ] = function ( units ) return 3 , 6 , get_number_of_units_per_class ( units ) . nuker end ,
[ ' rogue ' ] = function ( units ) return 3 , 6 , get_number_of_units_per_class ( units ) . rogue end ,
[ ' healer ' ] = function ( units ) return 2 , 4 , get_number_of_units_per_class ( units ) . healer end ,
[ ' conjurer ' ] = function ( units ) return 2 , 4 , get_number_of_units_per_class ( units ) . conjurer end ,
[ ' enchanter ' ] = function ( units ) return 2 , 4 , get_number_of_units_per_class ( units ) . enchanter end ,
[ ' psyker ' ] = function ( units ) return 2 , 4 , get_number_of_units_per_class ( units ) . psyker end ,
2021-04-12 04:51:34 +02:00
[ ' curser ' ] = function ( units ) return 2 , 4 , get_number_of_units_per_class ( units ) . curser end ,
2021-04-07 03:26:59 +02:00
[ ' forcer ' ] = function ( units ) return 2 , 4 , get_number_of_units_per_class ( units ) . forcer end ,
[ ' swarmer ' ] = function ( units ) return 2 , 4 , get_number_of_units_per_class ( units ) . swarmer end ,
[ ' voider ' ] = function ( units ) return 2 , 4 , get_number_of_units_per_class ( units ) . voider end ,
2021-03-08 05:33:01 +01:00
}
2021-03-14 06:40:12 +01:00
level_to_tier_weights = {
2021-04-07 03:26:59 +02:00
[ 1 ] = { 90 , 10 , 0 , 0 } ,
[ 2 ] = { 80 , 15 , 5 , 0 } ,
[ 3 ] = { 75 , 20 , 5 , 0 } ,
[ 4 ] = { 70 , 20 , 10 , 0 } ,
[ 5 ] = { 70 , 20 , 10 , 0 } ,
[ 6 ] = { 65 , 25 , 10 , 0 } ,
[ 7 ] = { 60 , 25 , 15 , 0 } ,
[ 8 ] = { 55 , 25 , 15 , 5 } ,
[ 9 ] = { 50 , 30 , 15 , 5 } ,
[ 10 ] = { 50 , 30 , 15 , 5 } ,
[ 11 ] = { 45 , 30 , 20 , 5 } ,
[ 12 ] = { 45 , 30 , 20 , 5 } ,
[ 13 ] = { 40 , 30 , 20 , 10 } ,
[ 14 ] = { 40 , 30 , 20 , 10 } ,
[ 15 ] = { 35 , 35 , 20 , 10 } ,
[ 16 ] = { 30 , 40 , 20 , 10 } ,
[ 17 ] = { 20 , 40 , 25 , 15 } ,
[ 18 ] = { 20 , 40 , 25 , 15 } ,
[ 19 ] = { 15 , 40 , 30 , 15 } ,
[ 20 ] = { 10 , 40 , 30 , 20 } ,
[ 21 ] = { 5 , 40 , 35 , 20 } ,
[ 22 ] = { 5 , 35 , 35 , 25 } ,
[ 23 ] = { 5 , 35 , 35 , 25 } ,
[ 24 ] = { 0 , 30 , 40 , 30 } ,
[ 25 ] = { 0 , 25 , 40 , 35 } ,
2021-03-14 06:40:12 +01:00
}
2021-03-15 05:01:04 +01:00
level_to_gold_gained = {
2021-03-15 21:54:22 +01:00
[ 1 ] = { 2 , 2 } ,
[ 2 ] = { 2 , 2 } ,
2021-03-17 10:30:20 +01:00
[ 3 ] = { 4 , 6 } ,
2021-03-15 05:01:04 +01:00
[ 4 ] = { 2 , 3 } ,
[ 5 ] = { 3 , 5 } ,
2021-03-17 10:30:20 +01:00
[ 6 ] = { 6 , 10 } ,
2021-03-15 05:01:04 +01:00
[ 7 ] = { 4 , 7 } ,
[ 8 ] = { 4 , 7 } ,
2021-03-17 10:30:20 +01:00
[ 9 ] = { 10 , 16 } ,
2021-03-15 05:01:04 +01:00
[ 10 ] = { 5 , 8 } ,
[ 11 ] = { 5 , 8 } ,
2021-03-17 10:30:20 +01:00
[ 12 ] = { 12 , 20 } ,
2021-03-15 05:01:04 +01:00
[ 13 ] = { 6 , 10 } ,
[ 14 ] = { 6 , 10 } ,
2021-03-17 10:30:20 +01:00
[ 15 ] = { 14 , 22 } ,
2021-03-15 05:01:04 +01:00
[ 16 ] = { 8 , 12 } ,
[ 17 ] = { 8 , 12 } ,
2021-03-17 10:30:20 +01:00
[ 18 ] = { 16 , 24 } ,
2021-03-15 05:01:04 +01:00
[ 19 ] = { 8 , 12 } ,
[ 20 ] = { 10 , 14 } ,
2021-03-17 10:30:20 +01:00
[ 21 ] = { 20 , 28 } ,
2021-03-15 05:01:04 +01:00
[ 22 ] = { 11 , 15 } ,
[ 23 ] = { 11 , 15 } ,
2021-03-17 10:30:20 +01:00
[ 24 ] = { 24 , 36 } ,
[ 25 ] = { 100 , 100 } ,
2021-03-15 05:01:04 +01:00
}
2021-04-10 00:46:49 +02:00
level_to_boss = {
2021-04-04 01:49:54 +02:00
[ 6 ] = ' speed_booster ' ,
[ 12 ] = ' exploder ' ,
[ 18 ] = ' swarmer ' ,
2021-04-17 05:30:34 +02:00
[ 24 ] = ' forcer ' ,
2021-04-07 03:26:59 +02:00
[ 25 ] = ' randomizer ' ,
2021-04-04 01:49:54 +02:00
}
2021-04-17 05:30:34 +02:00
passive_names = {
[ ' ouroboros_technique_r ' ] = ' Ouroboros Technique R ' ,
[ ' ouroboros_technique_l ' ] = ' Ouroboros Technique L ' ,
[ ' wall_echo ' ] = ' Wall Echo ' ,
[ ' wall_rider ' ] = ' Wall Rider ' ,
[ ' centipede ' ] = ' Centipede ' ,
[ ' intimidation ' ] = ' Intimidation ' ,
[ ' vulnerability ' ] = ' Vulnerability ' ,
[ ' temporal_chains ' ] = ' Temporal Chains ' ,
[ ' amplify ' ] = ' Amplify ' ,
[ ' amplify_x ' ] = ' Amplify X ' ,
[ ' resonance ' ] = ' Resonance ' ,
[ ' ballista ' ] = ' Ballista ' ,
[ ' ballista_x ' ] = ' Ballista X ' ,
[ ' point_blank ' ] = ' Point Blank ' ,
[ ' longshot ' ] = ' Longshot ' ,
[ ' blunt_arrow ' ] = ' Blunt Arrow ' ,
[ ' explosive_arrow ' ] = ' Explosive Arrow ' ,
[ ' divine_machine_arrow ' ] = ' Divine Machine Arrow ' ,
[ ' chronomancy ' ] = ' Chronomancy ' ,
[ ' awakening ' ] = ' Awakening ' ,
[ ' divine_punishment ' ] = ' Divine Punishment ' ,
[ ' berserking ' ] = ' Berserking ' ,
[ ' unwavering_stance ' ] = ' Unwavering Stance ' ,
[ ' ultimatum ' ] = ' Ultimatum ' ,
[ ' flying_daggers ' ] = ' Flying Daggers ' ,
[ ' assassination ' ] = ' Assassination ' ,
[ ' magnify ' ] = ' Magnify ' ,
[ ' concentrated_fire ' ] = ' Concentrated Fire ' ,
[ ' unleash ' ] = ' Unleash ' ,
[ ' reinforce ' ] = ' Reinforce ' ,
[ ' payback ' ] = ' Payback ' ,
[ ' blessing ' ] = ' Blessing ' ,
[ ' hex_master ' ] = ' Hex Master ' ,
[ ' whispers_of_doom ' ] = ' Whispers of Doom ' ,
[ ' force_push ' ] = ' Force Push ' ,
[ ' heavy_impact ' ] = ' Heavy Impact ' ,
[ ' crucio ' ] = ' Crucio ' ,
[ ' immolation ' ] = ' Immolation ' ,
[ ' call_of_the_void ' ] = ' Call of the Void ' ,
[ ' spawning_pool ' ] = ' Spawning Pool ' ,
[ ' hive ' ] = ' Hive ' ,
[ ' void_rift ' ] = ' Void Rift ' ,
}
passive_descriptions = {
[ ' ouroboros_technique_r ' ] = ' [fg]rotating around yourself to the right makes every unit periodically release projectiles ' ,
[ ' ouroboros_technique_l ' ] = ' [fg]rotating around yourself to the left grants +25% defense to all units ' ,
[ ' wall_echo ' ] = ' [fg]hitting walls has a [yellow]25%[fg] chance of releasing [yellow]2[fg] projectiles ' ,
[ ' wall_rider ' ] = ' [fg]hitting walls grants a [yellow]25%[fg] movement speed buff to your snake for [yellow]1[fg] second ' ,
[ ' centipede ' ] = ' [yellow]+20%[fg] movement speed ' ,
[ ' intimidation ' ] = ' [fg]enemies spawn with [yellow]-20%[fg] max HP ' ,
[ ' vulnerability ' ] = ' [fg]all enemies take [yellow]+20%[fg] damage ' ,
[ ' temporal_chains ' ] = ' [fg]all enemies move [yellow]20%[fg] slower ' ,
[ ' amplify ' ] = ' [fg]all units that deal AoE damage gain [yellow]+25%[fg] AoE damage ' ,
[ ' amplify_x ' ] = ' [yellow]+25%[fg] AoE damage if all your units only deal AoE damage ' ,
[ ' resonance ' ] = ' [fg]all AoE attacks deal [yellow]+5%[fg] damage per unit hit ' ,
[ ' ballista ' ] = " [fg]all units that release projectiles and don't deal AoE damage gain [yellow]+25%[fg] damage " ,
[ ' ballista_x ' ] = " [yellow]+25%[fg] damage if all your units only release projectiles and don't deal AoE damage " ,
[ ' point_blank ' ] = ' [fg]projectiles deal up to [yellow]+100%[fg] damage up close and down to [yellow]-50%[fg] damage far away ' ,
[ ' longshot ' ] = ' [fg]projectiles deal up to [yellow]+100%[fg] damage far away and down to [yellow]-50%[fg] up close ' ,
[ ' blunt_arrow ' ] = ' [fg]all arrows fired by rangers have a [yellow]20%[fg] chance to knockback ' ,
[ ' explosive_arrow ' ] = ' [fg]all arrows fired by rangers have a [yellow]20%[fg] chance to explode, dealing [yellow]+20%[fg] damage in a small area ' ,
[ ' divine_machine_arrow ' ] = ' [fg]all arrows fired by rangers have a [yellow]20%[fg] chance to seek enemies and pierce [yellow]5[fg] times ' ,
[ ' chronomancy ' ] = ' [fg]all mages cast their spells [yellow]25%[fg] faster ' ,
[ ' awakening ' ] = ' [fg]at the start of the round [yellow]1[fg] mage is chosen at random and is granted [yellow]+100%[fg] attack speed and damage for that round ' ,
[ ' divine_punishment ' ] = ' [fg]periodically deal [yellow]10X[fg] damage to all enemies, where [yellow]X[fg] is the number of mages you have ' ,
[ ' berserking ' ] = ' [fg]all warriors have up to [yellow]+50%[fg]attack speed based on missing HP ' ,
[ ' unwavering_stance ' ] = ' [fg]all warriors gain [yellow]+5%[fg] defense every [yellow]5[fg] seconds, up to [yellow]+50%[fg] ' ,
[ ' ultimatum ' ] = ' [fg]projectiles that chain gain [yellow]+25%[fg] damage with each chain ' ,
[ ' flying_daggers ' ] = ' [fg]all knives thrown by rogues chain [yellow]+2[fg] times ' ,
[ ' assassination ' ] = ' [fg]your crits deal [yellow]8x[fg] damage (up from [yellow]4x[fg]) but normal attacks deal [yellow]half[fg] damage ' ,
[ ' magnify ' ] = ' [yellow]+25%[fg] area size ' ,
[ ' concentrated_fire ' ] = ' [yellow]-50%[fg] area size and [yellow]+50%[fg] area damage ' ,
[ ' unleash ' ] = ' [fg]gain [yellow]+5%[fg] area size and damage per second, this resets when an AoE attack happens ' ,
[ ' reinforce ' ] = ' [yellow]+10%[fg] damage, defense and attack speed to all allies if you have at least one enchanter ' ,
[ ' payback ' ] = ' [yellow]+5%[fg] damage to all allies whenever an enchanter is hit ' ,
[ ' blessing ' ] = ' [yellow]+20%[fg] healing effectiveness ' ,
[ ' hex_master ' ] = ' [yellow]+25%[fg] curse duration ' ,
[ ' whispers_of_doom ' ] = ' [fg]curses apply doom, when [yellow]3[fg] doom instances are applied they are consumed, dealing [yellow]100[fg] damage ' ,
[ ' force_push ' ] = ' [yellow]+25%[fg] knockback force ' ,
[ ' heavy_impact ' ] = ' [fg]if knockbacked enemies hit walls they take damage according to the knockback force ' ,
[ ' crucio ' ] = ' [fg]taking damage shares [yellow]2X[fg] the amount across all enemies ' ,
[ ' immolation ' ] = ' [yellow]3[fg] units chosen at random will periodically take damage, all your allies gain [yellow]+8%[fg] damage per tick ' ,
[ ' call_of_the_void ' ] = ' [yellow]+25%[fg] damage over time ' ,
[ ' spawning_pool ' ] = ' [yellow]+1[fg] critter health ' ,
[ ' hive ' ] = ' [yellow]+2[fg] critter health ' ,
[ ' void_rift ' ] = ' [fg]all AoE attacks by mages, nukers or voiders have a [yellow]20%[fg] chance to create an area that deals [yellow]50%[fg] damage per second for [yellow]2[fg] seconds ' ,
}
passive_tiers = {
[ ' ouroboros_technique_r ' ] = 2 ,
[ ' ouroboros_technique_l ' ] = 2 ,
[ ' wall_echo ' ] = 1 ,
[ ' wall_rider ' ] = 1 ,
[ ' centipede ' ] = 1 ,
[ ' intimidation ' ] = 2 ,
[ ' vulnerability ' ] = 2 ,
[ ' temporal_chains ' ] = 1 ,
[ ' amplify ' ] = 1 ,
[ ' amplify_x ' ] = 1 ,
[ ' resonance ' ] = 2 ,
[ ' ballista ' ] = 1 ,
[ ' ballista_x ' ] = 1 ,
[ ' point_blank ' ] = 2 ,
[ ' longshot ' ] = 2 ,
[ ' blunt_arrow ' ] = 1 ,
[ ' explosive_arrow ' ] = 2 ,
[ ' divine_machine_arrow ' ] = 3 ,
[ ' chronomancy ' ] = 2 ,
[ ' awakening ' ] = 2 ,
[ ' divine_punishment ' ] = 3 ,
[ ' berserking ' ] = 1 ,
[ ' unwavering_stance ' ] = 1 ,
[ ' ultimatum ' ] = 2 ,
[ ' flying_daggers ' ] = 3 ,
[ ' assassination ' ] = 1 ,
[ ' magnify ' ] = 1 ,
[ ' concentrated_fire ' ] = 2 ,
[ ' unleash ' ] = 1 ,
[ ' reinforce ' ] = 2 ,
[ ' payback ' ] = 2 ,
[ ' blessing ' ] = 1 ,
[ ' hex_master ' ] = 1 ,
[ ' whispers_of_doom ' ] = 2 ,
[ ' force_push ' ] = 1 ,
[ ' heavy_impact ' ] = 2 ,
[ ' crucio ' ] = 3 ,
[ ' immolation ' ] = 2 ,
[ ' call_of_the_void ' ] = 2 ,
[ ' spawning_pool ' ] = 1 ,
[ ' hive ' ] = 3 ,
[ ' void_rift ' ] = 3 ,
}
tier_to_passives = {
[ 1 ] = { ' wall_echo ' , ' wall_rider ' , ' centipede ' , ' temporal_chains ' , ' amplify ' , ' amplify_x ' , ' ballista ' , ' ballista_x ' , ' blunt_arrow ' , ' berserking ' , ' unwavering_stance ' , ' assassination ' , ' unleash ' , ' blessing ' ,
' hex_master ' , ' force_push ' , ' spawning_pool ' } ,
[ 2 ] = { ' ouroboros_technique_r ' , ' ouroboros_technique_l ' , ' intimidation ' , ' vulnerability ' , ' resonance ' , ' point_blank ' , ' longshot ' , ' explosive_arrow ' , ' chronomancy ' , ' awakening ' , ' ultimatum ' , ' concentrated_fire ' ,
' reinforce ' , ' payback ' , ' whispers_of_doom ' , ' heavy_impact ' , ' immolation ' , ' call_of_the_void ' } ,
[ 3 ] = { ' divine_machine_arrow ' , ' divine_punishment ' , ' flying_daggers ' , ' crucio ' , ' hive ' , ' void_rift ' } ,
}
level_to_passive_tier_weights = {
[ 3 ] = { 70 , 20 , 10 } ,
[ 6 ] = { 60 , 25 , 15 } ,
[ 9 ] = { 50 , 30 , 20 } ,
[ 12 ] = { 40 , 40 , 20 } ,
[ 15 ] = { 30 , 45 , 25 } ,
[ 18 ] = { 20 , 50 , 30 } ,
[ 21 ] = { 20 , 40 , 40 } ,
[ 24 ] = { 20 , 30 , 50 } ,
}
2021-03-15 05:01:04 +01:00
gold = 2
2021-03-02 06:27:15 +01:00
2021-02-18 05:11:25 +01:00
main = Main ( )
2021-04-17 05:30:34 +02:00
--[[
2021-03-05 08:29:19 +01:00
main : add ( BuyScreen ' buy_screen ' )
2021-04-17 05:30:34 +02:00
main : go_to ( ' buy_screen ' , 3 , {
{ character = ' swordsman ' , level = 3 } ,
{ character = ' wizard ' , level = 3 } ,
2021-04-15 02:02:57 +02:00
{ character = ' scout ' , level = 3 } ,
{ character = ' archer ' , level = 3 } ,
2021-04-10 00:46:49 +02:00
} )
2021-04-17 05:30:34 +02:00
] ] --
2021-03-29 20:26:10 +02:00
main : add ( Arena ' arena ' )
2021-04-17 05:30:34 +02:00
main : go_to ( ' arena ' , 3 , {
2021-03-29 20:26:10 +02:00
{ character = ' swordsman ' , level = 3 } ,
2021-04-17 05:30:34 +02:00
{ character = ' wizard ' , level = 3 } ,
{ character = ' scout ' , level = 3 } ,
2021-03-29 20:26:10 +02:00
{ character = ' archer ' , level = 3 } ,
} )
2021-02-18 05:11:25 +01:00
end
function update ( dt )
main : update ( dt )
2021-03-17 10:30:20 +01:00
2021-03-29 20:26:10 +02:00
if input.n . pressed then
2021-03-17 10:30:20 +01:00
if sfx.volume == 0.5 then
sfx.volume = 0
elseif sfx.volume == 0 then
sfx.volume = 0.5
end
end
if input.m . pressed then
if music.volume == 0.5 then
music.volume = 0
elseif music.volume == 0 then
music.volume = 0.5
end
end
2021-02-18 05:11:25 +01:00
end
function draw ( )
shared_draw ( function ( )
main : draw ( )
end )
end
function love . run ( )
return engine_run ( {
2021-03-29 20:26:10 +02:00
game_name = ' SNKRX ' ,
window_width = 480 * 3 ,
window_height = 270 * 3 ,
2021-02-18 05:11:25 +01:00
} )
end