Add hint text display when the coin is collected by the player. Pirate's Treasure locks at the final curse threshold. Release Build 12249.
All checks were successful
Emscripten Build / Build_and_Deploy_Web_Build (push) Successful in 7m26s

This commit is contained in:
sigonasr2 2025-08-04 13:36:07 -05:00
parent 87686ed9e6
commit a22179f692
6 changed files with 16 additions and 4 deletions

View File

@ -243,10 +243,17 @@ void Monster::STRATEGY::GHOST_OF_PIRATE_CAPTAIN(Monster&m,float fElapsedTime,std
m.SetPos(m.V(A::HIDING_POS));
m.SetVelocity({});
m.arrowIndicator=false; //While the boss is hiding, the indicator will not show up.
m.SetStrategyOnHitFunction([&m](const HurtDamageInfo damageData,Monster&monster,const StrategyName&strategyName)->void{
m.SetStrategyOnHitFunction([&m,&strategy](const HurtDamageInfo damageData,Monster&monster,const StrategyName&strategyName)->void{
m.SetPhase(strategyName,NORMAL);
m.arrowIndicator=true;
m.SetStrategyOnHitFunction({});
if(Config("Curse Thresholds").GetValueCount()==m.I(A::CURSE_THRESHOLD_ARRAY_IND)){
const std::string_view PIRATES_TREASURE{"Pirate's Treasure"};
for(std::shared_ptr<Monster>&m:MONSTER_LIST
|std::views::filter([&PIRATES_TREASURE](std::shared_ptr<Monster>&m){return m->GetStrategyName()==PIRATES_TREASURE;})){
m->SetPhase("Pirate's Treasure",1); //HARDCODED to the LOCKED phase for the Pirate's Treasure
}
}
});
SETPHASE(HIDING);
}

View File

@ -51,5 +51,6 @@ void Monster::STRATEGY::PIRATES_COIN(Monster&m,float fElapsedTime,std::string st
m._DealTrueDamage(m.GetHealth(),HurtFlag::NO_DAMAGE_NUMBER);
m.SetLifetime(0.f);
m.SetSize(0.f,false);
game->GetPlayer()->NotificationDisplay(ConfigString("Coin Owned Text"),INFINITE);
}
}

View File

@ -44,7 +44,7 @@ INCLUDE_game
void Monster::STRATEGY::PIRATES_TREASURE(Monster&m,float fElapsedTime,std::string strategy){
enum Phase{
NORMAL,
LOCKED,
LOCKED = 1, //The locked phase will remain at 1 so that the Ghost Boss can utilize this specific phase number.
};
switch(PHASE()){
@ -56,6 +56,7 @@ void Monster::STRATEGY::PIRATES_TREASURE(Monster&m,float fElapsedTime,std::strin
game->GetPlayer()->RemoveBuff(BuffType::PIRATE_GHOST_CAPTAIN_PRECURSE);
game->GetPlayer()->RemoveBuff(BuffType::PIRATE_GHOST_CAPTAIN_CURSE_COIN);
game->GetPlayer()->RemoveBuff(BuffType::PIRATE_GHOST_CAPTAIN_CURSE_DOT);
game->GetPlayer()->NotificationDisplay("",0);
}
}break;
case LOCKED:{

View File

@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 1
#define VERSION_MINOR 3
#define VERSION_PATCH 0
#define VERSION_BUILD 12247
#define VERSION_BUILD 12249
#define stringify(a) stringify_(a)
#define stringify_(a) #a

View File

@ -1349,7 +1349,7 @@ MonsterStrategy
Ghost Saber Expand Spd = 14px
# What HP % the boss throws a coin at the player, applying a curse, and hiding from the player.
Curse Thresholds = 95%, 40%, 10%
Curse Thresholds = 70%, 40%, 10%
# How much time before the curse starts dealing damage to the player
Curse Damage Wait Time = 10s
# How much % damage the curse does to the player every second.
@ -1371,5 +1371,8 @@ MonsterStrategy
Coin Rise Timer = 2s
# Highest Z position the collected coin icon appears at.
Coin Collect Rise Amount = 36px
# The hint text displayed when the player is holding the coin.
Coin Owned Text = "This treasure does not belong to you..."
}
}