Fix new maps having embedded tilesets (unsupported feature). Add in new overworld stage connections to new maps. Slightly randomize stone elemental attack cycles to vary their attack timings. Release Build 9352.

This commit is contained in:
sigonasr2 2024-05-20 06:22:31 -05:00
parent 45be6e80e6
commit 153589a232
11 changed files with 5073 additions and 39911 deletions

View File

@ -61,6 +61,7 @@ if range to player > 1200 always use 3rd attack
void Monster::STRATEGY::STONE_ELEMENTAL(Monster&m,float fElapsedTime,std::string strategy){ void Monster::STRATEGY::STONE_ELEMENTAL(Monster&m,float fElapsedTime,std::string strategy){
enum PhaseName{ enum PhaseName{
INITIALIZE,
WAITING, WAITING,
STONE_PILLAR_CAST, STONE_PILLAR_CAST,
SHOOT_STONE_CAST, SHOOT_STONE_CAST,
@ -76,6 +77,10 @@ void Monster::STRATEGY::STONE_ELEMENTAL(Monster&m,float fElapsedTime,std::string
}; };
switch(m.phase){ switch(m.phase){
case INITIALIZE:{
m.F(A::ATTACK_COOLDOWN)=util::random(ConfigFloat("Attack Wait Time")/1.5f);
m.phase=WAITING;
}break;
case WAITING:{ case WAITING:{
m.F(A::ATTACK_COOLDOWN)+=fElapsedTime; m.F(A::ATTACK_COOLDOWN)+=fElapsedTime;
@ -136,7 +141,10 @@ void Monster::STRATEGY::STONE_ELEMENTAL(Monster&m,float fElapsedTime,std::string
}break; }break;
case SHOOT_STONE_CAST:{ case SHOOT_STONE_CAST:{
m.F(A::CASTING_TIMER)-=fElapsedTime; m.F(A::CASTING_TIMER)-=fElapsedTime;
if(m.F(A::CASTING_TIMER)>=ConfigFloat("Rock Toss Wait Time")-ConfigFloat("Rock Toss Track Time"))m.UpdateFacingDirection(game->GetPlayer()->GetPos()); if(m.F(A::CASTING_TIMER)>=ConfigFloat("Rock Toss Wait Time")-ConfigFloat("Rock Toss Track Time")){
m.PerformIdleAnimation();
m.UpdateFacingDirection(game->GetPlayer()->GetPos());
}
if(m.F(A::CASTING_TIMER)<=0.f){ if(m.F(A::CASTING_TIMER)<=0.f){
ReturnToWaitingPhase(); ReturnToWaitingPhase();
} }

View File

@ -19,4 +19,9 @@ Move old maps from master branch into demo branch (has boundary changes)
When a monster spawns, if it spawns inside a collision tile, attempt to set it outside somewhere and make a warning popup. When a monster spawns, if it spawns inside a collision tile, attempt to set it outside somewhere and make a warning popup.
New Monster Sound Effects New Monster Sound Effects
DEMO
====
Go back and apply new rendering code.

View File

@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 1 #define VERSION_MAJOR 1
#define VERSION_MINOR 2 #define VERSION_MINOR 2
#define VERSION_PATCH 0 #define VERSION_PATCH 0
#define VERSION_BUILD 9350 #define VERSION_BUILD 9352
#define stringify(a) stringify_(a) #define stringify(a) stringify_(a)
#define stringify_(a) #a #define stringify_(a) #a

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -687,6 +687,7 @@
</object> </object>
<object id="20" name="Stage II-I" type="StagePlate" x="201" y="233" width="42" height="14"> <object id="20" name="Stage II-I" type="StagePlate" x="201" y="233" width="42" height="14">
<properties> <properties>
<property name="Connection 1 - North" type="object" value="21"/>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/> <property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/>
<property name="Type" propertytype="StageType" value="DUNGEON"/> <property name="Type" propertytype="StageType" value="DUNGEON"/>
<property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/> <property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/>
@ -694,34 +695,42 @@
</object> </object>
<object id="21" name="Stage II-II" type="StagePlate" x="217" y="205" width="42" height="14"> <object id="21" name="Stage II-II" type="StagePlate" x="217" y="205" width="42" height="14">
<properties> <properties>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/> <property name="Connection 1 - North" type="object" value="22"/>
<property name="Connection 4 - West" type="object" value="22"/>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_2"/>
<property name="Type" propertytype="StageType" value="DUNGEON"/> <property name="Type" propertytype="StageType" value="DUNGEON"/>
<property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/> <property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/>
</properties> </properties>
</object> </object>
<object id="22" name="Stage II-III" type="StagePlate" x="149" y="181" width="42" height="14"> <object id="22" name="Stage II-III" type="StagePlate" x="149" y="181" width="42" height="14">
<properties> <properties>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/> <property name="Connection 1 - North" type="object" value="23"/>
<property name="Connection 4 - West" type="object" value="23"/>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_3"/>
<property name="Type" propertytype="StageType" value="DUNGEON"/> <property name="Type" propertytype="StageType" value="DUNGEON"/>
<property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/> <property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/>
</properties> </properties>
</object> </object>
<object id="23" name="Stage II-IV" type="StagePlate" x="121" y="137" width="42" height="14"> <object id="23" name="Stage II-IV" type="StagePlate" x="121" y="137" width="42" height="14">
<properties> <properties>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/> <property name="Connection 1 - North" type="object" value="24"/>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_4"/>
<property name="Type" propertytype="StageType" value="DUNGEON"/> <property name="Type" propertytype="StageType" value="DUNGEON"/>
<property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/> <property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/>
</properties> </properties>
</object> </object>
<object id="24" name="Stage II-V" type="StagePlate" x="125" y="89" width="42" height="14"> <object id="24" name="Stage II-V" type="StagePlate" x="125" y="89" width="42" height="14">
<properties> <properties>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/> <property name="Connection 2 - East" type="object" value="25"/>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_5"/>
<property name="Type" propertytype="StageType" value="DUNGEON"/> <property name="Type" propertytype="StageType" value="DUNGEON"/>
<property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/> <property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/>
</properties> </properties>
</object> </object>
<object id="25" name="Stage II-VI" type="StagePlate" x="169" y="117" width="42" height="14"> <object id="25" name="Stage II-VI" type="StagePlate" x="169" y="117" width="42" height="14">
<properties> <properties>
<property name="Connection 1 - North" type="object" value="26"/>
<property name="Connection 2 - East" type="object" value="26"/>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/> <property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/>
<property name="Type" propertytype="StageType" value="DUNGEON"/> <property name="Type" propertytype="StageType" value="DUNGEON"/>
<property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/> <property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/>
@ -729,6 +738,7 @@
</object> </object>
<object id="26" name="Stage II-VII" type="StagePlate" x="185" y="93" width="42" height="14"> <object id="26" name="Stage II-VII" type="StagePlate" x="185" y="93" width="42" height="14">
<properties> <properties>
<property name="Connection 2 - East" type="object" value="27"/>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/> <property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/>
<property name="Type" propertytype="StageType" value="DUNGEON"/> <property name="Type" propertytype="StageType" value="DUNGEON"/>
<property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/> <property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/>
@ -736,6 +746,7 @@
</object> </object>
<object id="27" name="Stage II-VIII" type="StagePlate" x="245" y="89" width="42" height="14"> <object id="27" name="Stage II-VIII" type="StagePlate" x="245" y="89" width="42" height="14">
<properties> <properties>
<property name="Connection 3 - South" type="object" value="28"/>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/> <property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/>
<property name="Type" propertytype="StageType" value="DUNGEON"/> <property name="Type" propertytype="StageType" value="DUNGEON"/>
<property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/> <property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/>
@ -743,7 +754,8 @@
</object> </object>
<object id="28" name="Boss II" type="StagePlate" x="237" y="137" width="30" height="22"> <object id="28" name="Boss II" type="StagePlate" x="237" y="137" width="30" height="22">
<properties> <properties>
<property name="Map" propertytype="Level" value="CAMPAIGN_2_1"/> <property name="Connection 4 - West" type="object" value="29"/>
<property name="Map" propertytype="Level" value="BOSS_2_B"/>
<property name="Type" propertytype="StageType" value="BOSS"/> <property name="Type" propertytype="StageType" value="BOSS"/>
<property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/> <property name="Unlock Condition" propertytype="Level" value="STORY_1_1"/>
</properties> </properties>
@ -756,4 +768,4 @@
</properties> </properties>
</object> </object>
</objectgroup> </objectgroup>
</map> </map>

View File

@ -122,4 +122,34 @@ Levels
# Specify item, min quantity, and max quantity of items. Optionally specify a % drop chance per item. # Specify item, min quantity, and max quantity of items. Optionally specify a % drop chance per item.
# Loot[0] = Berries, 1, 5, 100% # Loot[0] = Berries, 1, 5, 100%
} }
CAMPAIGN_2_2
{
Map File = 2_2.tmx
# Specify item, min quantity, and max quantity of items. Optionally specify a % drop chance per item.
# Loot[0] = Berries, 1, 5, 100%
}
CAMPAIGN_2_3
{
Map File = 2_3.tmx
# Specify item, min quantity, and max quantity of items. Optionally specify a % drop chance per item.
# Loot[0] = Berries, 1, 5, 100%
}
CAMPAIGN_2_4
{
Map File = 2_4.tmx
# Specify item, min quantity, and max quantity of items. Optionally specify a % drop chance per item.
# Loot[0] = Berries, 1, 5, 100%
}
CAMPAIGN_2_5
{
Map File = 2_5.tmx
# Specify item, min quantity, and max quantity of items. Optionally specify a % drop chance per item.
# Loot[0] = Berries, 1, 5, 100%
}
BOSS_2_B
{
Map File = Boss_2_B.tmx
# Specify item, min quantity, and max quantity of items. Optionally specify a % drop chance per item.
# Loot[0] = Berries, 1, 5, 100%
}
} }