diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..e867125e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,84 @@ +{ + "files.associations": { + "ostream": "cpp", + "iostream": "cpp", + "array": "cpp", + "atomic": "cpp", + "strstream": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "cctype": "cpp", + "charconv": "cpp", + "chrono": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "codecvt": "cpp", + "compare": "cpp", + "concepts": "cpp", + "condition_variable": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "list": "cpp", + "map": "cpp", + "string": "cpp", + "unordered_map": "cpp", + "unordered_set": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "ratio": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iomanip": "cpp", + "iosfwd": "cpp", + "istream": "cpp", + "limits": "cpp", + "mutex": "cpp", + "new": "cpp", + "numbers": "cpp", + "semaphore": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "stop_token": "cpp", + "streambuf": "cpp", + "thread": "cpp", + "cinttypes": "cpp", + "typeinfo": "cpp", + "variant": "cpp", + "__bit_reference": "cpp", + "__config": "cpp", + "__debug": "cpp", + "__errc": "cpp", + "__hash_table": "cpp", + "__locale": "cpp", + "__mutex_base": "cpp", + "__node_handle": "cpp", + "__split_buffer": "cpp", + "__threading_support": "cpp", + "__verbose_abort": "cpp", + "ios": "cpp", + "locale": "cpp", + "queue": "cpp", + "stack": "cpp" + } +} \ No newline at end of file diff --git a/Crawler/Bullet.h b/Crawler/Bullet.h index 6964307e..3cd94e5e 100644 --- a/Crawler/Bullet.h +++ b/Crawler/Bullet.h @@ -3,6 +3,7 @@ #include "Animation.h" #include "olcUTIL_Animate2D.h" #include "Monster.h" +#include "DEFINES.h" struct Bullet{ friend class Crawler; diff --git a/Crawler/Class.cpp b/Crawler/Class.cpp index a705eebb..3d2744a9 100644 --- a/Crawler/Class.cpp +++ b/Crawler/Class.cpp @@ -290,7 +290,7 @@ bool Wizard::AutoAttack(){ bool Wizard::Ability1(){ ACCESS_PLAYER float angleToCursor=atan2(game->GetWorldMousePos().y-p.pos.y,game->GetWorldMousePos().x-p.pos.x); - PLAYER_BULLET_LIST.push_back(std::make_unique(FireBolt(p.pos,{cos(angleToCursor)*200,sin(angleToCursor)*200},12,p.GetAttack(),true,{240,120,60}))); + PLAYER_BULLET_LIST.push_back(std::make_unique(FireBolt(p.pos,{cos(angleToCursor)*275,sin(angleToCursor)*275},12,p.GetAttack(),true,{240,120,60}))); return true; } diff --git a/Crawler/Crawler.cpp b/Crawler/Crawler.cpp index 1bdc016e..07a16ed7 100644 --- a/Crawler/Crawler.cpp +++ b/Crawler/Crawler.cpp @@ -10,6 +10,7 @@ #include "TSXParser.h" #include "Map.h" #include "DEFINES.h" +#include "utils.h" INCLUDE_CLASS_DATA @@ -576,8 +577,8 @@ void Crawler::UpdateCamera(float fElapsedTime){ lastWorldShakeAdjust=std::max(0.f,lastWorldShakeAdjust-fElapsedTime); if(worldShakeTime-fElapsedTime>0){ if(lastWorldShakeAdjust==0){ - lastWorldShakeAdjust=float(rand()%int(WORLD_SHAKE_ADJUST_MAX_TIME*1000))/1000+0.05; - worldShakeVel={float(rand()%1000)/1000*100-50,float(rand()%1000)/1000*100-50}; + lastWorldShakeAdjust=util::random(0.2)+0.05; + worldShakeVel={util::random(300)-150,util::random(300)-150}; } worldShake+=worldShakeVel*fElapsedTime; } else { @@ -827,6 +828,9 @@ void Crawler::RenderHud(){ FillRectDecal(vf2d{11,ScreenHeight()-21.f}-vf2d{0,float(offset)},{62,4},DARK_GREY); GradientFillRectDecal(vf2d{10,ScreenHeight()-22.f}-vf2d{0,float(offset)},{(a.cooldown/a.COOLDOWN_TIME)*64,6},a.barColor1,a.barColor1,a.barColor2,a.barColor2); DrawRotatedShadowStringPropDecal(vf2d{8,ScreenHeight()-20.f}+vf2d{1,1}-vf2d{0,float(offset)},capitalize(a.name),-PI/64,{0,0},WHITE,BLACK,{0.4,0.4},0.5); + std::stringstream cooldownTimeDisplay; + cooldownTimeDisplay<AddEffect(Effect(monster.GetPos(),util::random(0.5),AnimationState::DOT_PARTICLE,util::random(2),util::random(0.4),{util::random(300)-150,util::random(300)-150},{255,uint8_t(util::random(190)+60),60})); } + game->SetupWorldShake(0.5); for(Monster&m:MONSTER_LIST){ if(geom2d::line(monster.GetPos(),m.GetPos()).length()<=2.5*24){ m.Hurt(3*damage);