Valentine's Gift Shop

A seasonal shop appearing 14 days before Valentine's Day where you can buy romantic gifts for other players. Gifts appear in baskets at the Prefect's Lounge.

What Is the Valentine's Gift Shop?

The Valentine's Gift Shop is a seasonal module that appears in the village for 14 days leading up to Valentine's Day (February 14th by default, configurable). You can purchase romantic gifts (Valentine cards, chocolates, roses, etc.) and send them to other players anonymously or with your name attached. Recipients see gifts in their decorated baskets at the Prefect's Lounge and can open them on Valentine's Day (or up to 3 days after).

The shop is staffed by a "sales-elf" who helps you select gifts, fill out delivery information, and search for recipients by name. Additionally, if enabled by admin, every player receives one free random gift from "Cupid" (or a configured gift-giver) to ensure no one is left out on Valentine's Day.

How It Works

Gift Buying Process:

  • Shop Availability: Opens 14 days before Valentine's Day (daysprior setting)
  • Select Gift: Choose from available gifts (paid in gold and/or gems)
  • Find Recipient: Search by player name (partial matches allowed)
  • Add Note: Write optional personal message to include with gift
  • Anonymous Option: Choose to send anonymously (your name hidden from recipient)
  • Delivery: Gift appears in recipient's basket at Prefect's Lounge immediately
  • Opening Window: Can be opened on Valentine's Day through 3 days after

Default Gifts Available:

  • Valentine Card: 50 gold, 0 gems
  • Plush Heart: 100 gold, 0 gems
  • Box of Chocolates: 150 gold, 0 gems
  • Gold Heart Locket: 200 gold, 0 gems
  • Bouquet of Roses: 0 gold, 1 gem

Admin can add/edit/remove gifts via the Valentines Gifts Editor (requires special permission).

Receiving Gifts

