nytmyr
2fdc4e8667
Make all spell shortnames plural where applicable
2025-01-31 18:57:04 -06:00
nytmyr
e5bcb6acfc
Correct pet buff type logic to catch DS/Resists with other spell effects in them
2025-01-31 15:40:47 -06:00
nytmyr
fa69e4ac1a
Fix alignment issues
2025-01-23 12:21:45 -06:00
nytmyr
2301b91e77
Move bot spdat functions to spdat_bot
2025-01-21 13:13:30 -06:00
nytmyr
95c1bb6883
code cleanup 2
2025-01-10 11:45:00 -06:00
nytmyr
e994d14418
Move spelltype names, spell subtypes, category names and setting names to maps.
2024-12-30 22:58:37 -06:00
nytmyr
a0c2abfedf
Implement ^discipline
2024-12-29 20:01:18 -06:00
nytmyr
322f8c5ffd
Implmenet PetCures, add some missing types for defaults/chance to cast
2024-12-20 09:38:40 -06:00
nytmyr
eaa1f67802
cls cleanup
2024-12-20 00:44:49 -06:00
nytmyr
92ba83e308
rewrite GetCorrectSpellType
2024-12-12 22:14:09 -06:00
nytmyr
bf4f2f5623
Add lull/aelull to ^cast
2024-12-12 22:14:08 -06:00
nytmyr
c42d84b59a
Remove SpellTypeRequiresCastChecks
2024-12-12 22:14:06 -06:00
nytmyr
3b7edc032f
Removed unused BotSpellTypeRequiresLoS
2024-12-12 22:14:04 -06:00
nytmyr
625c1fb06b
Move HateLine to a better ID
2024-12-12 22:14:04 -06:00
nytmyr
faf372d31d
Implement spell AI pulling, fix throw stone
2024-12-12 22:14:03 -06:00
nytmyr
8c923a6c51
rename BOT_SPELL_TYPE functions
2024-12-12 22:14:02 -06:00
nytmyr
99926ee102
Allow bots to bypass los checks for positioning if no detrimental types allowed
2024-12-12 22:13:27 -06:00
nytmyr
4bb1fd9dcd
add aehateline spell type
2024-12-12 22:13:26 -06:00
nytmyr
b2590b5056
Implement more commanded types properly, move shadownight hate to hateline type...
...
Add incapacitated checks to casting logic and checks.
Add candocombat zone check, summon other's corpse for bot, in/out combat spell checks, mute checks, level restriction
2024-12-12 22:13:24 -06:00
nytmyr
ee9651b4f1
implement commanded cast types
2024-12-12 22:13:18 -06:00
nytmyr
4702d74722
fix resistbuffs and damageshields spell type checks
2024-12-12 22:13:04 -06:00
nytmyr
b0768454c1
adjust spell hold checks to rely on caster and
...
Implement pet resist buffs and pet damage shields
2024-12-12 22:13:00 -06:00
nytmyr
9b87aaf39b
More fixes
...
TGB, ^cast, group/ae checks, in group/raid checks, inviting others bots to group, group disband fix, prevent rogue bs spam, ^follow fixes and cleanup, follow owner only by default when joining raid/group, group buff fixes for bots, range fixes for group buffs
2024-12-12 22:11:23 -06:00
nytmyr
6574f780db
Bot Rework
2024-12-12 22:10:36 -06:00
KayenEQ
d8ddd0aab9
[Bug Fix] Aegolism Spell line stacking ( #4399 )
...
* fix stacking issues with Aegolism spell line
Issue: When casting buffing a player with aegolism spell line, who already has cleric AC, symbol and heroism spell, it would overwrite heorism buff and leave other two.
Aegolism spell line when applied when a client has Heroism spell line, AC spell line, and symbol spell line. Should overwrite the Heroism spell and fade the AC and Symbol buffs.
* Update spdat.cpp
2024-07-07 00:53:46 -04:00
Fryguy
850053a136
[Bug] Prevent Resurrection Spells from being resisted ( #4393 )
...
* [Bug] Prevent Ressurection Spells from being resisted
Added IsRessurectionSpell(uint16 spell_id) to assist with checking on a spell is a ressurection spell.
This was noticed when Dragons of Norrath launched and the Tier 5 Progression AA provided SPA 180 2% SE_ResistSpellChance
* Helps if I spell it correctly
* Update per feedback
2024-06-14 11:51:33 -05:00
Fryguy
87c207e862
[Feature] Add SE_IncreaseArchery and rules to tune archery ( #4335 )
...
* [Feature] Add SE_IncreaseArchery and rules to tune archery
* Adjustments per comments, also added to the tune system.
* Update bonuses.cpp
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2024-05-26 08:37:23 -04:00
KayenEQ
a71ad416b4
[Spells] Implemented SPA 122 SE_ReduceSkill ( #4234 )
...
* Implement SPA122 v1
* Implemented SPA 122 ReduceSkill
SE_ReduceSkill SPA 122 base: skill id, limit: none, max: none, formula: % skill is reduced (positive)
* Implemented SPA 122 Reduce Skill
remove incorrect SPA addition
* Break out multiple lines
* reformatted
reformatted
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2024-05-04 18:11:12 -05:00
KayenEQ
9e3bf91374
[Spells] Implemented SPA 463 SE_SHIELD_TARGET ( #4224 )
...
SPA 463 SE_SHIELD_TARGET
Live description: "Shields your target, taking a percentage of their damage".
Only example spell on live is an NPC who uses it during a raid event "Laurion's Song" expansion. SPA 54492 'Guardian Stance' Described as 100% Melee Shielding
Example of mechanic. Base value = 70. Caster puts buff on target. Each melee hit Buff Target takes 70% less damage, Buff Caster receives 30% of the melee damage.
Added mechanic to cause buff to fade if target or caster are separated by a distance greater than the casting range of the spell. This allows similar mechanics to the /shield ability, without a range removal mechanic it would be too easy to abuse if put on a player spell. *can not confirm live does this currently
Can not be cast on self.
2024-03-30 13:34:03 -04:00
Fryguy
772fed5e30
[Feature] Corpse Overhaul ( #3938 )
...
# Corpse Overhaul
Changelog:
- Player corpses now have two timers, one specific to the rezability of the corpse and the other to cover the overall rot timer of the player corpse.
- The rezability timer is based on the online presence of the player/account and is not affected by being offline.
- The rot timer is not affected by offline/online status and will count to the rot status of the corpse.
- Corpses can be rezzed multiple times, however only the first rez that yeilds returned xp will be counted. Not other rez will return any xp. This allows for a "Poor mans COTH" as was used many times in the early eras.
- All Corpse class private/protected member variables are all now prefixed with m_
- Added Corpses logging category along with many debug logs
- Removed LoadCharacterCorpseData
- Removed LoadCharacterCorpseEntity
- Added LoadCharacterCorpse(const CharacterCorpsesRepository::CharacterCorpses, const glm::vec4 &position) which simplifies areas of consumption and reduces double queries from removing LoadCharacterCorpseData and replacing LoadCharacterCorpseEntity
- All parameters that were prefixed with in_ have been dropped
- Removed two queries from CheckIsOwnerOnline and have it query the world's CLE by account_id since that is how live works
- Regenerated repository character_corpses
- Cleaned up many list iterators to use range based for loops
- Rate limit Corpse::Process m_is_rezzable with a 1 second check timer
- General code cleanup
- Added a Server Up check to bury all corpses in instances to prevent lost corpses if an instance is released during server down. This facilitates player recovery via shadowrest or priests of luclin.
This PR also now fixes a long standing issue with HasItem performance in our script plugins. It is significantly faster, we will need to coordinate quest changes and comms with operators.
```lua
if ($client->HasItemOnCorpse($item_id)) {
return 1;
}
```
```lua
--corpse
if self:HasItemOnCorpse(itemid) then
return true
end
```
Testing Completed:
- Create a Corpse
- Standard rezzing
- Ghetto Coth (No Extra XP)
- Rezzing after graveyard move
- Divine Rez works as intended
- No XP Rez (Corpse Call) does not give XP
- Corpse Burying
- Cross Instance Graveyard Corpse movement/Rezzing
- DZ End/Quit Corpse Movement/Rezzing
- Server Shutdown/Reinit DZ Corpse Movement/Rezzing
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2024-02-07 23:02:30 -05:00
Fryguy
e6dc980315
[Bug Fix] Harm Touch Critical Ratio ( #3915 )
...
* [Bug] HT Crit Ratio
This is used to tune and bring HT Crits more in line with the correct values as proven in screenshots.
* requested changes
* mistakenly kept mob::
2024-01-08 22:27:56 -06:00
Fryguy
5488e9bf22
[Bug Fix] Amplification should not benefit from instrument mods ( #3898 )
2024-01-07 17:01:08 -05:00
Fryguy
4490a53ba0
[Bug Fix] Disciplines Getting Focuses Fix ( #3884 )
...
* [Bug Fix] Discs Getting Focuses Fix
Focus effects shouldn't extend discipline timers except for War Cries
* Update to Logic
2024-01-07 16:02:17 -05:00
Fryguy
c08200188f
[Bug Fix] Harm Touch Unholy Disc Type ( #3874 )
...
* [Bug Fix] Harm Touch Unholy Disc Type
Added an small if block in the ResistSpell() function to set the correct resist type, disease,when HT is casted while the Unholy Disc is up.
* Remove Extra Space
2024-01-07 12:12:21 -05:00
Fryguy
41d9a15c74
[Bug Fix] Vampiric Embrace Fixes ( #3873 )
...
* [Bug Fix] Vampiric Embrace Fixes
Fixed the difference of procs for Vampiric Embrace between Necros and Shadow Knights.
* Space
* Cleanup
* Update spdat.h
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2024-01-07 12:12:15 -05:00
Alex King
aeeb350068
[Cleanup] Cleanup classes.cpp/classes.h ( #3752 )
...
* [Cleanup] Cleanup classes.cpp/classes.h
# Notes
- Remove unused methods and cleanup logic.
* Update classes.cpp
* Final push.
2023-12-13 18:38:45 -05:00
Alex King
756e835144
[Quest API/Cleanup] Add several spell methods to Perl/Lua ( #3379 )
...
* [Quest API/Cleanup] Add several spell methods to Perl/Lua
- Add `quest::CalculateCorruptionCounters(spell_id)`.
- Add `quest::CalculateCounters(spell_id)`.
- Add `quest::CalculateCurseCounters(spell_id)`.
- Add `quest::CalculateDiseaseCounters(spell_id)`.
- Add `quest::CalculatePoisonCounters(spell_id)`.
- Add `quest::GetSpellEffectDescriptionNumber(spell_id)`.
- Add `quest::GetSpellEffectIndex(spell_id, effect_id)`.
- Add `quest::GetSpellFuriousBash(spell_id)`.
- Add `quest::GetSpellMinimumLevel(spell_id)`.
- Add `quest::GetSpellNimbusEffect(spell_id)`.
- Add `quest::GetSpellPartialMagicRuneAmount(spell_id)`.
- Add `quest::GetSpellPartialMagicRuneReduction(spell_id)`.
- Add `quest::GetSpellPartialMeleeRuneAmount(spell_id)`.
- Add `quest::GetSpellPartialMeleeRuneReduction(spell_id)`.
- Add `quest::GetSpellProcLimitTimer(spell_id)`.
- Add `quest::GetSpellResistType(spell_id)`.
- Add `quest::GetSpellResurrectionSicknessCheck(spell_id_one, spell_id_two)`.
- Add `quest::GetSpellTargetType(spell_id)`.
- Add `quest::GetSpellTriggerSpellID(spell_id)`.
- Add `quest::GetSpellViralMaximumSpreadTime(spell_id)`.
- Add `quest::GetSpellViralMinimumSpreadTime(spell_id)`.
- Add `quest::GetSpellViralSpreadRange(spell_id)`.
- Add `quest::IsAEDurationSpell(spell_id)`.
- Add `quest::IsAENukeSpell(spell_id)`.
- Add `quest::IsAERainNukeSpell(spell_id)`.
- Add `quest::IsAllianceSpell(spell_id)`.
- Add `quest::IsBardOnlyStackEffect(effect_id)`.
- Add `quest::IsBardSong(spell_id)`.
- Add `quest::IsBlankSpellEffect(spell_id, effect_index)`.
- Add `quest::IsBlindSpell(spell_id)`.
- Add `quest::IsBuffSpell(spell_id)`.
- Add `quest::IsCastNotStandingSpell(spell_id)`.
- Add `quest::IsCastOnFadeDurationSpell(spell_id)`.
- Add `quest::IsCastRestrictedSpell(spell_id)`.
- Add `quest::IsCastTimeReductionSpell(spell_id)`.
- Add `quest::IsCastWhileInvisibleSpell(spell_id)`.
- Add `quest::IsCharmSpell(spell_id)`.
- Add `quest::IsCombatSkill(spell_id)`.
- Add `quest::IsCompleteHealDurationSpell(spell_id)`.
- Add `quest::IsCompleteHealSpell(spell_id)`.
- Add `quest::IsCureSpell(spell_id)`.
- Add `quest::IsDamageSpell(spell_id)`.
- Add `quest::IsDeathSaveSpell(spell_id)`.
- Add `quest::IsDebuffSpell(spell_id)`.
- Add `quest::IsDetrimentalSpell(spell_id)`.
- Add `quest::IsDiscipline(spell_id)`.
- Add `quest::IsDisciplineBuff(spell_id)`.
- Add `quest::IsDiseaseCounterSpell(spell_id)`.
- Add `quest::IsDistanceModifierSpell(spell_id)`.
- Add `quest::IsEffectIgnoredInStacking(effect_id)`.
- Add `quest::IsFastHealSpell(spell_id)`.
- Add `quest::IsFearSpell(spell_id)`.
- Add `quest::IsFocusLimit(effect_id)`.
- Add `quest::IsFullDeathSaveSpell(spell_id)`.
- Add `quest::IsGateSpell(spell_id)`.
- Add `quest::IsImprovedDamageSpell(spell_id)`.
- Add `quest::IsImprovedHealingSpell(spell_id)`.
- Add `quest::IsIncreaseDurationSpell(spell_id)`.
- Add `quest::IsIncreaseRangeSpell(spell_id)`.
- Add `quest::IsInstrumentModifierAppliedToSpellEffect(spell_id, effect_id)`.
- Add `quest::IsInvisibleSpell(spell_id)`.
- Add `quest::IsInvulnerabilitySpell(spell_id)`.
- Add `quest::IsLDoNObjectSpell(spell_id)`.
- Add `quest::IsLifetapSpell(spell_id)`.
- Add `quest::IsMagicRuneSpell(spell_id)`.
- Add `quest::IsManaCostReductionSpell(spell_id)`.
- Add `quest::IsManaTapSpell(spell_id)`.
- Add `quest::IsMesmerizeSpell(spell_id)`.
- Add `quest::IsNoDetrimentalSpellAggroSpell(spell_id)`.
- Add `quest::IsPBAENukeSpell(spell_id)`.
- Add `quest::IsPartialDeathSaveSpell(spell_id)`.
- Add `quest::IsPartialResistableSpell(spell_id)`.
- Add `quest::IsPercentalHealSpell(spell_id)`.
- Add `quest::IsPersistDeathSpell(spell_id)`.
- Add `quest::IsPetSpell(spell_id)`.
- Add `quest::IsPoisonCounterSpell(spell_id)`.
- Add `quest::IsPulsingBardSong(spell_id)`.
- Add `quest::IsPureNukeSpell(spell_id)`.
- Add `quest::IsRegularGroupHealSpell(spell_id)`.
- Add `quest::IsRegularSingleTargetHealSpell(spell_id)`.
- Add `quest::IsResistDebuffSpell(spell_id)`.
- Add `quest::IsResistableSpell(spell_id)`.
- Add `quest::IsRestAllowedSpell(spell_id)`.
- Add `quest::IsResurrectionEffects(spell_id)`.
- Add `quest::IsRuneSpell(spell_id)`.
- Add `quest::IsRunning(spell_id)`.
- Add `quest::IsSacrificeSpell(spell_id)`.
- Add `quest::IsSelfConversionSpell(spell_id)`.
- Add `quest::IsShadowStepSpell(spell_id)`.
- Add `quest::IsShortDurationBuff(spell_id)`.
- Add `quest::IsSpellUsableInThisZoneType(spell_id)`.
- Add `quest::IsSpellUsableInThisZoneType(spell_id, zone_type)`.
- Add `quest::IsStackableDOT(spell_id)`.
- Add `quest::IsStunSpell(spell_id)`.
- Add `quest::IsSuccorSpell(spell_id)`.
- Add `quest::IsSummonItemSpell(spell_id)`.
- Add `quest::IsSummonPCSpell(spell_id)`.
- Add `quest::IsSummonPetSpell(spell_id)`.
- Add `quest::IsSummonSkeletonSpell(spell_id)`.
- Add `quest::IsSummonSpell(spell_id)`.
- Add `quest::IsSuspendableSpell(spell_id)`.
- Add `quest::IsTargetRequiredForSpell(spell_id)`.
- Add `quest::IsTargetableAESpell(spell_id)`.
- Add `quest::IsTeleportSpell(spell_id)`.
- Add `quest::IsTranslocateSpell(spell_id)`.
- Add `quest::IsValidSpell(spell_id)`.
- Add `quest::IsVeryFastHealSpell(spell_id)`.
- Add `quest::IsVirusSpell(spell_id)`.
- Add `eq.calculate_corruption_counters(spell_id)`.
- Add `eq.calculate_counters(spell_id)`.
- Add `eq.calculate_curse_counters(spell_id)`.
- Add `eq.calculate_disease_counters(spell_id)`.
- Add `eq.calculate_poison_counters(spell_id)`.
- Add `eq.get_spell_effect_description_number(spell_id)`.
- Add `eq.get_spell_effect_index(spell_id, effect_id)`.
- Add `eq.get_spell_furious_bash(spell_id)`.
- Add `eq.get_spell_level(spell_id, class_id)`.
- Add `eq.get_spell_minimum_level(spell_id)`.
- Add `eq.get_spell_nimbus_effect(spell_id)`.
- Add `eq.get_spell_partial_magic_rune_amount(spell_id)`.
- Add `eq.get_spell_partial_magic_rune_reduction(spell_id)`.
- Add `eq.get_spell_partial_melee_rune_amount(spell_id)`.
- Add `eq.get_spell_partial_melee_rune_reduction(spell_id)`.
- Add `eq.get_spell_proc_limit_timer(spell_id)`.
- Add `eq.get_spell_resist_type(spell_id)`.
- Add `eq.get_spell_resurrection_sickness_check(spell_id_one, spell_id_two)`.
- Add `eq.get_spell_target_type(spell_id)`.
- Add `eq.get_spell_trigger_spell_id(spell_id)`.
- Add `eq.get_spell_viral_maximum_spread_time(spell_id)`.
- Add `eq.get_spell_viral_minimum_spread_time(spell_id)`.
- Add `eq.get_spell_viral_spread_range(spell_id)`.
- Add `eq.is_ae_duration_spell(spell_id)`.
- Add `eq.is_ae_nuke_spell(spell_id)`.
- Add `eq.is_ae_rain_nuke_spell(spell_id)`.
- Add `eq.is_alliance_spell(spell_id)`.
- Add `eq.is_bard_only_stack_effect(spell_id)`.
- Add `eq.is_bard_song(spell_id)`.
- Add `eq.is_beneficial_spell(spell_id)`.
- Add `eq.is_blank_spell_effect(spell_id)`.
- Add `eq.is_blind_spell(spell_id)`.
- Add `eq.is_buff_spell(spell_id)`.
- Add `eq.is_cast_not_standing_spell(spell_id)`.
- Add `eq.is_cast_on_fade_duration_spell(spell_id)`.
- Add `eq.is_cast_restricted_spell(spell_id)`.
- Add `eq.is_cast_time_reduction_spell(spell_id)`.
- Add `eq.is_cast_while_invisible_spell(spell_id)`.
- Add `eq.is_charm_spell(spell_id)`.
- Add `eq.is_combat_skill(spell_id)`.
- Add `eq.is_complete_heal_duration_spell(spell_id)`.
- Add `eq.is_complete_heal_spell(spell_id)`.
- Add `eq.is_cure_spell(spell_id)`.
- Add `eq.is_damage_spell(spell_id)`.
- Add `eq.is_death_save_spell(spell_id)`.
- Add `eq.is_debuff_spell(spell_id)`.
- Add `eq.is_detrimental_spell(spell_id)`.
- Add `eq.is_discipline(spell_id)`.
- Add `eq.is_discipline_buff(spell_id)`.
- Add `eq.is_disease_counter_spell(spell_id)`.
- Add `eq.is_distance_modifier_spell(spell_id)`.
- Add `eq.is_effect_ignored_in_stacking(effect_id)`.
- Add `eq.is_effect_in_spell(spell_id, effect_id)`.
- Add `eq.is_fast_heal_spell(spell_id)`.
- Add `eq.is_fear_spell(spell_id)`.
- Add `eq.is_focus_limit(effect_id)`.
- Add `eq.is_full_death_save_spell(spell_id)`.
- Add `eq.is_gate_spell(spell_id)`.
- Add `eq.is_group_complete_heal_spell(spell_id)`.
- Add `eq.is_group_heal_over_time_spell(spell_id)`.
- Add `eq.is_group_only_spell(spell_id)`.
- Add `eq.is_group_spell(spell_id)`.
- Add `eq.is_harmony_spell(spell_id)`.
- Add `eq.is_haste_spell(spell_id)`.
- Add `eq.is_heal_over_time_spell(spell_id)`.
- Add `eq.is_health_spell(spell_id)`.
- Add `eq.is_illusion_spell(spell_id)`.
- Add `eq.is_improved_damage_spell(spell_id)`.
- Add `eq.is_improved_healing_spell(spell_id)`.
- Add `eq.is_increase_duration_spell(spell_id)`.
- Add `eq.is_increase_range_spell(spell_id)`.
- Add `eq.is_instrument_modifier_applied_to_spell_effect(spell_id, effect_id)`.
- Add `eq.is_invisible_spell(spell_id)`.
- Add `eq.is_invulnerability_spell(spell_id)`.
- Add `eq.is_ldon_object_spell(spell_id)`.
- Add `eq.is_lifetap_spell(spell_id)`.
- Add `eq.is_magic_rune_spell(spell_id)`.
- Add `eq.is_mana_cost_reduction_spell(spell_id)`.
- Add `eq.is_mana_tap_spell(spell_id)`.
- Add `eq.is_mesmerize_spell(spell_id)`.
- Add `eq.is_no_detrimental_spell_aggro_spell(spell_id)`.
- Add `eq.is_partial_death_save_spell(spell_id)`.
- Add `eq.is_partial_resistable_spell(spell_id)`.
- Add `eq.is_pbae_nuke_spell(spell_id)`.
- Add `eq.is_percental_heal_spell(spell_id)`.
- Add `eq.is_persist_death_spell(spell_id)`.
- Add `eq.is_pet_spell(spell_id)`.
- Add `eq.is_poison_counter_spell(spell_id)`.
- Add `eq.is_pulsing_bard_song(spell_id)`.
- Add `eq.is_pure_nuke_spell(spell_id)`.
- Add `eq.is_regular_group_heal_spell(spell_id)`.
- Add `eq.is_regular_single_target_heal_spell(spell_id)`.
- Add `eq.is_resist_debuff_spell(spell_id)`.
- Add `eq.is_resistable_spell(spell_id)`.
- Add `eq.is_rest_allowed_spell(spell_id)`.
- Add `eq.is_resurrection_effects(spell_id)`.
- Add `eq.is_rune_spell(spell_id)`.
- Add `eq.is_sacrifice_spell(spell_id)`.
- Add `eq.is_self_conversion_spell(spell_id)`.
- Add `eq.is_shadow_step_spell(spell_id)`.
- Add `eq.is_short_duration_buff(spell_id)`.
- Add `eq.is_spell_usable_in_this_zone_type(spell_id)`.
- Add `eq.is_spell_usable_in_this_zone_type(spell_id, zone_type)`.
- Add `eq.is_stackable_dot(spell_id)`.
- Add `eq.is_stun_spell(spell_id)`.
- Add `eq.is_succor_spell(spell_id)`.
- Add `eq.is_summon_item_spell(spell_id)`.
- Add `eq.is_summon_pc_spell(spell_id)`.
- Add `eq.is_summon_pet_spell(spell_id)`.
- Add `eq.is_summon_skeleton_spell(spell_id)`.
- Add `eq.is_summon_spell(spell_id)`.
- Add `eq.is_suspendable_spell(spell_id)`.
- Add `eq.is_target_required_for_spell(spell_id)`.
- Add `eq.is_targetable_ae_spell(spell_id)`.
- Add `eq.is_teleport_spell(spell_id)`.
- Add `eq.is_tgb_compatible_spell(spell_id)`.
- Add `eq.is_translocate_spell(spell_id)`.
- Add `eq.is_valid_spell(spell_id)`.
- Add `eq.is_very_fast_heal_spell(spell_id)`.
- Add `eq.is_virus_spell(spell_id)`.
- A lot of cleanup in the logic and naming of these methods was done.
- Missing GM restricted spells like Guide spells and GM Health buffs were added as defines.
- Good effect values were added as defines.
- Resurrection effects non-stacking value was added as a define.
- Max fast heal casting time and max very fast heal casting time were added as defines.
- `SE_Display` was uncommented so we could use it instead of the magic number `425`.
- `IsEvacSpell(spell_id)` was removed as it was unnecessary since `IsSuccorSpell(spell_id)` checks for `SE_Succor` as well.
- `GetMorphTrigger(spell_id)` was removed as it was unused.
- `GroupOnlySpell(spell_id)` was removed as it was unnecessary since `IsGroupOnlySpell(spell_id)` exists.
- `CanUseSpell(spell_id)` was removed as it was unnecessary since `GetSpellLevel(spell_id, class_id)` exists.
- `BeneficialSpell(spell_id)` was removed as it was unnecessary since `IsBeneficialSpell(spell_id)` exists.
* Update spell_effects.cpp
* Update spdat.cpp
2023-06-12 20:27:22 -04:00
Alex King
f41a219309
[Cleanup] Remove CalcPetHp from spdat.h ( #3364 )
...
# Notes
- This is unused.
2023-05-24 22:37:04 -05:00
Alex King
23bc3c7fd6
[Cleanup] Remove Z_AGGRO from spdat.h ( #3365 )
...
# Notes
- This is unused.
2023-05-24 22:36:52 -05:00
nytmyr
93a4153a4b
[Rules] ResurrectionEffectBlock to prevent/allow/move buffs. ( #3288 )
...
* [Rules] ResurrectionEffectsBlock to prevent/allow/move buffs.
This removes the rule ResurrectionEffectsBlock (Bool) and creates ResurrectionEffectsBlock (Int)
Default = 2
Setting to 0 = Functions as it did before any blocking changes, Focus of Spirit and Strength buffs can overwrite Resurrection Effects.
Setting to 1 = Blocks all buffs that could overwrite Resurrection Effects.
Setting to 2 = Allows all buffs that would overwrite Resurrection Effects to land, however they will be moved to a new buff slot if one is available to allow both the beneficial buff to land and detrimental effects of Resurrection Effects to stay in effect until the duration is expired.
* Update logging
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-05-08 08:32:21 -05:00
Alex King
26c267db1b
[Cleanup] "equipped" not "equiped", "dual" not "duel". ( #3149 )
...
* [Cleanup] "equipped" not "equiped", "dual" not "duel".
# Notes
- These are spelled incorrectly.
* Update spdat.h
* Formatting further.
* Update api_service.cpp
2023-03-27 17:55:37 -04:00
Natedog2012
3341c0b7ab
[Luamod] Add CalcSpellEffectValue_formula to luamods ( #2721 )
...
* [Luamod] Add CalcSpellEffectValue_formula to luamods with example code in utils/mods/spell_formula.lua
* Fix typo
* Change formula down to uint32, fix format issues and remove debug on lua file
2023-01-11 17:49:35 -06:00
Aeadoin
46fa2e589e
[Bug Fix] Add Complete Heal Spell back to IsCompleteHealSpell Method ( #2722 )
...
* [Bug Fix] Add Complete Heal Spell back to IsCompleteHealSpell Method
* Typo
2023-01-11 12:02:46 -05:00
Aeadoin
2253e43d2c
[AI] Add Support to Heals to allow Trigger based spells ( #2709 )
2023-01-07 19:04:41 -05:00
Alex King
dbba22b153
[Bug Fix] Add SE_MakeDrunk to avoid error message. ( #2601 )
...
* [Bug Fix] Add SE_MakeDrunk to avoid error message.
Currently sends error message about unknown spell effect ID.
* Message types cleanup.
* Update spdat.cpp
2022-11-30 22:09:59 -05:00
Aeadoin
b2a73dc572
[Feature] Add Type 49545 to Spell Resistrictions ( #2436 )
2022-09-20 09:06:23 -04:00
Aeadoin
1d8dc4c8a8
[Feature] Change Mana Costs to use Signed Int ( #2384 )
2022-08-21 15:38:21 -04:00
Paul Coene
aaaee6c6a4
[Bug Fix] IsDamage test for lifetap was not complete. ( #2213 )
...
* [Bug Fix] IsDamage test for lifetap was not complete.
* Fix magic # and formatting as per Kingly
* Added #define
2022-05-27 15:30:38 -04:00
KayenEQ
615f4a5304
[API] Apply spells with custom buff durations and adjust existing spell buff durations. ( #1997 )
...
* working
* Update spell_effects.cpp
* updates
* disable_buff_overwrite
* revert
* update
* working
* update
* updates
* Update spells.cpp
* getbuffstat done
* Update perl_mob.cpp
* [API] Apply spells with custom buff durations and adjust existing spell buff durations.
* [API] Apply spells with custom buff durations and adjust existing spell buff durations.
* [API] Apply spells with custom buff durations and adjust existing spell buff durations.
* [API] Apply spells with custom buff durations and adjust existing spell buff durations.
* https://github.com/EQEmu/Server/pull/1997
Lua added, thanks kinglykrab
2022-02-15 08:58:10 -05:00
KayenEQ
b938e6223c
[Spells] Invisibility updates and rework ( #1991 )
...
* updates pre merge
* update
* Update spell_effects.cpp
* Update mob.h
* test
* test
* updates
* updates
* save
* update
* working solid
* animal and undead start
* progress
* updates
* rename
* set invis appearance on bonus
* remove fade buff state check
* update IsViisble check
* optimizing
* don't break bots
* debug remover
* Update ruletypes.h
* perl adds
* Update client_packet.cpp
* update
* done
* remove debugs
* Update client_packet.cpp
* update
* [Spells] Invisibility updates and rework
lua support
* [Spells] Invisibility updates and rework
lua
2022-02-15 00:18:02 -05:00