From 988925a430ea37b9ff13c58ba3bf295a4a435a5c Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Thu, 1 Sep 2022 21:58:43 -0500 Subject: [PATCH] Implement glow/unglow sigil mechanic Co-authored-by: sigonasr2 --- SeasonsOfLoneliness.cpp | 18 ++++++++++++------ assets/X.X_uncharged.png | Bin 0 -> 23486 bytes data.h | 9 ++++++--- 3 files changed, 18 insertions(+), 9 deletions(-) create mode 100644 assets/X.X_uncharged.png diff --git a/SeasonsOfLoneliness.cpp b/SeasonsOfLoneliness.cpp index 53a6ce2..bf6c770 100644 --- a/SeasonsOfLoneliness.cpp +++ b/SeasonsOfLoneliness.cpp @@ -475,8 +475,8 @@ public: ParticleEffect*FIRESTORM_EFF = new ParticleEffect({0,0},{WIDTH,HEIGHT},{0,0},{WIDTH,HEIGHT},{4,4},{12,12},{-12,-8},{12,-4},Pixel(209, 90, 69,130),Pixel(209, 141, 69,255),140,Pixel(255, 0, 0,32)); WEATHER_POWER*HAILSTORM = new WEATHER_POWER("Hailstorm","Causes a flurry of hard cold rocks to be unleashed in target area. 60+30d",POWER_HAILSTORM_ANIMATION,POWER_HAILSTORM_ANIMATION,60,30,160,Pixel(72, 160, 212,255),Pixel(93, 161, 163,255),120,HAILSTORM_EFF); WEATHER_POWER*HURRICANE = new WEATHER_POWER("Hurricane","Causes heavy winds, scattering seeds, heavy rain. 20+10d",POWER_HURRICANE_ANIMATION,POWER_HURRICANE_ANIMATION,20,10,200,Pixel(99, 148, 132,255),Pixel(121, 132, 140,255),120,HURRICANE_EFF); - WEATHER_POWER*METEOR_RAIN = new WEATHER_POWER("Meteor Rain","Causes space rocks to fall on target area. 50+50d",POWER_METEOR_SHOWER_ANIMATION,POWER_METEOR_SHOWER_ANIMATION,50,50,96,Pixel(96, 86, 153,255),Pixel(170, 103, 201,255),120,METEOR_STORM_EFF); - WEATHER_POWER*METEOR_STORM = new WEATHER_POWER("Meteor Storm","Larger space rocks. 120+60d",POWER_METEOR_STORM_ANIMATION,POWER_METEOR_STORM_ANIMATION,120,60,140,Pixel(89, 4, 33,255),Pixel(130, 56, 1,255),120,METEOR_RAIN_EFF); + WEATHER_POWER*METEOR_RAIN = new WEATHER_POWER("Meteor Rain","Causes fiery space rocks to fall on target area. 50+50d",POWER_METEOR_SHOWER_ANIMATION,POWER_METEOR_SHOWER_ANIMATION,50,50,96,Pixel(96, 86, 153,255),Pixel(170, 103, 201,255),120,METEOR_STORM_EFF); + WEATHER_POWER*METEOR_STORM = new WEATHER_POWER("Meteor Storm","Larger burning space rocks. 120+60d",POWER_METEOR_STORM_ANIMATION,POWER_METEOR_STORM_ANIMATION,120,60,140,Pixel(89, 4, 33,255),Pixel(130, 56, 1,255),120,METEOR_RAIN_EFF); WEATHER_POWER*SNOWSTORM = new WEATHER_POWER("Snowstorm","Slows down targets and causes rapid temperature drops. 15+10d",POWER_SNOWSTORM_ANIMATION,POWER_SNOWSTORM_ANIMATION,15,10,140,Pixel(183, 196, 194,255),Pixel(222, 255, 254,255),120,SNOWSTORM_EFF); WEATHER_POWER*SANDSTORM = new WEATHER_POWER("Sandstorm","",POWER_HAILSTORM_ANIMATION,POWER_HAILSTORM_ANIMATION,5,10,64,Pixel(93, 161, 163,255),Pixel(72, 160, 212,255),120,SANDSTORM_EFF); WEATHER_POWER*SEED_STORM = new WEATHER_POWER("Seed Storm","",POWER_HAILSTORM_ANIMATION,POWER_HAILSTORM_ANIMATION,-10,15,30,Pixel(93, 161, 163,255),Pixel(72, 160, 212,255),120,SEED_STORM_EFF); @@ -542,7 +542,7 @@ public: *SPIDEY_DECAL,*TARGETING_CIRCLE,*TARGETING_RANGE_CIRCLE,*HEALTHBAR_DECAL, *CONSUME_SNACK_DECAL,*CONSUME_MEAL_DECAL,*COMPUTER_DECAL,*BROKEN_ROVER_DECAL, *NADO_DECAL,*SILICON_ROCK_DECAL,*PETAL_STORM_DECAL,*ROVER_DECAL,*X_X_DECAL, - *LATER_THAT_NIGHT_DECAL,*SLEEP_DECAL,*SEED_DECAL,*TREE_DECAL; + *LATER_THAT_NIGHT_DECAL,*SLEEP_DECAL,*SEED_DECAL,*TREE_DECAL,*X_X_UNCHARGED_DECAL; std::map BASE_OBJECTS; std::vector ENCOUNTERS; Encounter ENCOUNTER_SPIDEY_1; @@ -628,6 +628,7 @@ public: PETAL_STORM_DECAL=new Decal(new Sprite("assets/petalstorm_icon.png")); ROVER_DECAL=new Decal(new Sprite("assets/ROVER.png")); X_X_DECAL=new Decal(new Sprite("assets/X.X.png")); + X_X_UNCHARGED_DECAL=new Decal(new Sprite("assets/X.X_uncharged.png")); LATER_THAT_NIGHT_DECAL=new Decal(new Sprite("assets/LaterThatNight.png")); SLEEP_DECAL=new Decal(new Sprite("assets/sleep.png")); SEED_DECAL=new Decal(new Sprite("assets/seed.png")); @@ -1567,10 +1568,15 @@ public: if (PLAYER_SELECTED_TARGET==-2) { effectRadius({CURRENT_ENCOUNTER.x+CURRENT_ENCOUNTER.playerX,CURRENT_ENCOUNTER.y+CURRENT_ENCOUNTER.playerY},ref,true); } else { - effectRadius({CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->x+CURRENT_ENCOUNTER.x,CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->y+CURRENT_ENCOUNTER.y},ref,true); - } + effectRadius({CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->x+CURRENT_ENCOUNTER.x,CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->y+CURRENT_ENCOUNTER.y},ref,true); } } else { effectRadius({CURRENT_ENCOUNTER.x+CURRENT_ENCOUNTER.playerX,CURRENT_ENCOUNTER.y+CURRENT_ENCOUNTER.playerY},ref,false); + if (ref==LIGHT_STORM&&CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->name.compare("X_X")==0) { + CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->spr=X_X_UNCHARGED_DECAL; + } else + if (ref==SEED_PELLET&&CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->name.compare("X_X")==0) { + CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->spr=X_X_DECAL; + } } } else if (EFFECT_TIMER==ref->effectTime/2){ @@ -2129,7 +2135,7 @@ public: DrawPartialDecal({(float)(WIDTH/2-16+(current_playerAnim->flipped?32:0)),(float)(HEIGHT/2-16)},current_playerAnim->spr,current_playerAnim->getCurrentFrame(),{32,32},{(float)(current_playerAnim->flipped?-1:1),1}); } if (IN_BATTLE_ENCOUNTER&&BATTLE_ENTRY_TIMER<45) { - DrawStringDecal({(float)(WIDTH/2-16),(float)(HEIGHT/2-16-sin(frameCount*12/60.0)*4-12)},"!!",RED); + DrawStringDecal({(float)((BATTLE_PLAYER_COORDS.x-PLAYER_COORDS[0])*32+WIDTH/2-16+(current_playerAnim->flipped?32:0)),(float)((BATTLE_PLAYER_COORDS.y-PLAYER_COORDS[1])*32+HEIGHT/2-16-sin(frameCount*12/60.0)*4-12)},"!!",RED); } } }break; diff --git a/assets/X.X_uncharged.png b/assets/X.X_uncharged.png new file mode 100644 index 0000000000000000000000000000000000000000..2360e6247d3ce59ba10d82885adb3823029339e8 GIT binary patch literal 23486 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 Q_ec