1248 {
1250
1252 if (roll <= 50)
1254 else if (roll <= 83)
1256 else
1258
1263
1264 if (!wilhelm || !apple || !drostan)
1265 return;
1266
1267 switch (ev)
1268 {
1270 {
1273
1274 if (!bird || !crunchy)
1275 ;
1276 else
1277 {
1282
1287
1288 break;
1289 }
1290 [[fallthrough]];
1291 }
1293 {
1297 break;
1298 }
1300 {
1306
1307
1308 break;
1309 }
1310 }
1311 }
std::uint8_t uint8
Definition: Define.h:110
std::uint32_t uint32
Definition: Define.h:108
uint32 urand(uint32 min, uint32 max)
Definition: Random.cpp:44
@ SPELL_BIRD_FALL
Definition: zone_sholazar_basin.cpp:1217
@ EVENT_HIT
Definition: zone_sholazar_basin.cpp:1220
@ SPELL_MISS_APPLE
Definition: zone_sholazar_basin.cpp:1214
@ SAY_DROSTAN_REPLY_MISS
Definition: zone_sholazar_basin.cpp:1225
@ SPELL_MISS_BIRD_APPLE
Definition: zone_sholazar_basin.cpp:1215
@ NPC_DROSTAN
Definition: zone_sholazar_basin.cpp:1209
@ SAY_WILHELM_HIT
Definition: zone_sholazar_basin.cpp:1224
@ NPC_CRUNCHY
Definition: zone_sholazar_basin.cpp:1210
@ SPELL_APPLE_FALL
Definition: zone_sholazar_basin.cpp:1216
@ SAY_WILHELM_MISS
Definition: zone_sholazar_basin.cpp:1223
@ EVENT_MISS_BIRD
Definition: zone_sholazar_basin.cpp:1221
@ EVENT_MISS
Definition: zone_sholazar_basin.cpp:1219
@ NPC_THICKBIRD
Definition: zone_sholazar_basin.cpp:1211
@ NPC_APPLE
Definition: zone_sholazar_basin.cpp:1208
@ SPELL_HIT_APPLE
Definition: zone_sholazar_basin.cpp:1213
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr, Milliseconds delay=0s)
Causes the creature to talk/say the text assigned to their entry in the creature_text database table.
Definition: CreatureAI.cpp:50
Definition: Creature.h:46
CreatureAI * AI() const
Definition: Creature.h:135
Player * ToPlayer()
Definition: Object.h:195
Creature * ToCreature()
Definition: Object.h:197
float GetMapWaterOrGroundLevel(float x, float y, float z, float *ground=nullptr) const
Definition: Object.cpp:3057
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition: Object.cpp:2409
float GetPositionZ() const
Definition: Position.h:119
float GetPositionX() const
Definition: Position.h:117
float GetPositionY() const
Definition: Position.h:118
Definition: Player.h:1046
static void Kill(Unit *killer, Unit *victim, bool durabilityLoss=true, WeaponAttackType attackType=BASE_ATTACK, SpellInfo const *spellProto=nullptr, Spell const *spell=nullptr)
Definition: Unit.cpp:17862
MotionMaster * GetMotionMaster()
Definition: Unit.h:2262
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition: Unit.cpp:1169
void MovePoint(uint32 id, const Position &pos, bool generatePath=true, bool forceDestination=true)
Definition: MotionMaster.h:210
Unit * GetHitUnit()
Definition: SpellScript.cpp:448
Unit * GetCaster()
Definition: SpellScript.cpp:401