Skip to content

Core/Spells: Implement S.E.L.F.I.E. camera#31760

Open
Eliminationzx wants to merge 2 commits intoTrinityCore:masterfrom
Eliminationzx:selfie_camera_mk2
Open

Core/Spells: Implement S.E.L.F.I.E. camera#31760
Eliminationzx wants to merge 2 commits intoTrinityCore:masterfrom
Eliminationzx:selfie_camera_mk2

Conversation

@Eliminationzx
Copy link
Copy Markdown
Contributor

@Eliminationzx Eliminationzx commented Mar 29, 2026

Changes proposed:

  • Implement character_background_filters DB table and prepared statements to persist per-character selfie background filter unlocks
  • Implement spell scripts for the S.E.L.F.I.E. Camera MkII (spell_item_selfie_camera_mk2), background filter cycling (spell_gen_background_filter), selfie camera filters (spell_gen_selfie_camera_filter), and taking selfies near boss NPCs to complete quests (spell_gen_take_selfie)
  • Add quest templates and spell script name entries for the five background filter quests (Frostmourne, Firelands, Argus, Sha, Twilight)

Issues addressed:
None

Tests performed:

  • Verify DB migration applies cleanly (characters and world SQL)
  • Test equipping S.E.L.F.I.E. Camera MkII applies and removes the active background filter aura correctly
  • Test background filter cycling increments/resets index properly
  • Test taking a selfie near each of the five boss NPCs (Lich King, Ragnaros, Argus, Sha of Fear, Cho'gall) completes the corresponding quest and awards the filter spell
  • Confirm filter unlock persists across relog

Known issues and TODO list:

  • Implement background filter quests
  • Implement selfie camera aura
  • spell_gen_selfie_camera_filter::HandleDummy - quest logic not yet implemented for Sketch Filter (181767), Death Filter (181779), and Black and White Filter (181773)
  • spell_gen_take_selfie::SetDest - destination targeting for TARGET_UNIT_CONE_CASTER_TO_DEST_ENTRY not yet implemented (marked TODO in code)
  • Unhandled spell 342460 [DNT] Steward Selfie
  • broadcast_text - 141931, 141932, 141933, 141934, 141935

* Implement background filter quests
* Implement selfie camera aura
Shauren

This comment was marked as outdated.

Copy link
Copy Markdown
Member

@Shauren Shauren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Extra database table is completely unneccessary - unlock can simply be determined by checking if hidden quest is completed
  • Text emote is broadcast_text - 141931, 141932, 141933, 141934, 141935
  • Send emotes from the script that casts quest completion spells, don't hardcode it in Player::RewardQuest
  • Don't set RewardSpell in quest_template (not needed after taking care of points 1 and 3)
  • Storing current filter in Player class is also unneccessary, simply use HasAura in cycling spell script
  • Use spell_group/spell_group_stack_rules to handle exclusivity (SPELL_GROUP_STACK_RULE_EXCLUSIVE), don't introduce new SpellSpecific

…GROUP_STACK_RULE_EXCLUSIVE), don't introduce new SpellSpecific
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants