Add Chapter 2 boss AI setup. Add Chapter 2 Boss Monster Entry. Add Boss Pillar Monster Entry. Setup Breaking Pillar Monster Strategy. Release Build 9554.
This commit is contained in:
parent
ba7ccf72b0
commit
efcd3f0bf8
@ -639,6 +639,10 @@
|
|||||||
<SubType>
|
<SubType>
|
||||||
</SubType>
|
</SubType>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="BreakingPillar.cpp">
|
||||||
|
<SubType>
|
||||||
|
</SubType>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="Bullet.cpp" />
|
<ClCompile Include="Bullet.cpp" />
|
||||||
<ClCompile Include="BuyItemWindow.cpp">
|
<ClCompile Include="BuyItemWindow.cpp">
|
||||||
<SubType>
|
<SubType>
|
||||||
@ -910,6 +914,10 @@
|
|||||||
<SubType>
|
<SubType>
|
||||||
</SubType>
|
</SubType>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="StoneGolem.cpp">
|
||||||
|
<SubType>
|
||||||
|
</SubType>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="Stone_Elemental.cpp">
|
<ClCompile Include="Stone_Elemental.cpp">
|
||||||
<SubType>
|
<SubType>
|
||||||
</SubType>
|
</SubType>
|
||||||
@ -997,6 +1005,7 @@
|
|||||||
<Text Include="assets\config\story\Chapter 1.txt" />
|
<Text Include="assets\config\story\Chapter 1.txt" />
|
||||||
<Text Include="Chapter_1_2nd_Boss.txt" />
|
<Text Include="Chapter_1_2nd_Boss.txt" />
|
||||||
<Text Include="Chapter_1_Creatures_Part_2.txt" />
|
<Text Include="Chapter_1_Creatures_Part_2.txt" />
|
||||||
|
<Text Include="Chapter_2_Boss.txt" />
|
||||||
<Text Include="Chapter_2_Monsters.txt" />
|
<Text Include="Chapter_2_Monsters.txt" />
|
||||||
<Text Include="characters.txt" />
|
<Text Include="characters.txt" />
|
||||||
<Text Include="Crawler_2_Bonus_Boss.txt" />
|
<Text Include="Crawler_2_Bonus_Boss.txt" />
|
||||||
|
@ -1079,6 +1079,12 @@
|
|||||||
<ClCompile Include="LargeTornado.cpp">
|
<ClCompile Include="LargeTornado.cpp">
|
||||||
<Filter>Source Files\Bullet Types</Filter>
|
<Filter>Source Files\Bullet Types</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="StoneGolem.cpp">
|
||||||
|
<Filter>Source Files\Monster Strategies</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="BreakingPillar.cpp">
|
||||||
|
<Filter>Source Files\Monster Strategies</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="cpp.hint" />
|
<None Include="cpp.hint" />
|
||||||
@ -1247,6 +1253,9 @@
|
|||||||
<Text Include="Crawler_2_Bonus_Boss.txt">
|
<Text Include="Crawler_2_Bonus_Boss.txt">
|
||||||
<Filter>Documentation\Mechanics</Filter>
|
<Filter>Documentation\Mechanics</Filter>
|
||||||
</Text>
|
</Text>
|
||||||
|
<Text Include="Chapter_2_Boss.txt">
|
||||||
|
<Filter>Documentation\Mechanics</Filter>
|
||||||
|
</Text>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Image Include="assets\heart.ico">
|
<Image Include="assets\heart.ico">
|
||||||
|
62
Adventures in Lestoria/BreakingPillar.cpp
Normal file
62
Adventures in Lestoria/BreakingPillar.cpp
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#pragma region License
|
||||||
|
/*
|
||||||
|
License (OLC-3)
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Copyright 2024 Joshua Sigona <sigonasr2@gmail.com>
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
1. Redistributions or derivations of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions or derivative works in binary form must reproduce the above
|
||||||
|
copyright notice. This list of conditions and the following disclaimer must be
|
||||||
|
reproduced in the documentation and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
3. Neither the name of the copyright holder nor the names of its contributors may
|
||||||
|
be used to endorse or promote products derived from this software without specific
|
||||||
|
prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
||||||
|
SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
||||||
|
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||||
|
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGE.
|
||||||
|
|
||||||
|
Portions of this software are copyright © 2024 The FreeType
|
||||||
|
Project (www.freetype.org). Please see LICENSE_FT.txt for more information.
|
||||||
|
All rights reserved.
|
||||||
|
*/
|
||||||
|
#pragma endregion
|
||||||
|
|
||||||
|
#include "Monster.h"
|
||||||
|
#include "MonsterStrategyHelpers.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
using A=Attribute;
|
||||||
|
|
||||||
|
void Monster::STRATEGY::BREAKING_PILLAR(Monster&m,float fElapsedTime,std::string strategy){
|
||||||
|
enum PhaseName{
|
||||||
|
INITIALIZE,
|
||||||
|
IDLE,
|
||||||
|
};
|
||||||
|
|
||||||
|
if(m.GetHealthRatio()>=ConfigFloat("Break Phase 1 HP % Threshold")/100.f){
|
||||||
|
m.animation.ModifyDisplaySprite(m.internal_animState,ConfigString("Unbroken Animation Name"));
|
||||||
|
}else
|
||||||
|
if(m.GetHealthRatio()>=ConfigFloat("Break Phase 2 HP % Threshold")/100.f){
|
||||||
|
m.animation.ModifyDisplaySprite(m.internal_animState,ConfigString("Break Phase 1 Animation Name"));
|
||||||
|
}else m.animation.ModifyDisplaySprite(m.internal_animState,ConfigString("Break Phase 2 Animation Name"));
|
||||||
|
|
||||||
|
if(m.IsDead()&&!m.B(A::MARKED_DEAD)){ //Kill and fade out the pillar.
|
||||||
|
m.lifetime=0.01f;
|
||||||
|
m.B(A::MARKED_DEAD)=true;
|
||||||
|
}
|
||||||
|
}
|
69
Adventures in Lestoria/Chapter_2_Boss.txt
Normal file
69
Adventures in Lestoria/Chapter_2_Boss.txt
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
Chapter 2 Boss
|
||||||
|
|
||||||
|
Stonegolem
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
HP: 30 000
|
||||||
|
|
||||||
|
Size: 800%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The boss casts 3 Pillars at the beginning of the fight, targeting the player.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1 at a time.
|
||||||
|
|
||||||
|
2 sec cast.
|
||||||
|
|
||||||
|
0.5 sec delay until next cast starts.
|
||||||
|
|
||||||
|
40 dmg
|
||||||
|
|
||||||
|
Pillar-radius: 350
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
every 10% (first time at 90%) use a shockwave where you need to hide behind one of the pillar to avoid the damage. (Shockwave has 3 seconds cast, 60 dmg)
|
||||||
|
|
||||||
|
The pillars get damaged with every shockwave. after the 3rd the pillar break.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
starting 75% every 10% (75%, 65%, 55% ...) The Stone golem targetst the Player with 3 Pillar attacks like the one at the beginning of the fight.
|
||||||
|
|
||||||
|
2 of the 3 Pillars spawn damaged and will break 3 seconds later again. one is solid and can tank up to 3 shockwaves.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Like previously every pillar appears with 2,5 seconds delay from each other. (2 sec with an indicator, 0,5 seconds delay after a pillar got created)
|
||||||
|
|
||||||
|
The Boss continues with its normal behaviour while the pillars are getting casted.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
every Pillar that breaks Casts a ring of projectiles on death (15 dmg)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The golem attacks similar like bear boss but with half the radius on the attack. (35 dmg)
|
||||||
|
|
||||||
|
after every attack there is a 25% chance The Stone golem targets the Player. the targeting gets Indicated around the player.
|
||||||
|
|
||||||
|
after 2.5 seconds the golems throws a giant rock with 250 radius on the players position. Damaging the player and destroying Pillars hit. (55 dmg)
|
||||||
|
|
||||||
|
Stone Throw cant overlap with shockwave. when a 10% mark is reached while a rock is targeting the player, Shockwave cast starts after the rock was thrown.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if the golem wasnt able to attack the player for 7 seconds it throws 2 stones in the air.
|
||||||
|
|
||||||
|
Afterwards Screenwide ~25 indicators appear where small rocks will rain down with a delay of 2,5 - 4 seonds (30 dmg each, 50 radius)
|
||||||
|
|
||||||
|
(The trigger condition for this ability may changes in the future, depending how it actually plays out.)
|
@ -288,6 +288,8 @@ private:
|
|||||||
static void ZEPHY(Monster&m,float fElapsedTime,std::string strategy);
|
static void ZEPHY(Monster&m,float fElapsedTime,std::string strategy);
|
||||||
static void MAJOR_HAWK(Monster&m,float fElapsedTime,std::string strategy);
|
static void MAJOR_HAWK(Monster&m,float fElapsedTime,std::string strategy);
|
||||||
static void DONOTHING(Monster&m,float fElapsedTime,std::string strategy);
|
static void DONOTHING(Monster&m,float fElapsedTime,std::string strategy);
|
||||||
|
static void STONE_GOLEM(Monster&m,float fElapsedTime,std::string strategy);
|
||||||
|
static void BREAKING_PILLAR(Monster&m,float fElapsedTime,std::string strategy);
|
||||||
};
|
};
|
||||||
bool bumpedIntoTerrain=false; //Gets set to true before a strategy executes if the monster runs into some terrain on this frame.
|
bool bumpedIntoTerrain=false; //Gets set to true before a strategy executes if the monster runs into some terrain on this frame.
|
||||||
bool attackedByPlayer=false; //Gets set to true before a strategy executes if the monster has been attacked by the player.
|
bool attackedByPlayer=false; //Gets set to true before a strategy executes if the monster has been attacked by the player.
|
||||||
|
@ -120,4 +120,5 @@ enum class Attribute{
|
|||||||
ATTACK_CHOICE,
|
ATTACK_CHOICE,
|
||||||
WIND_STRENGTH,
|
WIND_STRENGTH,
|
||||||
WIND_PHASE_TIMER,
|
WIND_PHASE_TIMER,
|
||||||
|
MARKED_DEAD,
|
||||||
};
|
};
|
@ -65,6 +65,8 @@ void Monster::InitializeStrategies(){
|
|||||||
STRATEGY_DATA.insert("Zephy",Monster::STRATEGY::ZEPHY);
|
STRATEGY_DATA.insert("Zephy",Monster::STRATEGY::ZEPHY);
|
||||||
STRATEGY_DATA.insert("Major Hawk",Monster::STRATEGY::MAJOR_HAWK);
|
STRATEGY_DATA.insert("Major Hawk",Monster::STRATEGY::MAJOR_HAWK);
|
||||||
STRATEGY_DATA.insert("Do Nothing",Monster::STRATEGY::DONOTHING);
|
STRATEGY_DATA.insert("Do Nothing",Monster::STRATEGY::DONOTHING);
|
||||||
|
STRATEGY_DATA.insert("Stone Golem",Monster::STRATEGY::STONE_GOLEM);
|
||||||
|
STRATEGY_DATA.insert("Breaking Pillar",Monster::STRATEGY::BREAKING_PILLAR);
|
||||||
|
|
||||||
STRATEGY_DATA.SetInitialized();
|
STRATEGY_DATA.SetInitialized();
|
||||||
}
|
}
|
||||||
|
53
Adventures in Lestoria/StoneGolem.cpp
Normal file
53
Adventures in Lestoria/StoneGolem.cpp
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
#pragma region License
|
||||||
|
/*
|
||||||
|
License (OLC-3)
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Copyright 2024 Joshua Sigona <sigonasr2@gmail.com>
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
1. Redistributions or derivations of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions or derivative works in binary form must reproduce the above
|
||||||
|
copyright notice. This list of conditions and the following disclaimer must be
|
||||||
|
reproduced in the documentation and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
3. Neither the name of the copyright holder nor the names of its contributors may
|
||||||
|
be used to endorse or promote products derived from this software without specific
|
||||||
|
prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
||||||
|
SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
||||||
|
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||||
|
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGE.
|
||||||
|
|
||||||
|
Portions of this software are copyright © 2024 The FreeType
|
||||||
|
Project (www.freetype.org). Please see LICENSE_FT.txt for more information.
|
||||||
|
All rights reserved.
|
||||||
|
*/
|
||||||
|
#pragma endregion
|
||||||
|
|
||||||
|
#include "Monster.h"
|
||||||
|
#include "MonsterStrategyHelpers.h"
|
||||||
|
|
||||||
|
|
||||||
|
void Monster::STRATEGY::STONE_GOLEM(Monster&m,float fElapsedTime,std::string strategy){
|
||||||
|
enum PhaseName{
|
||||||
|
INITIALIZE,
|
||||||
|
};
|
||||||
|
|
||||||
|
switch(m.phase){
|
||||||
|
case INITIALIZE:{
|
||||||
|
|
||||||
|
}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 3
|
#define VERSION_PATCH 3
|
||||||
#define VERSION_BUILD 9551
|
#define VERSION_BUILD 9554
|
||||||
|
|
||||||
#define stringify(a) stringify_(a)
|
#define stringify(a) stringify_(a)
|
||||||
#define stringify_(a) #a
|
#define stringify_(a) #a
|
||||||
|
@ -881,4 +881,16 @@ MonsterStrategy
|
|||||||
Large Tornado Knockback Amount = 300
|
Large Tornado Knockback Amount = 300
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Stone Golem
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
Breaking Pillar
|
||||||
|
{
|
||||||
|
Unbroken Animation Name = NORMAL
|
||||||
|
Break Phase 1 HP % Threshold = below 68%
|
||||||
|
Break Phase 1 Animation Name = BREAK1
|
||||||
|
Break Phase 2 HP % Threshold = below 34%
|
||||||
|
Break Phase 2 Animation Name = BREAK2
|
||||||
|
}
|
||||||
}
|
}
|
@ -978,6 +978,96 @@ Monsters
|
|||||||
Death Sound = Slime Dead
|
Death Sound = Slime Dead
|
||||||
Walk Sound = Wing Flap
|
Walk Sound = Wing Flap
|
||||||
|
|
||||||
|
# Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity
|
||||||
|
# DROP[0] = Ring of the Bear,100%,1,1
|
||||||
|
}
|
||||||
|
Stone Golem
|
||||||
|
{
|
||||||
|
Health = 30000
|
||||||
|
Attack = 40
|
||||||
|
|
||||||
|
CollisionDmg = 40
|
||||||
|
|
||||||
|
MoveSpd = 180%
|
||||||
|
Size = 400%
|
||||||
|
|
||||||
|
XP = 5
|
||||||
|
|
||||||
|
# A flag to show an arrow indicator when the boss is off-screen.
|
||||||
|
ShowBossIndicator = True
|
||||||
|
|
||||||
|
Strategy = Stone Golem
|
||||||
|
|
||||||
|
#Size of each animation frame
|
||||||
|
SheetFrameSize = 48,48
|
||||||
|
|
||||||
|
# Setting this to true means every four rows indicates one animation, the ordering of the directions is: NORTH, EAST, SOUTH, WEST
|
||||||
|
4-Way Spritesheet = True
|
||||||
|
|
||||||
|
Animations
|
||||||
|
{
|
||||||
|
# Frame Count, Frame Speed (s), Frame Cycling (Repeat,OneShot,PingPong,Reverse)
|
||||||
|
# Animations must be defined in the same order as they are in their sprite sheets
|
||||||
|
# The First Four animations must represent a standing, walking, attack, and death animation. Their names are up to the creator.
|
||||||
|
IDLE = 2, 0.6, Repeat
|
||||||
|
WALK = 4, 0.2, Repeat
|
||||||
|
TOSS ROCK = 4, 0.2, OneShot
|
||||||
|
DEATH = 4, 0.15, OneShot
|
||||||
|
BURROW UNDERGROUND = 5, 0.15, OneShot
|
||||||
|
RISE FROM UNDERGROUND = 5, 0.15, OneShot
|
||||||
|
ROCK TOSS CAST = 2, 0.3, Repeat
|
||||||
|
STONE PILLAR CAST = 2, 0.3, Repeat
|
||||||
|
}
|
||||||
|
|
||||||
|
Ignore Collisions = False
|
||||||
|
|
||||||
|
Hurt Sound = Monster Hurt
|
||||||
|
Death Sound = Slime Dead
|
||||||
|
Walk Sound = Slime Walk
|
||||||
|
|
||||||
|
# Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity
|
||||||
|
# DROP[0] = Ring of the Bear,100%,1,1
|
||||||
|
}
|
||||||
|
Stone Golem Pillar
|
||||||
|
{ # Has three lives and breaks once all three health is lost. Changes sprite based on health.
|
||||||
|
Health = 3
|
||||||
|
Attack = 40
|
||||||
|
|
||||||
|
CollisionDmg = 0
|
||||||
|
|
||||||
|
Immovable = True
|
||||||
|
Invulnerable = True
|
||||||
|
|
||||||
|
MoveSpd = 0%
|
||||||
|
# The Pillar is supposed to be 350 radius.
|
||||||
|
Size = 300%
|
||||||
|
Collision Radius = 7
|
||||||
|
|
||||||
|
XP = 0
|
||||||
|
|
||||||
|
Strategy = Breaking Pillar
|
||||||
|
|
||||||
|
#Size of each animation frame
|
||||||
|
SheetFrameSize = 24,96
|
||||||
|
|
||||||
|
# Setting this to true means every four rows indicates one animation, the ordering of the directions is: NORTH, EAST, SOUTH, WEST
|
||||||
|
4-Way Spritesheet = False
|
||||||
|
|
||||||
|
Animations
|
||||||
|
{
|
||||||
|
# Frame Count, Frame Speed (s), Frame Cycling (Repeat,OneShot,PingPong,Reverse)
|
||||||
|
# Animations must be defined in the same order as they are in their sprite sheets
|
||||||
|
# The First Four animations must represent a standing, walking, attack, and death animation. Their names are up to the creator.
|
||||||
|
NORMAL = 4, 0.4, OneShot
|
||||||
|
BREAK1 = 4, 0.4, OneShot
|
||||||
|
BREAK2 = 4, 0.4, OneShot
|
||||||
|
DEATH = 1, 0.15, OneShot
|
||||||
|
}
|
||||||
|
|
||||||
|
Hurt Sound = Warrior Ground Slam
|
||||||
|
# Death Sound = Slime Dead
|
||||||
|
# Walk Sound = Slime Walk
|
||||||
|
|
||||||
# Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity
|
# Drop Item Name, Drop Percentage(0-100%), Drop Min Quantity, Drop Max Quantity
|
||||||
# DROP[0] = Ring of the Bear,100%,1,1
|
# DROP[0] = Ring of the Bear,100%,1,1
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user