Charm Display
Charm stat visibility module with optional self-esteem boost system. Displays charm value in character stats (user opt-in). Shows complimentary title based on charm thresholds with 5 levels. Gender-specific titles: Female progression (Plain → Cute → Pretty → Gorgeous → Beautiful), Male (Plain → Muscular → Handsome → Ravishing → Debonair), Neutral (Simple → Fit → Attractive → Dazzling → Charming). Admin-configurable thresholds + titles. Where the game tells you you're "Dazzling" based on a number in a database.
How It Works
Two Display Options:
- user_showcharm: Display raw charm number (bool, default 0)
- user_esteem: Display self-esteem compliment title (bool, default 0)
- Both are user preferences (players control visibility)
- Can enable one, both, or neither
- Added to "Personal Info" section of charstats
Charm Number Display:
- If user_showcharm = 1: Shows "Charm: [number]"
- Example: "Charm: 47"
- Straightforward numerical display
- Updates in real-time as charm changes
Self-Esteem Title Display:
- If user_esteem = 1: Shows "Compliment: [title]"
- Example: "Compliment: Gorgeous" (if female with charm 72)
- Title calculated based on charm value + gender
- Uses admin-configured thresholds and labels
Charm Threshold System
Five Levels (Default Thresholds):
- Level 1: Charm < 10 (Threshold: 10)
- Level 2: Charm 10-29 (Threshold: 30)
- Level 3: Charm 30-49 (Threshold: 50)
- Level 4: Charm 50-69 (Threshold: 70)
- Level 5: Charm 70+ (No upper limit)
How Thresholds Work:
- Thresholds define MINIMUM for each level
- Level 5 = "anything above Level 4 threshold"
- Example: If charm = 47:
- 47 >= 10 (passes Level 1)
- 47 >= 30 (passes Level 2)
- 47 < 50 (fails Level 3)
- Result: Level 2 title
Gender-Specific Titles
Female Titles (sex = 1):
- Level 1: Plain (default, charm < 10)
- Level 2: Cute (charm 10-29)
- Level 3: Pretty (charm 30-49)
- Level 4: Gorgeous (charm 50-69)
- Level 5: Beautiful (charm 70+)
Male Titles (sex = 0):
- Level 1: Plain (charm < 10)
- Level 2: Muscular (charm 10-29)
- Level 3: Handsome (charm 30-49)
- Level 4: Ravishing (charm 50-69)
- Level 5: Debonair (charm 70+)
Neutral/Other Titles (sex = neither 0 nor 1):
- Level 1: Simple (charm < 10)
- Level 2: Fit (charm 10-29)
- Level 3: Attractive (charm 30-49)
- Level 4: Dazzling (charm 50-69)
- Level 5: Charming (charm 70+)
All titles admin-configurable via module settings.
Admin Configuration
Threshold Settings:
- one: Level 1 threshold (int, default 10)
- two: Level 2 threshold (int, default 30)
- three: Level 3 threshold (int, default 50)
- four: Level 4 threshold (int, default 70)
- Note: "These values mark the MINIMUM of the Level. For Level Five it will be anything above Level Four."
Female Title Settings:
- onef: Level 1 title (text, default "Plain")
- twof: Level 2 title (text, default "Cute")
- threef: Level 3 title (text, default "Pretty")
- fourf: Level 4 title (text, default "Gorgeous")
- fivef: Level 5 title (text, default "Beautiful")
Male Title Settings:
- onem: Level 1 title (text, default "Plain")
- twom: Level 2 title (text, default "Muscular")
- threem: Level 3 title (text, default "Handsome")
- fourm: Level 4 title (text, default "Ravishing")
- fivem: Level 5 title (text, default "Debonair")
Neutral Title Settings:
- onegn: Level 1 title (text, default "Simple")
- twogn: Level 2 title (text, default "Fit")
- threegn: Level 3 title (text, default "Attractive")
- fourgn: Level 4 title (text, default "Dazzling")
- fivegn: Level 5 title (text, default "Charming")
User Preferences
Enabling Display:
- Navigate to Preferences page
- Find "Charm Display Preferences" section
- Options:
- ☐ Do you wish for Charm to be displayed (shows number)
- ☐ Do you wish for the Charm to give you a Self Esteem Boost (shows title)
- Check desired options, save
- Character stats immediately update
Visibility Combinations:
- Both disabled: Charm stat completely hidden
- Showcharm only: See "Charm: 47" (number)
- Esteem only: See "Compliment: Gorgeous" (title)
- Both enabled: See both "Charm: 47" AND "Compliment: Gorgeous"
Example Scenarios
Scenario 1: Female Character, Charm 23:
- Charm value: 23
- Gender: Female (sex = 1)
- Level calculation:
- 23 >= 10 (passes Level 1)
- 23 < 30 (fails Level 2)
- Result: Level 1 = "Cute"
- Display: "Compliment: Cute"
Scenario 2: Male Character, Charm 85:
- Charm value: 85
- Gender: Male (sex = 0)
- Level calculation:
- 85 >= 70 (passes Level 4)
- Result: Level 5 = "Debonair"
- Display: "Compliment: Debonair"
Scenario 3: Neutral Character, Charm 5:
- Charm value: 5
- Gender: Neutral (sex ≠ 0 and ≠ 1)
- Level calculation:
- 5 < 10 (fails Level 1)
- Result: Below Level 1 = "Simple"
- Display: "Compliment: Simple"
Technical Details
charstats Hook:
- Fires when character stats panel generated
- setcharstat("Personal Info", "Charm", $amnt) for number
- setcharstat("Personal Info", "Compliment", $level) for title
- Both added to same section (grouped display)
Title Calculation Logic:
- Reads all threshold + title settings
- Checks $session['user']['sex'] for gender
- Series of if statements comparing charm to thresholds
- Last matching threshold determines level
- Returns appropriate title for gender + level
Gender Detection:
- if ($session['user']['sex'] == 1) → Female titles
- else if ($session['user']['sex'] == 0) → Male titles
- else → Neutral titles (catches all other values)
Customization Ideas
Alternative Title Schemes:
- Vampiric: Alluring → Mesmerizing → Irresistible → Hypnotic → Enthralling
- Academic: Bookish → Studious → Scholarly → Erudite → Brilliant
- Regal: Common → Noble → Elegant → Majestic → Divine
- Comedic: Awkward → Tolerable → Pleasant → Delightful → Impossibly Sexy
Threshold Adjustments:
- Tight progression (10/20/30/40/50): More granular levels
- Steep curve (20/50/100/150/200): Hard to reach top tier
- Flat (10/15/20/25/30): Easy progression for everyone
Player Strategy
When to Enable:
- High charm: Show off "Beautiful" or "Debonair" title
- Roleplay purposes: Display fits character concept
- Pride in stat investment: Showing off your charm grinding
- Just like seeing the numbers (stat tracking enthusiasts)
When to Disable:
- Low charm: Don't want "Plain" or "Simple" displayed
- Privacy: Don't want others knowing charm value
- Clutter reduction: Minimize stat panel
- Don't care: Charm not important to character
Limitations
- No Mechanical Effect: Titles purely cosmetic (doesn't affect gameplay)
- Binary Gender: Only 3 title sets (male/female/neutral)
- Fixed Thresholds: All players use same thresholds (can't personalize)
- No Negative Titles: Level 1 = "Plain", not "Ugly" (no insults)
- Static Display: Doesn't show progress to next level
Charm Display: where the game tells you you're "Debonair" because your charm stat hit 70, or "Simple" because it's only 5, as if a number in a database has any bearing on your actual attractiveness. You can optionally display this self-esteem boost in your character stats so everyone knows you're "Gorgeous" (charm 55) instead of merely "Pretty" (charm 35), which is definitely an important distinction that changes absolutely nothing about gameplay. At least the module gives you three gender options for titles: Female gets "Beautiful," Male gets "Debonair," and Neutral gets "Charming" at max level, because even fantasy RPG stat modules need to acknowledge that gender is more complicated than a boolean.