Added casting spell circle graphic and AI for Stone Elemental Stone Pillar Attack. Added Stone Elemental configuration parameters. Release Build 9283.
This commit is contained in:
parent
ea2dc34bb6
commit
177d62af58
@ -333,7 +333,7 @@ void Audio::Update(){
|
|||||||
//Start playing the tracks.
|
//Start playing the tracks.
|
||||||
Audio::BGM&track=Self().bgm[Self().GetTrackName()];
|
Audio::BGM&track=Self().bgm[Self().GetTrackName()];
|
||||||
for(int trackID:track.GetChannelIDs()){
|
for(int trackID:track.GetChannelIDs()){
|
||||||
Self().Engine().Play(trackID,true);
|
Engine().Play(trackID,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,24 +73,57 @@ void Monster::STRATEGY::STONE_ELEMENTAL(Monster&m,float fElapsedTime,std::string
|
|||||||
case WAITING:{
|
case WAITING:{
|
||||||
m.F(A::ATTACK_COOLDOWN)+=fElapsedTime;
|
m.F(A::ATTACK_COOLDOWN)+=fElapsedTime;
|
||||||
|
|
||||||
float distToPlayer=util::distance(m.GetPos(),game->GetPlayer()->GetPos());
|
//float distToPlayer=util::distance(m.GetPos(),game->GetPlayer()->GetPos());
|
||||||
if(distToPlayer>=ConfigPixels("Auto Dive Range"))m.phase=DIVE_UNDERGROUND_DIG;
|
//if(distToPlayer>=ConfigPixels("Auto Dive Range"))m.phase=DIVE_UNDERGROUND_DIG;
|
||||||
|
|
||||||
if(m.F(A::ATTACK_COOLDOWN)>=ConfigFloat("Attack Wait Time")){
|
if(m.F(A::ATTACK_COOLDOWN)>=ConfigFloat("Attack Wait Time")){
|
||||||
switch(util::random()%3){
|
switch(util::random()%1){
|
||||||
case 0:m.phase=STONE_PILLAR_CAST;break;
|
case 0:{
|
||||||
case 1:m.phase=SHOOT_STONE_CAST;break;
|
m.PerformAnimation("STONE PILLAR CAST");
|
||||||
case 2:m.phase=DIVE_UNDERGROUND_DIG;break;
|
m.phase=STONE_PILLAR_CAST;
|
||||||
|
m.F(A::CASTING_TIMER)=ConfigFloat("Stone Pillar Cast Time");
|
||||||
|
m.V(A::LOCKON_POS)=game->GetPlayer()->GetPos();
|
||||||
|
game->AddEffect(std::make_unique<Effect>(m.V(A::LOCKON_POS),ConfigFloat("Stone Pillar Cast Time"),"range_indicator.png",m.OnUpperLevel(),vf2d{1.f,1.f}*MONSTER_DATA.at("Stone Pillar").GetSizeMult(),0.3f,vf2d{},ConfigPixel("Stone Pillar Spell Circle Color"),util::random(2*PI),util::degToRad(ConfigFloat("Stone Pillar Spell Circle Rotation Spd"))),true);
|
||||||
|
game->AddEffect(std::make_unique<Effect>(m.V(A::LOCKON_POS),ConfigFloat("Stone Pillar Cast Time"),"spell_insignia.png",m.OnUpperLevel(),vf2d{1.f,1.f}*MONSTER_DATA.at("Stone Pillar").GetSizeMult()*0.75f,0.3f,vf2d{},ConfigPixel("Stone Pillar Spell Insignia Color"),util::random(2*PI),util::degToRad(ConfigFloat("Stone Pillar Spell Insignia Rotation Spd"))),true);
|
||||||
|
}break;
|
||||||
|
case 1:{
|
||||||
|
m.PerformAnimation("ROCK TOSS CAST");
|
||||||
|
m.phase=SHOOT_STONE_CAST;
|
||||||
|
m.F(A::CASTING_TIMER)=ConfigFloat("Rock Toss Track Time")+ConfigFloat("Rock Toss Wait Time");
|
||||||
|
}break;
|
||||||
|
case 2:{
|
||||||
|
m.PerformAnimation("BURROW UNDEGROUND");
|
||||||
|
m.phase=DIVE_UNDERGROUND_DIG;
|
||||||
|
m.F(A::CASTING_TIMER)=ConfigFloat("Burrow Wait Time");
|
||||||
|
}break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
case STONE_PILLAR_CAST:{
|
case STONE_PILLAR_CAST:{
|
||||||
m.PerformAnimation("STONE PILLAR CAST");
|
m.F(A::CASTING_TIMER)-=fElapsedTime;
|
||||||
|
if(m.F(A::CASTING_TIMER)<=0.f){
|
||||||
|
m.phase=STONE_PILLAR_ATTACK;
|
||||||
|
}
|
||||||
}break;
|
}break;
|
||||||
case SHOOT_STONE_CAST:{
|
case SHOOT_STONE_CAST:{
|
||||||
m.PerformAnimation("ROCK TOSS CAST");
|
m.F(A::CASTING_TIMER)-=fElapsedTime;
|
||||||
|
if(m.F(A::CASTING_TIMER)<=0.f){
|
||||||
|
m.phase=SHOOT_STONE_ATTACK;
|
||||||
|
}
|
||||||
}break;
|
}break;
|
||||||
case DIVE_UNDERGROUND_DIG:{
|
case DIVE_UNDERGROUND_DIG:{
|
||||||
|
m.F(A::CASTING_TIMER)-=fElapsedTime;
|
||||||
|
if(m.F(A::CASTING_TIMER)<=0.f){
|
||||||
|
m.phase=DIVE_UNDERGROUND_SURFACE;
|
||||||
|
}
|
||||||
|
}break;
|
||||||
|
case STONE_PILLAR_ATTACK:{
|
||||||
|
|
||||||
|
}break;
|
||||||
|
case SHOOT_STONE_ATTACK:{
|
||||||
|
|
||||||
|
}break;
|
||||||
|
case DIVE_UNDERGROUND_SURFACE:{
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
|
@ -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 9272
|
#define VERSION_BUILD 9283
|
||||||
|
|
||||||
#define stringify(a) stringify_(a)
|
#define stringify(a) stringify_(a)
|
||||||
#define stringify_(a) #a
|
#define stringify_(a) #a
|
||||||
|
@ -724,6 +724,33 @@ MonsterStrategy
|
|||||||
|
|
||||||
# Minimum Distance the Stone Elemental will always perform a dive
|
# Minimum Distance the Stone Elemental will always perform a dive
|
||||||
Auto Dive Range = 1200
|
Auto Dive Range = 1200
|
||||||
|
|
||||||
|
Stone Pillar Cast Time = 3s
|
||||||
|
# NOTE: Stone Pillar's size and lifetime is determined in Monsters.txt
|
||||||
|
|
||||||
|
# RGBA
|
||||||
|
Stone Pillar Spell Circle Color = 40, 40, 40, 80
|
||||||
|
Stone Pillar Spell Insignia Color = 144, 137, 160, 255
|
||||||
|
# Degrees/sec. Positive is CW, Negative is CCW.
|
||||||
|
Stone Pillar Spell Circle Rotation Spd = -30
|
||||||
|
# Degrees/sec. Positive is CW, Negative is CCW.
|
||||||
|
Stone Pillar Spell Insignia Rotation Spd = 50
|
||||||
|
|
||||||
|
Rock Toss Track Time = 1s
|
||||||
|
Rock Toss Wait Time = 1s
|
||||||
|
|
||||||
|
Rock Toss Bullet Speed = 900
|
||||||
|
|
||||||
|
Burrow Wait Time = 1s
|
||||||
|
|
||||||
|
# Provide a minimum and maximum distance
|
||||||
|
Burrow Teleport Distance = 400,700
|
||||||
|
Burrow Ring Bullet Count = 16
|
||||||
|
Burrow Ring Bullet Speed = 100
|
||||||
|
Burrow Ring Bullet Damage = 26
|
||||||
|
Burrow Ring Bullet Size = 8
|
||||||
|
# RGBA
|
||||||
|
Burrow Ring Bullet Color = 200, 203, 206, 255
|
||||||
}
|
}
|
||||||
Do Nothing
|
Do Nothing
|
||||||
{
|
{
|
||||||
|
@ -93,6 +93,7 @@ Images
|
|||||||
GFX_GoblinBomb = goblin_bomb.png
|
GFX_GoblinBomb = goblin_bomb.png
|
||||||
GFX_GoblinBombFuse = goblin_bomb_fuse.png
|
GFX_GoblinBombFuse = goblin_bomb_fuse.png
|
||||||
GFX_BombBoom = bomb_boom.png
|
GFX_BombBoom = bomb_boom.png
|
||||||
|
GFX_SpellInsignia = spell_insignia.png
|
||||||
|
|
||||||
# Ability Icons
|
# Ability Icons
|
||||||
GFX_Warrior_BattleCry_Icon = Ability Icons/battlecry.png
|
GFX_Warrior_BattleCry_Icon = Ability Icons/battlecry.png
|
||||||
|
Binary file not shown.
BIN
Adventures in Lestoria/assets/spell_insignia.png
Normal file
BIN
Adventures in Lestoria/assets/spell_insignia.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 655 B |
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user