diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj b/Adventures in Lestoria/Adventures in Lestoria.vcxproj index 50f22e80..95f18045 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj @@ -1130,6 +1130,7 @@ + diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters index 45eeb963..71f0f2e2 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters @@ -1301,6 +1301,9 @@ Documentation\Mechanics + + Documentation + diff --git a/Adventures in Lestoria/Bullet.cpp b/Adventures in Lestoria/Bullet.cpp index 4a509099..3c8eadc1 100644 --- a/Adventures in Lestoria/Bullet.cpp +++ b/Adventures in Lestoria/Bullet.cpp @@ -93,6 +93,7 @@ void Bullet::_Update(const float fElapsedTime){ int iterations=int(std::max(1.f,(vel*fElapsedTime).mag())); int totalIterations=iterations; vf2d finalBulletPos=pos+vel*fElapsedTime; + if(IsPlayerAutoAttackProjectile()){finalBulletPos+=(game->GetWindSpeed()*game->GetElapsedTime())/float(totalIterations);} distanceTraveled+=totalDistance/24.f*100.f; const auto CollisionCheck=[&](){ if(simulated)return true; diff --git a/Adventures in Lestoria/Crawler_Trapper_Witch_thief.txt b/Adventures in Lestoria/Crawler_Trapper_Witch_thief.txt new file mode 100644 index 00000000..94776d1a --- /dev/null +++ b/Adventures in Lestoria/Crawler_Trapper_Witch_thief.txt @@ -0,0 +1,171 @@ +Thief + +Autohit: Sword Slash (0.35 sec cd) + + + +Rightclick - Roll + +Dodgeroll that gives an iframe and 2 sec of move spd buff afterwards. + +Range: 250 + +Movespd buff: 30% + +cd: 8 sec + + + +1 - Hidden Dagger + +Backwards Jump while Throwing a Dagger infront + +Jump-Range: 200 + +Damage: 2x Atk + +cd: 8 sec. + +20 Mana + + + +2 - deadly Dash + +Dashes to Target location + +Damages everything the Thief goes through. + +iframe lasting additional 0.5 sec after skill ends. + +Damage: 4x Atk + +Range: 450 + +cd: 15 sec. + +Mana 45 + + + +3 - Adrenaline Rush + +30% Attack Speed and 10% Movementspeed buff + +Duration: 8 seconds + +Cd: 37 sec. + +Mana 75 + + + +Trapper + +Autohit: Same as Ranger + + + +Rightclick - Sprint + +3 sec / 60% movespeed buff + +cd: 7 sec. + + + +1 - Mark Target + +Range: Screenwide + +Cd: 12 sec. + +25 Mana + +Target receives addition 0.6x Atk dmg every time the target get hit by any auto attack or ability. + +7 sec Duration or 5 triggers + +NOTE: Ranger abilities can proc this too, due to 4th ability sharing. + +2 - Bear Trap + +Lays down a trap on Players position. + +Damage: 2.5x Attack + +Cd: 15 sec + +If Target is marked the mark gets reset to 7 seconds with 5 stacks. + +If Target was marked the enemy gets a bleed debuff dealing 0.1x Attack every second for 10 seconds. + + + +3 - Explosive Trap + +Trap takes 1.5 sec until its active until it gets thrown somewhere. + +Trap explodes either if an enemy touches it or with a 5 second delay. + +Damage: 5.5x Attack + +If anyone inside the explosion is marget, Target Triggers 2 Marks at once. + +Anyone who is not marked inside the explosion gets 1 Stack of mark with 7 sec duration. + + + +Witch + +Autohit: Hooming Dark/Purple Energy Bolt. only starts hooming if it gets really close to an enemy. (0.85 sec cd) + + + +Righclick - Transform + +Transforms to a Cat Leaps for 400 Range and transforms back (iFrame during move) + +cd: 8 sec. + + + +1 Curse of Pain + +Single Target dot Target on Mouse location. 6 seconds + +Range: 700 + +35 Mana + +1x attack every 2 seconds for 8 seconds. Last Tick does double damage. + +8 sec Cd + + + +2 Throw Poison + +Throws a poison bottle like a grenate. Massive aoe dmg and low dmg ticking dot over long time. + +Range: 700 + +AoE: 350 Range + +Damage: 5x Atk Poisons over 30 seconds (does every 3 secs 0.5x Atk dmg) + +40 Mana + +16 sec cd + + + +3 Curse of Death + +Curses Target to receive double dmg for next 7 seconds. Target with Mouse location + +Range: 700 + +cd: 35 sec + +35 Mana \ No newline at end of file diff --git a/Adventures in Lestoria/StoneGolem.cpp b/Adventures in Lestoria/StoneGolem.cpp index 9a898e59..fbae9bc6 100644 --- a/Adventures in Lestoria/StoneGolem.cpp +++ b/Adventures in Lestoria/StoneGolem.cpp @@ -254,7 +254,7 @@ void Monster::STRATEGY::STONE_GOLEM(Monster&m,float fElapsedTime,std::string str }break; case SHOCKWAVE:{ m.F(A::CASTING_TIMER)-=fElapsedTime; - Pixel newCol{PixelLerp(VERY_DARK_BLUE,BLACK,sin(geom2d::pi*game->GetRunTime()*2)/2.f+0.5f)}; + Pixel newCol{PixelLerp(m.I(A::SHOCKWAVE_COLOR),BLACK,sin(geom2d::pi*game->GetRunTime()*2)/2.f+0.5f)}; newCol.a=util::lerp(255.f,210.f,sin(geom2d::pi*game->GetRunTime()*2)/2.f+0.5f); game->SetWorldColor(newCol); diff --git a/Adventures in Lestoria/TODO.txt b/Adventures in Lestoria/TODO.txt index c114d281..4764a729 100644 --- a/Adventures in Lestoria/TODO.txt +++ b/Adventures in Lestoria/TODO.txt @@ -21,7 +21,7 @@ Add rectangular hitbox posssibility to the game for monsters. (specifically for DEMO ==== - +Add Spell Names on info screen. PGETinker notes =============== diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h index 6ef433f6..1fb0cfb9 100644 --- a/Adventures in Lestoria/Version.h +++ b/Adventures in Lestoria/Version.h @@ -39,7 +39,7 @@ All rights reserved. #define VERSION_MAJOR 1 #define VERSION_MINOR 2 #define VERSION_PATCH 3 -#define VERSION_BUILD 10039 +#define VERSION_BUILD 10044 #define stringify(a) stringify_(a) #define stringify_(a) #a diff --git a/Adventures in Lestoria/assets/config/MonsterStrategies.txt b/Adventures in Lestoria/assets/config/MonsterStrategies.txt index e7b64d7d..f04e2ead 100644 --- a/Adventures in Lestoria/assets/config/MonsterStrategies.txt +++ b/Adventures in Lestoria/assets/config/MonsterStrategies.txt @@ -963,7 +963,7 @@ MonsterStrategy Knockback Amount = 450 Shockwave Screen Shake Time = 0.75s - Danger Area Color = 64 red, 0 green, 0 blue, 255 alpha + Danger Area Color = 128 red, 0 green, 0 blue, 255 alpha Ring Expand Speed = 5.0/s Shockwave Ring Lifetime = 2.5s diff --git a/Adventures in Lestoria/assets/config/classes/Thief.txt b/Adventures in Lestoria/assets/config/classes/Thief.txt index a414f314..19000fae 100644 --- a/Adventures in Lestoria/assets/config/classes/Thief.txt +++ b/Adventures in Lestoria/assets/config/classes/Thief.txt @@ -6,22 +6,39 @@ Thief BaseAtk = 10 # Amount of health gained per level. - HealthGrowthRate = 5 + HealthGrowthRate = 9 # Amount of attack gained per level. - AtkGrowthRate = 0.2 + AtkGrowthRate = 2 FullRender = unknown_full_render.png + + Auto Attack + { + DamageMult = 1x + Range = 150 + Cooldown = 0.35 + # Whether or not this ability cancels casts. + CancelCast = 1 + + SwordAnimationSwingTime = 0.2s + SwordSlashLingerTime = 0.125s + #Sweep angle of the sword slash (in both directions) + SwordSlashSweepAngle = 45° + } Right Click Ability { - Name = ??? - Short Name = ??? - Description = ??? + Name = Roll + Short Name = ROLL + Description = Roll in a direction and gain increased movement speed for 2 seconds. Icon = block.png Cooldown = 8 - Mana Cost = 5 + Mana Cost = 0 # Whether or not this ability cancels casts. - CancelCast = 0 + CancelCast = 1 + + # % speed increase, duration + Movespeed Buff = 30%, 2s #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 0, 0, 64, 192 @@ -33,14 +50,17 @@ Thief } Ability 1 { - Name = ??? - Short Name = ??? - Description = ??? + Name = Hidden Dagger + Short Name = DAGGER + Description = Jump backwards while throwing a dagger. Icon = block.png - Cooldown = 6 - Mana Cost = 30 + Cooldown = 8 + Mana Cost = 20 # Whether or not this ability cancels casts. - CancelCast = 0 + CancelCast = 1 + + Jump Range = 200 + Damage = 2x #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 64, 0, 0, 192 @@ -52,14 +72,17 @@ Thief } Ability 2 { - Name = ??? - Short Name = ??? - Description = ??? + Name = Deadly Dash + Short Name = DASH + Description = Dash to target location becoming invulnerable and damaging everything in the Thief's path. Icon = block.png - Cooldown = 6 - Mana Cost = 25 + Cooldown = 15 + Mana Cost = 45 # Whether or not this ability cancels casts. - CancelCast = 0 + CancelCast = 1 + + Damage = 4x + Range = 450 #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 64, 0, 0, 192 @@ -71,15 +94,18 @@ Thief } Ability 3 { - Name = ??? - Short Name = ??? - Description = ??? + Name = Adrenaline Rush + Short Name = RUSH + Description = Gain 30% increased attack speed and 10% increased movement speed for 8 seconds. Icon = block.png - Cooldown = 40 + Cooldown = 37 Mana Cost = 75 # Whether or not this ability cancels casts. CancelCast = 0 + Attack Speed Increase = 30% + Movement Speed Increase = 10% + #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 64, 0, 0, 192 Cooldown Bar Color 2 = 128, 0, 0, 192 diff --git a/Adventures in Lestoria/assets/config/classes/Trapper.txt b/Adventures in Lestoria/assets/config/classes/Trapper.txt index 4cbd10f4..d6349b58 100644 --- a/Adventures in Lestoria/assets/config/classes/Trapper.txt +++ b/Adventures in Lestoria/assets/config/classes/Trapper.txt @@ -2,27 +2,43 @@ Trapper { ClassName = Trapper - BaseHealth = 100 - BaseAtk = 10 + BaseHealth = 90 + BaseAtk = 13 # Amount of health gained per level. - HealthGrowthRate = 5 + HealthGrowthRate = 7 # Amount of attack gained per level. - AtkGrowthRate = 0.2 + AtkGrowthRate = 3 FullRender = characters/commercial_assets/Trapper_F_NoOutline.png + + Auto Attack + { + DamageMult = 1x + Radius = 12 + Cooldown = 0.6 + # Whether or not this ability cancels casts. + CancelCast = 0 + + ArrowSpd = 275 + + Sound = Ranger Auto Attack + } Right Click Ability { - Name = ??? - Short Name = ??? - Description = ??? + Name = Sprint + Short Name = SPRINT + Description = Gain 60% bonus movement speed for 3 seconds. Icon = block.png - Cooldown = 8 - Mana Cost = 5 + Cooldown = 7 + Mana Cost = 0 # Whether or not this ability cancels casts. CancelCast = 0 + # Movement speed increase, duration + Movement Speed Buff = 60%, 3s + #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 0, 0, 64, 192 Cooldown Bar Color 2 = 0, 0, 128, 192 @@ -33,58 +49,78 @@ Trapper } Ability 1 { - Name = ??? - Short Name = ??? - Description = ??? + Name = Mark Target + Short Name = MARK + Description = Marks an enemy. Lasts 7 seconds/5 hits. Marks detonate for 60% of ATK from every hit/ability. Icon = block.png - Cooldown = 6 - Mana Cost = 30 + Cooldown = 12 + Mana Cost = 25 # Whether or not this ability cancels casts. CancelCast = 0 + Duration = 7s + Hit Count = 5 + Damage Increase Bonus = 60% + #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 64, 0, 0, 192 Cooldown Bar Color 2 = 128, 0, 0, 192 Precast Time = 0 - Casting Range = 0 - Casting Size = 0 + Casting Range = 1200 + Casting Size = 100 } Ability 2 { - Name = ??? - Short Name = ??? - Description = ??? + Name = Bear Trap + Short Name = TRAP + Description = Sets down a trap. If caught target is already marked, reapplies the mark and causes bleeding. Icon = block.png - Cooldown = 6 - Mana Cost = 25 + Cooldown = 15 + Mana Cost = 0 # Whether or not this ability cancels casts. CancelCast = 0 + Marked Target Reset Time = 7s + Marked Target Hit Count Reset = 5 + Marked Target Bleed = 10%, 10s + #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 64, 0, 0, 192 Cooldown Bar Color 2 = 128, 0, 0, 192 - Precast Time = 0 + Precast Time = 0.5s Casting Range = 0 Casting Size = 0 } Ability 3 { - Name = ??? - Short Name = ??? - Description = ??? + Name = Explosive Trap + Short Name = EXTRAP + Description = A trap exploding on touch/5 seconds, applying marks to targets hit. Already marked targets trigger 2 marks. Icon = block.png - Cooldown = 40 - Mana Cost = 75 + Cooldown = 0 + Mana Cost = 0 # Whether or not this ability cancels casts. CancelCast = 0 + Damage = 5.5x + Explosion Radius = 200 + Trap Activation Time = 1.5s + Trap Auto Detonate Time = 5s + # Number of Mark triggers that activate from getting hit. + Trap Mark Trigger Count = 2 + # Number of mark stacks to add to any targets caught by the explosion. + Explosion Mark Stack Increase = 1 + + Explosion Knockup Amount = 20 + Explosion Knockback Amount = 250 + #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 64, 0, 0, 192 Cooldown Bar Color 2 = 128, 0, 0, 192 - Precast Time = 0 + Precast Time = 0.5s Casting Range = 0 Casting Size = 0 } diff --git a/Adventures in Lestoria/assets/config/classes/Witch.txt b/Adventures in Lestoria/assets/config/classes/Witch.txt index 989ffb07..77c777f2 100644 --- a/Adventures in Lestoria/assets/config/classes/Witch.txt +++ b/Adventures in Lestoria/assets/config/classes/Witch.txt @@ -2,90 +2,119 @@ Witch { ClassName = Witch - BaseHealth = 100 - BaseAtk = 10 + BaseHealth = 80 + BaseAtk = 15 # Amount of health gained per level. HealthGrowthRate = 5 # Amount of attack gained per level. - AtkGrowthRate = 0.2 + AtkGrowthRate = 4 FullRender = characters/commercial_assets/Witch_F_NoOutline.png + + Auto Attack + { + DamageMult = 1x + Homing Range = 100 + Radius = 50 + Speed = 175 + Cooldown = 0.85 + # Whether or not this ability cancels casts. + CancelCast = 0 + + # Maximum distance this attack will travel before it becomes deactivated. + Max Range = 1200 + + # When bullet makes contact, how fast the bullet will fade out. + BulletHitFadeoutTime = 0.2s + + SplashEffectFadeoutTime = 0.25s + } Right Click Ability { - Name = ??? - Short Name = ??? - Description = ??? + Name = Transform + Short Name = CAT + Description = Transform into a cat, leaping to target position while avoiding attacks, then transform back. Icon = block.png Cooldown = 8 - Mana Cost = 5 + Mana Cost = 0 # Whether or not this ability cancels casts. - CancelCast = 0 + CancelCast = 1 #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 0, 0, 64, 192 Cooldown Bar Color 2 = 0, 0, 128, 192 Precast Time = 0 - Casting Range = 0 - Casting Size = 0 + Casting Range = 400 + Casting Size = 100 } Ability 1 { - Name = ??? - Short Name = ??? - Description = ??? + Name = Curse of Pain + Short Name = PAIN + Description = Apply a curse on a target dealing damage over time. Icon = block.png - Cooldown = 6 - Mana Cost = 30 + Cooldown = 8 + Mana Cost = 35 # Whether or not this ability cancels casts. CancelCast = 0 + # Damage per tick, time between ticks, total curse duration + Curse Debuff = 1x, 2s, 8s + Final Tick Damage = 2x + #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 64, 0, 0, 192 Cooldown Bar Color 2 = 128, 0, 0, 192 Precast Time = 0 - Casting Range = 0 - Casting Size = 0 + Casting Range = 700 + Casting Size = 100 } Ability 2 { - Name = ??? - Short Name = ??? - Description = ??? + Name = Throw Poison + Short Name = POISON + Description = Throw a poison bottle at target location. All targets caught in the range take poison damage over time. Icon = block.png - Cooldown = 6 - Mana Cost = 25 + Cooldown = 16 + Mana Cost = 40 # Whether or not this ability cancels casts. CancelCast = 0 + # Damage per tick, time between ticks, total debuff time + Poison Debuff = 0.5x, 3s, 30s + #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 64, 0, 0, 192 Cooldown Bar Color 2 = 128, 0, 0, 192 Precast Time = 0 - Casting Range = 0 - Casting Size = 0 + Casting Range = 700 + Casting Size = 350 } Ability 3 { - Name = ??? - Short Name = ??? - Description = ??? + Name = Curse of Death + Short Name = DEATH + Description = Target is cursed with a debilitating spell, taking double damage for 7 seconds. Icon = block.png - Cooldown = 40 - Mana Cost = 75 + Cooldown = 35 + Mana Cost = 35 # Whether or not this ability cancels casts. CancelCast = 0 + Damage Amplification = 2x + Curse Duration = 7s + #RGB Values. Color 1 is the circle at full cooldown, Color 2 is the color at empty cooldown. Cooldown Bar Color 1 = 64, 0, 0, 192 Cooldown Bar Color 2 = 128, 0, 0, 192 Precast Time = 0 - Casting Range = 0 - Casting Size = 0 + Casting Range = 700 + Casting Size = 100 } } \ No newline at end of file diff --git a/x64/Release/Adventures in Lestoria.exe b/x64/Release/Adventures in Lestoria.exe index 85de559c..27d788be 100644 Binary files a/x64/Release/Adventures in Lestoria.exe and b/x64/Release/Adventures in Lestoria.exe differ