Add in adrenaline rush buff. Make attack speed bonuses be applied via modifiers. Release Build 10153.

mac-build
sigonasr2 4 months ago
parent 0b4b1d6566
commit a763469fa5
  1. 2
      Adventures in Lestoria/AdventuresInLestoria.cpp
  2. 1
      Adventures in Lestoria/Buff.h
  3. 9
      Adventures in Lestoria/Player.cpp
  4. 11
      Adventures in Lestoria/Thief.cpp
  5. 2
      Adventures in Lestoria/Version.h
  6. 6
      Adventures in Lestoria/assets/config/audio/events.txt
  7. 3
      Adventures in Lestoria/assets/config/classes/Thief.txt
  8. BIN
      Adventures in Lestoria/assets/sounds/adrenaline_rush.ogg
  9. BIN
      x64/Release/Adventures in Lestoria.exe

@ -1024,9 +1024,11 @@ void AiL::RenderWorld(float fElapsedTime){
}
const std::vector<Buff>attackBuffs{player->GetStatBuffs({"Attack","Attack %"})};
const std::vector<Buff>movespeedBuffs{player->GetBuffs(BuffType::SPEEDBOOST)};
const std::vector<Buff>adrenalineRushBuffs{player->GetBuffs(BuffType::ADRENALINE_RUSH)};
Pixel playerCol{WHITE};
if(attackBuffs.size()>0)playerCol={255,uint8_t(255*abs(sin(1.4f*attackBuffs[0].duration))),uint8_t(255*abs(sin(1.4f*attackBuffs[0].duration)))};
else if(adrenalineRushBuffs.size()>0)playerCol={uint8_t(255*abs(sin(6.f*adrenalineRushBuffs[0].duration))),255,uint8_t(255*abs(sin(6.f*adrenalineRushBuffs[0].duration)))};
else if(movespeedBuffs.size()>0)playerCol={uint8_t(255*abs(sin(2.f*movespeedBuffs[0].duration))),255,uint8_t(255*abs(sin(2.f*movespeedBuffs[0].duration)))};
if(player->IsUsingAdditiveBlending())SetDecalMode(DecalMode::ADDITIVE);
else SetDecalMode(DecalMode::NORMAL);

@ -52,6 +52,7 @@ enum BuffType{
FIXED_COLLISION_DMG, //Does a fixed amount of collision damage based on intensity of this buff.
COLLISION_KNOCKBACK_STRENGTH, //Causes an amount of knockback based on intensity when hit via collision with this buff
SELF_INFLICTED_SLOWDOWN, //Used for monsters and can't be applied by any player abilities.
ADRENALINE_RUSH,
};
class AiL;

@ -289,6 +289,9 @@ float Player::GetMoveSpdMult(){
for(const Buff&b:GetBuffs(SPEEDBOOST)){
mod_moveSpd+=moveSpdPct*b.intensity;
}
for(const Buff&b:GetBuffs(BuffType::ADRENALINE_RUSH)){
mod_moveSpd+=moveSpdPct*"Thief.Ability 3.Movement Speed Increase"_F/100.f;
}
return mod_moveSpd;
}
@ -1468,7 +1471,11 @@ const uint32_t Player::GetAccumulatedXP()const{
}
const float Player::GetAttackRecoveryRateReduction()const{
return GetEquipStat("Attack Spd");
float attackSpd{GetModdedStatBonuses("Attack Spd")};
for(const Buff&b:GetBuffs(BuffType::ADRENALINE_RUSH)){
attackSpd+=ATTACK_COOLDOWN*"Thief.Ability 3.Attack Speed Increase"_F/100.f;
}
return attackSpd;
}
void EntityStats::Reset(){

@ -44,6 +44,7 @@ All rights reserved.
#include "SoundEffect.h"
#include "util.h"
#include "BulletTypes.h"
#include <ranges>
INCLUDE_MONSTER_LIST
INCLUDE_BULLET_LIST
@ -152,10 +153,16 @@ void Thief::InitializeClassAbilities(){
return true;
};
#pragma endregion
#pragma region Thief Ability 3 (???)
#pragma region Thief Ability 3 (Adrenaline Rush)
Thief::ability3.action=
[](Player*p,vf2d pos={}){
return false;
SoundEffect::PlaySFX("Adrenaline Rush",p->GetPos());
p->AddBuff(BuffType::ADRENALINE_RUSH,"Thief.Ability 3.Duration"_F,0.f);
for(int i:std::ranges::iota_view(0,50)){
float size{util::random_range(0.4f,0.8f)};
game->AddEffect(std::make_unique<Effect>(p->GetPos()+vf2d{8,util::random(2*PI)}.cart(),util::random_range(0.1f,0.4f),"circle.png",p->OnUpperLevel(),vf2d{size,size},0.3f,vf2d{util::random_range(-6.f,6.f),util::random_range(-8.f,-1.f)},PixelLerp(WHITE,GREEN,util::random(1))));
}
return true;
};
#pragma endregion
}

@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 1
#define VERSION_MINOR 2
#define VERSION_PATCH 3
#define VERSION_BUILD 10146
#define VERSION_BUILD 10153
#define stringify(a) stringify_(a)
#define stringify_(a) #a

@ -7,6 +7,12 @@ Events
SFX
{
Adrenaline Rush
{
CombatSound = True
# Specify file names, followed by volume %. Optional min and max pitch adjustment (Defaults are 90%,110%)
File[0] = adrenaline_rush.ogg, 70%
}
Bear Slam Attack
{
CombatSound = True

@ -98,7 +98,7 @@ Thief
Damage = 4x
Range = 450
Hit Radius = 12px
Hit Radius = 20px
Initial Wait = 0.2s
Ending Wait = 0.3s
@ -129,6 +129,7 @@ Thief
Attack Speed Increase = 30%
Movement Speed Increase = 10%
Duration = 8s
#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

Loading…
Cancel
Save