generated from sigonasr2/CPlusPlusProjectTemplate
Made special replace tags / customized display text for battle abilities.
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
a0651b308d
commit
0aac9f825f
Binary file not shown.
41
battle.h
41
battle.h
@ -5,6 +5,47 @@
|
|||||||
#include "pixelGameEngine.h"
|
#include "pixelGameEngine.h"
|
||||||
using namespace olc;
|
using namespace olc;
|
||||||
|
|
||||||
|
enum class BattleMoveName{
|
||||||
|
TESTMOVE1,
|
||||||
|
TESTMOVE2,
|
||||||
|
TESTMOVE3,
|
||||||
|
BASH,
|
||||||
|
BASH_CHANGE,
|
||||||
|
DEFEND,
|
||||||
|
HAILSTORM_A,
|
||||||
|
HAILSTORM_B,
|
||||||
|
HAILSTORM_G,
|
||||||
|
HAILSTORM_O,
|
||||||
|
HURRICANE_A,
|
||||||
|
HURRICANE_B,
|
||||||
|
HURRICANE_G,
|
||||||
|
HURRICANE_O,
|
||||||
|
METEORRAIN_A,
|
||||||
|
METEORRAIN_B,
|
||||||
|
METEORRAIN_G,
|
||||||
|
METEORRAIN_O,
|
||||||
|
PKFREEZE_A,
|
||||||
|
PKFREEZE_B,
|
||||||
|
PKFREEZE_G,
|
||||||
|
PKFREEZE_O,
|
||||||
|
PKSHIELD_A,
|
||||||
|
PKSHIELD_B,
|
||||||
|
PKSHIELD_O,
|
||||||
|
PKSHIELD_S,
|
||||||
|
PKLIFEUP_A,
|
||||||
|
PKLIFEUP_B,
|
||||||
|
PKLIFEUP_G,
|
||||||
|
PKLIFEUP_O,
|
||||||
|
PKFUN_A,
|
||||||
|
PKFUN_B,
|
||||||
|
PKFUN_G,
|
||||||
|
PKFUN_O,
|
||||||
|
PKFIRE_A,
|
||||||
|
PKFIRE_B,
|
||||||
|
PKFIRE_G,
|
||||||
|
PKFIRE_O,
|
||||||
|
};
|
||||||
|
|
||||||
enum class Resistance{
|
enum class Resistance{
|
||||||
WET,
|
WET,
|
||||||
DRY,
|
DRY,
|
||||||
|
69
main.cpp
69
main.cpp
@ -33,46 +33,6 @@ enum{
|
|||||||
SIGMA=Σ,
|
SIGMA=Σ,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class BattleMoveName{
|
|
||||||
TESTMOVE1,
|
|
||||||
TESTMOVE2,
|
|
||||||
TESTMOVE3,
|
|
||||||
BASH,
|
|
||||||
DEFEND,
|
|
||||||
HAILSTORM_A,
|
|
||||||
HAILSTORM_B,
|
|
||||||
HAILSTORM_G,
|
|
||||||
HAILSTORM_O,
|
|
||||||
HURRICANE_A,
|
|
||||||
HURRICANE_B,
|
|
||||||
HURRICANE_G,
|
|
||||||
HURRICANE_O,
|
|
||||||
METEORRAIN_A,
|
|
||||||
METEORRAIN_B,
|
|
||||||
METEORRAIN_G,
|
|
||||||
METEORRAIN_O,
|
|
||||||
PKFREEZE_A,
|
|
||||||
PKFREEZE_B,
|
|
||||||
PKFREEZE_G,
|
|
||||||
PKFREEZE_O,
|
|
||||||
PKSHIELD_A,
|
|
||||||
PKSHIELD_B,
|
|
||||||
PKSHIELD_O,
|
|
||||||
PKSHIELD_S,
|
|
||||||
PKLIFEUP_A,
|
|
||||||
PKLIFEUP_B,
|
|
||||||
PKLIFEUP_G,
|
|
||||||
PKLIFEUP_O,
|
|
||||||
PKFUN_A,
|
|
||||||
PKFUN_B,
|
|
||||||
PKFUN_G,
|
|
||||||
PKFUN_O,
|
|
||||||
PKFIRE_A,
|
|
||||||
PKFIRE_B,
|
|
||||||
PKFIRE_G,
|
|
||||||
PKFIRE_O,
|
|
||||||
};
|
|
||||||
|
|
||||||
template<typename T, typename F> inline T transform_to( F str ) noexcept{if (str.empty()) return {}; return { std::begin(str), std::end(str) };};
|
template<typename T, typename F> inline T transform_to( F str ) noexcept{if (str.empty()) return {}; return { std::begin(str), std::end(str) };};
|
||||||
|
|
||||||
class Map{
|
class Map{
|
||||||
@ -976,7 +936,7 @@ This is a test message that lets us trigger straight from a cutscene! Cool!)"),
|
|||||||
}
|
}
|
||||||
if (ACTIONKEYPRESSED) {
|
if (ACTIONKEYPRESSED) {
|
||||||
ITEM_REQUIRES_EQUIPPING=true;
|
ITEM_REQUIRES_EQUIPPING=true;
|
||||||
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove=MOVELIST[BattleMoveName::BASH];
|
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove=MOVELIST[BattleMoveName::BASH_CHANGE];
|
||||||
SetupTargetSelect();
|
SetupTargetSelect();
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
@ -1352,14 +1312,30 @@ This is a test message that lets us trigger straight from a cutscene! Cool!)"),
|
|||||||
std::wstring label=L"";
|
std::wstring label=L"";
|
||||||
if (CURRENT_TURN<0) {
|
if (CURRENT_TURN<0) {
|
||||||
std::wstring baseStr = PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove->attackMsg;
|
std::wstring baseStr = PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove->attackMsg;
|
||||||
label=baseStr.replace(baseStr.find(L"$USER"),5,transform_to<std::wstring>(PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->obj->name))
|
label=baseStr;
|
||||||
.replace(baseStr.find(L"$POWER"),6,transform_to<std::wstring>(PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove->name)+L" "+((PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove->grade!=0)?std::wstring(1,PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove->grade):L""));
|
if (label.find(L"$USER")!=std::string::npos) {
|
||||||
|
label=label.replace(label.find(L"$USER"),5,transform_to<std::wstring>(PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->obj->name));
|
||||||
|
}
|
||||||
|
if (label.find(L"$POWER")!=std::string::npos) {
|
||||||
|
label=label.replace(label.find(L"$POWER"),6,transform_to<std::wstring>(PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove->name)+L" "+((PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove->grade!=0)?std::wstring(1,PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove->grade):L""));
|
||||||
|
}
|
||||||
|
if (label.find(L"$ITEM")!=std::string::npos) {
|
||||||
|
label=label.replace(label.find(L"$ITEM"),5,transform_to<std::wstring>(PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->equipment[EquipSlot::WEAPON]->name));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
std::wstring baseStr = BATTLE_ENCOUNTER->objs[CURRENT_TURN]->selectedMove->attackMsg;
|
std::wstring baseStr = BATTLE_ENCOUNTER->objs[CURRENT_TURN]->selectedMove->attackMsg;
|
||||||
label=baseStr.replace(baseStr.find(L"$USER"),5,transform_to<std::wstring>(BATTLE_ENCOUNTER->objs[CURRENT_TURN]->obj->name))
|
label=baseStr;
|
||||||
.replace(baseStr.find(L"$POWER"),6,transform_to<std::wstring>((BATTLE_ENCOUNTER->objs[CURRENT_TURN]->selectedMove->grade!=0)?std::wstring(1,BATTLE_ENCOUNTER->objs[CURRENT_TURN]->selectedMove->grade):L""));
|
if (label.find(L"$USER")!=std::string::npos) {
|
||||||
|
label=label.replace(label.find(L"$USER"),5,transform_to<std::wstring>(BATTLE_ENCOUNTER->objs[CURRENT_TURN]->obj->name));
|
||||||
}
|
}
|
||||||
DrawFancyStringDecal({2,2},Wrap(label,ScreenWidth()-2,false,{2,2}),WHITE,{2,2});
|
if (label.find(L"$POWER")!=std::string::npos) {
|
||||||
|
label=label.replace(label.find(L"$POWER"),6,transform_to<std::wstring>((BATTLE_ENCOUNTER->objs[CURRENT_TURN]->selectedMove->grade!=0)?std::wstring(1,BATTLE_ENCOUNTER->objs[CURRENT_TURN]->selectedMove->grade):L""));
|
||||||
|
}
|
||||||
|
if (label.find(L"$ITEM")!=std::string::npos) {
|
||||||
|
label=label.replace(label.find(L"$ITEM"),5,transform_to<std::wstring>(BATTLE_ENCOUNTER->objs[CURRENT_TURN]->equipment[EquipSlot::WEAPON]->name));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DrawFancyStringDecal({2,2},Wrap(label,ScreenWidth()-2,false,{1,2}),WHITE,{1,2});
|
||||||
}
|
}
|
||||||
if (BATTLE_STATE!=BattleState::MOVE_CAMERA) {
|
if (BATTLE_STATE!=BattleState::MOVE_CAMERA) {
|
||||||
SetDrawTarget(layer::INTERFACE);
|
SetDrawTarget(layer::INTERFACE);
|
||||||
@ -1896,6 +1872,7 @@ This is a test message that lets us trigger straight from a cutscene! Cool!)"),
|
|||||||
MOVELIST[BattleMoveName::TESTMOVE2]=new Battle::Move("Test Move 2","An attack",40,10,ㅍ 0,1,0,false,{0,0,0,0});
|
MOVELIST[BattleMoveName::TESTMOVE2]=new Battle::Move("Test Move 2","An attack",40,10,ㅍ 0,1,0,false,{0,0,0,0});
|
||||||
MOVELIST[BattleMoveName::TESTMOVE3]=new Battle::Move("Test Move 3","An attack",25,5,ㅍ 0,3,0,false,{0,0,20,0});
|
MOVELIST[BattleMoveName::TESTMOVE3]=new Battle::Move("Test Move 3","An attack",25,5,ㅍ 0,3,0,false,{0,0,20,0});
|
||||||
MOVELIST[BattleMoveName::BASH]=new Battle::Move("Bash","Regular attack.",5,5,ㅍ 0,1,0,false,{0,0,0,0});
|
MOVELIST[BattleMoveName::BASH]=new Battle::Move("Bash","Regular attack.",5,5,ㅍ 0,1,0,false,{0,0,0,0});
|
||||||
|
MOVELIST[BattleMoveName::BASH_CHANGE]=new Battle::Move(MOVELIST[BattleMoveName::BASH]->name,"Regular attack.",MOVELIST[BattleMoveName::BASH]->baseDmg,MOVELIST[BattleMoveName::BASH]->randomDmg,ㅍ MOVELIST[BattleMoveName::BASH]->PPCost,MOVELIST[BattleMoveName::BASH]->range,MOVELIST[BattleMoveName::BASH]->composition,L"$USER equipped the $ITEM instead and attacks.",MOVELIST[BattleMoveName::BASH]->eff,MOVELIST[BattleMoveName::BASH]->pctDamage,MOVELIST[BattleMoveName::BASH]->properties);
|
||||||
MOVELIST[BattleMoveName::DEFEND]=new Battle::Move("Defend","Defend.",0,0,ㅍ 0,1,5*60,true,{0,0,0,0});
|
MOVELIST[BattleMoveName::DEFEND]=new Battle::Move("Defend","Defend.",0,0,ㅍ 0,1,5*60,true,{0,0,0,0});
|
||||||
MOVELIST[BattleMoveName::HAILSTORM_A]=new Battle::Move("Hailstorm","Causes heavy ice rocks to crash",ALPHA,40,20,ㅍ 4,4,0,false,{0,0,20,0});
|
MOVELIST[BattleMoveName::HAILSTORM_A]=new Battle::Move("Hailstorm","Causes heavy ice rocks to crash",ALPHA,40,20,ㅍ 4,4,0,false,{0,0,20,0});
|
||||||
MOVELIST[BattleMoveName::HAILSTORM_B]=new Battle::Move("Hailstorm","Causes heavy ice rocks to crash",BETA,80,20,ㅍ 12,4,0,false,{0,0,20,0});
|
MOVELIST[BattleMoveName::HAILSTORM_B]=new Battle::Move("Hailstorm","Causes heavy ice rocks to crash",BETA,80,20,ㅍ 12,4,0,false,{0,0,20,0});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user