Basket System (at Prefect's Lounge):

When you visit the Prefect's Lounge, you see a line of decorated baskets along the wall:

  • Empty Basket: "Unfortunately, your basket is empty."
  • One Gift: "YOUR basket has ONE Valentine in it!"
  • Multiple Gifts: "There are [X] Valentines in YOUR basket!"
Opening Timeline:
  • Before Valentine's Day: Can see gifts in basket but can't open them yet ("you know that you must wait X days, until Valentine's Day, to open them")
  • Valentine's Day: "Open a Valentine" link appears - can open gifts!
  • Up to 3 Days After: Can still open remaining gifts
  • 3+ Days After: All unopened gifts deleted from database, baskets cleared

Opening Gifts

The Unwrapping Experience:

When you open a gift, you get a randomized unwrapping description:

  • Random Wrapping Paper: 6 options (metallic red, metallic pink, red & pink, pink & white, multicolor shimmering, heart covered)
  • Gift Reveal: "Unwrapping the [paper] wrapping paper from around the gift, you open the box to find the [gift name] which someone bought for you!"
  • Card Display: Formatted card shows From/To names and optional personal note
  • Show Off: "You hold your gift up to show everyone else what you've gotten."
  • Report Option: Link to report inappropriate gifts via petition system
Card Format:

-=-*-=---*-=--=-*-=---*-=--=-*-=---*-=--=-*-=---*-=-
From: [Sender Name or "Cupid"]
To: [Your Name]
-=-*-=---*-=--=-*-=---*-=--=-*-=---*-=--=-*-=---*-=-
[Optional personal note]
-=-*-=---*-=--=-*-=---*-=--=-*-=---*-=--=-*-=---*-=-

Free Gift System

Everyone Gets One:

If "extragift" setting is enabled (default: on):

  • Automatic Gift: Every player receives one random gift from configured giver (default: "Cupid")
  • Random Selection: Gift is randomly chosen from available gift list
  • Standard Message: Note says "Happy Valentine's Day!"
  • One Per Player: Only given once - tracked via "gottengift" user preference
  • Opens Last: System ensures player-sent gifts open before the free gift
  • Reset on Date Change: If admin changes Valentine's date, gottengift flags reset for everyone

This ensures nobody feels left out on Valentine's Day - even if no other players send them gifts, Cupid has their back!

Anonymous Gifts

Secret Admirers:

  • Sender Hidden: When sending, check anonymous option to hide your identity
  • Appears as Cupid: Recipient sees gift from "Cupid" (or configured extragiver name) instead of your name
  • Admin Tracking: Admins with edit permission can view "Anonymous Valentines Gifts List" showing who really sent each gift
  • Search by Gift ID: Admins can search anonymous gift log by gift ID or recipient name
  • Abuse Prevention: Recipients can report gifts, which includes gift ID for admin investigation

Name Search System

Finding Recipients:

The sales-elf helps you find the right recipient with intelligent search:

  • Partial Match: Type part of a name (e.g., "Her" finds "Hermione")
  • No Match: "I don't know who you're talking about. Would you like to try again?"
  • Too Many Matches (100+): "Could be any of [X] people. Would you like to try again?" (be more specific)
  • Small Match (2-100): Shows list of possible matches - click to confirm
  • Exact Match: Confirms and proceeds to note/anonymous selection
  • Fuzzy Search: Uses pattern matching (adds % wildcards between each letter)
Sales-Elf Personality:

"The sales-elf's eyes light up at your choice. 'The [gift] is a WONDERFUL choice. I just know the person you are giving it to will love it!' You follow the elf over to the counter to fill out the delivery information."

Admin Tools

Gift Editor & Settings:

Players with "canedit" permission (set in user preferences) get admin access:

  • Valentines Gifts Editor: Create, edit, delete available gifts (name, gold cost, gem cost)
  • Anonymous Gifts List: View who sent all anonymous gifts (sender, message, recipient, gift ID)
  • Date Configuration: Set Valentine's date (mm-dd format, default: 2-14)
  • Days Prior: How many days before holiday shop opens (default: 14)
  • Extra Gift Toggle: Enable/disable free gift for everyone
  • Gift Giver Name: Who sends free/anonymous gifts (default: "Cupid")
  • Total Presents Counter: View-only stat showing how many gifts bought (all time)

Strategy & Tips

Valentine's Shopping Strategy

  • Buy Early: Shop opens 14 days before Valentine's - gifts appear immediately in baskets
  • Multiple Recipients: Send gifts to multiple people - no limit on purchases
  • Budget Planning: Gifts range from 50 gold to 1 gem - plan for multiple purchases
  • Anonymous Strategy: Send anonymous to create mystery, or include name for credit
  • Personal Notes: Add meaningful messages - recipients see them with gift
  • Secret Admirer: Anonymous gifts are perfect for revealing crushes safely
  • Friend Group Gifts: Send to all your friends to spread Valentine's cheer
  • Gem Gift Prestige: Bouquet of Roses (1 gem) shows serious commitment
  • Opening Suspense: Recipients wait until Valentine's Day - builds anticipation!
  • Report System: Use if someone sends inappropriate/harassing gifts
  • Don't Hoard Gifts: Open within 3 days or they're auto-deleted

Database & Technical Details

How It Works Behind the Scenes:

  • Two Tables: "vgifts" (sent gifts with recipients) and "vgiftlist" (available gift catalog)
  • Gift Storage: Each sent gift stores: from_id, to_id, gift_name, note, anonymous flag, seen flag
  • Seen Tracking: Marks gifts as "seen" when opened to prevent re-opening
  • Random Selection: Uses ORDER BY RAND() to randomize which gift opens from basket
  • Cleanup: Deletes all gifts from vgifts table 3 days after Valentine's Day
  • Module Requires: Depends on "basket" module version 1.0+ (Prefect's Lounge system)

Canon Reference

Valentine's Day is celebrated at Hogwarts in "Harry Potter and the Chamber of Secrets" (book 2), where Gilderoy Lockhart decorates the Great Hall with pink flowers and floating heart-shaped confetti. Dwarves dressed as cupids deliver singing valentines throughout the day. Harry receives an embarrassing singing valentine from an anonymous sender (heavily implied to be Ginny Weasley) that goes: "His eyes are as green as a fresh pickled toad, His hair is as dark as a blackboard. I wish he was mine, he's really divine, The hero who conquered the Dark Lord."

The Valentine's Gift Shop module captures this spirit of Hogwarts Valentine's celebration - romantic gifts, anonymous admirers, decorated presentation (baskets instead of singing dwarves), and the potential for both sweet and embarrassing moments. The sales-elf character appears to be original to HogwartsLive, fitting the general "magical shop assistant" archetype seen throughout Harry Potter canon.

Shop Info: Valentine's Gift Shop (vgiftshoppe.php) is a seasonal module appearing 14 days before Valentine's Day (2-14 default, configurable). Players purchase gifts (5 defaults: Valentine Card 50g, Plush Heart 100g, Box of Chocolates 150g, Gold Heart Locket 200g, Bouquet of Roses 1 gem) and send to other players with optional personal notes and anonymous option. Gifts appear in decorated baskets at Prefect's Lounge, can be opened on Valentine's Day through 3 days after (then auto-deleted). Random wrapping paper descriptions (6 options) on opening. If "extragift" enabled, everyone gets free random gift from "Cupid" (default giver name). Admin with "canedit" permission can access Valentines Gifts Editor and Anonymous Gifts List. Name search uses fuzzy matching (100+ matches rejected, 2-100 shows list, 1 confirms). Requires "basket" module. All unopened gifts deleted 3 days post-holiday.

Related Topics