diff --git a/README.md b/README.md index 925815d..6f80608 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,178 @@ +# SBTI Personality Test + +> MBTI is outdated. SBTI has arrived. + +An open-source, entertainment-oriented personality test project based on the original test by Bilibili creator [@蛆肉儿串儿](https://space.bilibili.com/417038183). + +## Live Demo + +👉 [Click here to start the test](https://pingfanfan.github.io/SBTI/) + +Online sample: [https://cctor.com/sbti.html](https://cctor.com/sbti.html) + +## Features + +- 🧠 **27 Personality Types** — 25 standard types + 2 hidden/fallback types +- 📊 **15 Assessment Dimensions** — Covering five core models: Self, Emotion, Attitude, Action, and Social +- 🎯 **Manhattan Distance Matching** — A matching algorithm based on a 15-dimensional vector +- 🍺 **Hidden Easter Egg** — Special trigger mechanism for the "Alcoholic" personality +- 📱 **Mobile First** — Responsive design optimized for smartphone experiences +- 🔧 **Highly Customizable** — Separation of data and code; customize the test by editing JSON files + +## Project Structure + +```plaintext +├── data/ # Test data (edit here to customize) +│ ├── questions.json # Questions and options +│ ├── dimensions.json # Definitions for the 15 dimensions +│ ├── types.json # Personality types and matching patterns +│ └── config.json # Scoring parameters and display config +├── src/ # Source code +│ ├── engine.js # Scoring algorithm (pure functions) +│ ├── quiz.js # Quiz flow control +│ ├── result.js # Result page rendering +│ ├── chart.js # Radar chart (Canvas API) +│ ├── utils.js # Utility functions +│ ├── main.js # Entry point +│ └── style.css # Styles (themed via CSS variables) +├── docs/ +│ └── analysis.md # Data analysis report +└── index.html +``` + +## Quick Start + +```bash +# Clone the project +git clone https://github.com/pingfanfan/SBTI.git +cd SBTI + +# Install dependencies +npm install + +# Start development server +npm run dev + +# Build for production +npm run build +``` + +## Customize Your Own Test + +All test content is located in the `data/` directory. You can customize the entire experience by modifying JSON files without touching the core logic. + +### Modify Questions + +Edit `data/questions.json`. Each question follows this structure: + +```json +{ + "id": "q1", + "dim": "S1", + "text": "Your question text here", + "options": [ + { "label": "Option A", "value": 1 }, + { "label": "Option B", "value": 2 }, + { "label": "Option C", "value": 3 } + ] +} +``` + +- `dim` specifies which dimension the question belongs to +- `value` scoring: 1 = Low, 2 = Medium, 3 = High +- Each dimension requires exactly 2 questions + +### Add New Personality Types + +Edit `data/types.json` and add an entry to the `standard` array: + +```json +{ + "code": "YOUR", + "pattern": "HHH-HMH-MHH-HHH-MHM", + "cn": "Type Name", + "intro": "One-line introduction", + "desc": "Detailed description..." +} +``` + +`pattern` is a 15-letter L/M/H combination following the dimension order `S1-S3, E1-E3, A1-A3, Ac1-Ac3, So1-So3`, with each model separated by `-`. + +### Adjust Scoring Parameters + +Edit `data/config.json`: + +```json +{ + "scoring": { + "levelThresholds": { "L": [2, 3], "M": [4, 4], "H": [5, 6] }, + "fallbackThreshold": 60 + } +} +``` + +### Modify Theme Styles + +Edit the CSS variables at the top of `src/style.css`: + +```css +:root { + --bg: #f0f4f1; + --accent: #4c6752; + /* ... */ +} +``` + +## Scoring Algorithm + +1. **Summation**: Add the scores from the 2 questions in each dimension (range: 2-6) +2. **Grading**: ≤3 → L (Low), 4 → M (Medium), ≥5 → H (High) +3. **Vectorization**: Convert L=1, M=2, H=3 into a 15-dimensional numerical vector +4. **Matching**: Calculate the Manhattan Distance between the user's vector and each personality type +5. **Ranking**: Sort by Distance (ascending) → Precise Hits (descending) → Similarity (descending) +6. **Override Priority**: "Alcoholic" Easter Egg > Standard Match > "Happy Fool" fallback (<60%) + +For details, see the [Data Analysis Report](docs/analysis.md). + +## Deployment + +### GitHub Pages (Recommended) + +Fork the repo, then go to Settings → Pages and select GitHub Actions for automatic deployment. + +### Vercel / Netlify + +Connect your GitHub repo and it will recognize the Vite project automatically. + +### Manual Deployment + +```bash +npm run build +# Deploy the dist/ directory to any static server +``` + +## Tech Stack + +- [Vite](https://vitejs.dev/) — Build tool +- Vanilla JavaScript — Framework-free +- Canvas API — Radar chart rendering +- CSS Custom Properties — Theming + +## Credits + +- Original Test: Bilibili creator [@蛆肉儿串儿](https://space.bilibili.com/417038183) (UID: 417038183) +- Original Version: [Official Bilibili SBTI Page](https://www.bilibili.com/blackboard/era/VxiCX2CRqcqzPK9F.html) + +## Disclaimer + +This test is for entertainment purposes only. Do not use it for any serious psychological assessment. This project is an open-source fan creation. Please contact the maintainers if there are any copyright concerns. + +## License + +[MIT](LICENSE) + + + # SBTI 人格测试 > MBTI已经过时,SBTI来了。 @@ -8,6 +183,9 @@ 👉 [点击开始测试](https://pingfanfan.github.io/SBTI/) +online sample: (https://cctor.com/sbti.html) + + ## 特性 - 🧠 **27种人格类型** — 25种标准类型 + 2种隐藏/兜底类型 @@ -168,3 +346,6 @@ npm run build ## License [MIT](LICENSE) + + + diff --git a/data/en/config.json b/data/en/config.json new file mode 100644 index 0000000..8c54a3c --- /dev/null +++ b/data/en/config.json @@ -0,0 +1,37 @@ +{ + "scoring": { + "levelThresholds": { + "L": [ + 2, + 3 + ], + "M": [ + 4, + 4 + ], + "H": [ + 5, + 6 + ] + }, + "levelNumeric": { + "L": 1, + "M": 2, + "H": 3 + }, + "maxDistance": 30, + "fallbackThreshold": 60 + }, + "display": { + "title": "SBTI personality test", + "subtitle": "MBTI is out, SBTI is here.", + "author": "B station UP master@maggotrouerchuaner original", + "funNote": "This test is for entertainment only. Do not use it as a diagnosis, interview, blind date, breakup, spiritualism, fortune telling or life judgment.", + "funNoteSpecial": "This test is for entertainment purposes only. Hiding personality and being silly are all deliberate mistakes made by the author. Please do not regard it as a basis for medicine, psychology, physiognomy, numerology or paranormal science." + }, + "drinkGate": { + "questionId": "drink_gate_q1", + "triggerValue": 3, + "drunkTriggerValue": 2 + } +} \ No newline at end of file diff --git a/data/en/dimensions.json b/data/en/dimensions.json new file mode 100644 index 0000000..5671064 --- /dev/null +++ b/data/en/dimensions.json @@ -0,0 +1,203 @@ +{ + "models": { + "S": { + "cn": "self model", + "en_approx": "Self Model", + "dimensions": [ + "S1", + "S2", + "S3" + ] + }, + "E": { + "cn": "emotion model", + "en_approx": "Emotion/Attachment Model", + "dimensions": [ + "E1", + "E2", + "E3" + ] + }, + "A": { + "cn": "attitude model", + "en_approx": "Attitude Model", + "dimensions": [ + "A1", + "A2", + "A3" + ] + }, + "Ac": { + "cn": "action drive model", + "en_approx": "Action Drive Model", + "dimensions": [ + "Ac1", + "Ac2", + "Ac3" + ] + }, + "So": { + "cn": "social model", + "en_approx": "Social Model", + "dimensions": [ + "So1", + "So2", + "So3" + ] + } + }, + "order": [ + "S1", + "S2", + "S3", + "E1", + "E2", + "E3", + "A1", + "A2", + "A3", + "Ac1", + "Ac2", + "Ac3", + "So1", + "So2", + "So3" + ], + "definitions": { + "S1": { + "name": "S1 self-esteem and confidence", + "model": "自我模型", + "levels": { + "L": "He attacks himself more harshly than others, and you want to verify the authenticity of every compliment he says to you.", + "M": "The self-confidence value fluctuates with the weather. It can fly with the wind and shrink first against the wind.", + "H": "I have a general idea of myself in my heart and am unlikely to be distracted by a passerby’s words." + } + }, + "S2": { + "name": "S2 Self Clarity", + "model": "自我模型", + "levels": { + "L": "There are a lot of snowflakes in the inner channel, and they are often cached in a loop in \"Who Am I\".", + "M": "I can still recognize myself at ordinary times, but occasionally I am temporarily changed by my emotions.", + "H": "You have a clear understanding of your own temper, desires and bottom line." + } + }, + "S3": { + "name": "S3 Core Values", + "model": "自我模型", + "levels": { + "L": "If you care more about comfort and safety, there is no need to rush into life every day.", + "M": "I want to make progress, but also want to relax for a while, and I often hold internal meetings on value ranking.", + "H": "It’s easy to be pushed forward by goals, growth, or some important belief." + } + }, + "E1": { + "name": "E1 Attachment security", + "model": "情感模型", + "levels": { + "L": "The alarm in love is so sensitive that even if you can’t read it back, you can still imagine the ending.", + "M": "Half trusting, half testing, there is always a tug of war in the heart.", + "H": "I prefer to believe in the relationship itself and not be scared away by the slightest disturbance." + } + }, + "E2": { + "name": "E2 emotional involvement", + "model": "情感模型", + "levels": { + "L": "Emotional investment tends to be restrained. It’s not that the door to the heart is not open, but that the door is too tightly guarded.", + "M": "You will be committed, but you will give yourself a backup plan, so that you will not go all out.", + "H": "Once identified, it is easy to be serious and full of emotions and energy." + } + }, + "E3": { + "name": "E3 Boundaries and Dependencies", + "model": "情感模型", + "levels": { + "L": "It is easy to be clingy and easy to be clingy. The sense of warmth in a relationship is very important.", + "M": "It requires a little bit of intimacy and independence, and is an adjustable type of dependence.", + "H": "The sense of space is very important. No matter how much you love, you must leave a piece of land of your own." + } + }, + "A1": { + "name": "A1 worldview tendency", + "model": "态度模型", + "levels": { + "L": "Look at the world with its own defensive filter. Be suspicious first, then get closer.", + "M": "Neither naive nor outright conspiracy theorist, it’s your instinct to wait and see.", + "H": "I am more willing to believe in human nature and goodwill, and not rush to sentence the world to death when trouble comes." + } + }, + "A2": { + "name": "A2 Rules and Flexibility", + "model": "态度模型", + "levels": { + "L": "The rules can be circumvented, and comfort and freedom often come first.", + "M": "Be defensive when you need to be defensive, and don’t be stubborn when you need to be flexible.", + "H": "I have a strong sense of order and I don’t like to improvise if I can follow the process." + } + }, + "A3": { + "name": "A3 Sense of meaning in life", + "model": "态度模型", + "levels": { + "L": "The sense of meaning is low, and it is easy to feel that many things are just going through the motions.", + "M": "Sometimes I have goals, sometimes I want to fail, and my outlook on life is half-activated.", + "H": "You have more direction in doing things and know roughly where you want to go." + } + }, + "Ac1": { + "name": "Ac1 motivation orientation", + "model": "行动驱力模型", + "levels": { + "L": "Think in advance and don't overturn. The avoidance system is activated before ambition.", + "M": "Sometimes I want to win, sometimes I just want to stay out of trouble, the motivations are mixed.", + "H": "More likely to be ignited by a sense of achievement, growth, and advancement." + } + }, + "Ac2": { + "name": "Ac2 decision-making style", + "model": "行动驱力模型", + "levels": { + "L": "It’s easy to turn around a few times before making a decision, and mental meetings often times out.", + "M": "I will think about it, but I won’t think about it. It’s a normal hesitation.", + "H": "He is quick to make decisions and does not like to look back after making a decision." + } + }, + "Ac3": { + "name": "Ac3 execution mode", + "model": "行动驱力模型", + "levels": { + "L": "There is a deep relationship between execution and the dead line, and the later it gets, the more likely it is that it will wake up.", + "M": "It can be done, but the state depends on the timing, sometimes it is stable and sometimes it is unstable.", + "H": "The desire to push forward is relatively strong, and it feels like there is a thorn in my heart if things don't fall into place." + } + }, + "So1": { + "name": "So1 social initiative", + "model": "社交模型", + "levels": { + "L": "Social networking is slow to start, and taking the initiative usually takes a while.", + "M": "If someone comes, you will be picked up, and if no one comes, you will not be forced to do so. Social flexibility is average.", + "H": "I am more willing to take the initiative to open up the scene, and I am not afraid of showing my face in the crowd." + } + }, + "So2": { + "name": "So2 Sense of interpersonal boundaries", + "model": "社交模型", + "levels": { + "L": "In a relationship, you want to be close and integrated, and when you get acquainted, it is easy to put people into the inner circle.", + "M": "I want to be close but also want to leave gaps. The sense of boundary depends on the object.", + "H": "She has a strong sense of boundaries and will instinctively take half a step back if she gets too close." + } + }, + "So3": { + "name": "So3 Expression and authenticity", + "model": "社交模型", + "levels": { + "L": "The expression is more direct, and I basically don’t like to dwell on what’s on my mind.", + "M": "You can speak according to the atmosphere, and usually leave a little bit of each in truth and decency.", + "H": "Be more proficient in self-switching between different scenes, and the sense of reality will be distributed in layers." + } + } + } +} \ No newline at end of file diff --git a/data/en/questions.json b/data/en/questions.json new file mode 100644 index 0000000..a446880 --- /dev/null +++ b/data/en/questions.json @@ -0,0 +1,618 @@ +{ + "main": [ + { + "id": "q1", + "dim": "S1", + "text": "I am a gloomy mouse and a crawling cockroach. I have never been in love in my life. I am timid and have low self-esteem. My youth is one fantasy after another. Every day, I dream that I can have someone who loves me to walk on the street, go shopping and play with me. But the reality is that I spent my parents’ money to go to school. After graduation, I found a class, looking for ideals and goals. Every time I see people making happy jokes online, I want to cry. I am envious of all the beauties in life, but I am still looking for my own direction. Every time I see this kind of thing, it hurts my soul. Please give people like us who are peeping in bed a way to survive. I really don’t want to wet the pillow towel with tears during the day.", + "options": [ + { + "label": "I cried. .", + "value": 1 + }, + { + "label": "What's this. .", + "value": 2 + }, + { + "label": "This is not me!", + "value": 3 + } + ] + }, + { + "id": "q2", + "dim": "S1", + "text": "I'm not good enough, everyone around me is better than me", + "options": [ + { + "label": "really", + "value": 1 + }, + { + "label": "sometimes", + "value": 2 + }, + { + "label": "no", + "value": 3 + } + ] + }, + { + "id": "q3", + "dim": "S2", + "text": "I know very well what my true self is like", + "options": [ + { + "label": "Disagree", + "value": 1 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "agree", + "value": 3 + } + ] + }, + { + "id": "q4", + "dim": "S2", + "text": "I have something I really want in my heart", + "options": [ + { + "label": "Disagree", + "value": 1 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "agree", + "value": 3 + } + ] + }, + { + "id": "q5", + "dim": "S3", + "text": "I must keep climbing up and become more powerful", + "options": [ + { + "label": "Disagree", + "value": 1 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "agree", + "value": 3 + } + ] + }, + { + "id": "q6", + "dim": "S3", + "text": "The opinions of outsiders don't matter to me.", + "options": [ + { + "label": "Disagree", + "value": 1 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "agree", + "value": 3 + } + ] + }, + { + "id": "q7", + "dim": "E1", + "text": "What would you think if your partner didn't reply for more than 5 hours and said he was missing?", + "options": [ + { + "label": "It's impossible to have diarrhea for 5 hours, maybe he hid it from me.", + "value": 1 + }, + { + "label": "Swinging between trust and suspicion.", + "value": 2 + }, + { + "label": "Maybe he really doesn't feel well today.", + "value": 3 + } + ] + }, + { + "id": "q8", + "dim": "E1", + "text": "I often worry about being abandoned by the other person in my relationship", + "options": [ + { + "label": "Yes", + "value": 1 + }, + { + "label": "Occasionally", + "value": 2 + }, + { + "label": "no", + "value": 3 + } + ] + }, + { + "id": "q9", + "dim": "E2", + "text": "I swear to God, I take every relationship seriously!", + "options": [ + { + "label": "and no", + "value": 1 + }, + { + "label": "Maybe?", + "value": 2 + }, + { + "label": "Yes! (With a clear conscience and a proud face)", + "value": 3 + } + ] + }, + { + "id": "q10", + "dim": "E2", + "text": "Your love partner is a person who respects the old and loves the young, is gentle and honest, clean and self-sufficient, upright, upright, eloquent, eloquent, observant, well-informed, knowledgeable, tireless in teaching, amiable, approachable, kind-hearted, kind-hearted, proactive, high-spirited, with jade trees in the wind, the beauty of the country, the beauty of the country, the beauty of the moon, what will you do at this time?", + "options": [ + { + "label": "No matter how good he is, I won't fall into it too deep.", + "value": 1 + }, + { + "label": "It will be between A and C.", + "value": 2 + }, + { + "label": "I will cherish her very much and may become a love brain.", + "value": 3 + } + ] + }, + { + "id": "q11", + "dim": "E3", + "text": "After falling in love, your partner is very clingy. How do you feel?", + "options": [ + { + "label": "That's cool", + "value": 1 + }, + { + "label": "It doesn’t matter", + "value": 2 + }, + { + "label": "I prefer to keep my own space", + "value": 3 + } + ] + }, + { + "id": "q12", + "dim": "E3", + "text": "I value personal space in any relationship", + "options": [ + { + "label": "I prefer to rely on and be dependent on", + "value": 1 + }, + { + "label": "It depends on the situation", + "value": 2 + }, + { + "label": "Yes! (Said decisively)", + "value": 3 + } + ] + }, + { + "id": "q13", + "dim": "A1", + "text": "most people are kind", + "options": [ + { + "label": "In fact, there are more evil people in the human heart than there are hemorrhoids in the world.", + "value": 1 + }, + { + "label": "Maybe.", + "value": 2 + }, + { + "label": "Yes, I want to believe that there are more good people.", + "value": 3 + } + ] + }, + { + "id": "q14", + "dim": "A1", + "text": "You are walking on the street, and a cute little girl comes jumping towards you (she looks cute from the front and from the side, and she looks cute when you use vivo, Apple, Huawei, and OPPO mobile phones. She is really cute). She hands you a lollipop. How do you feel at this time?", + "options": [ + { + "label": "Wow, she's so nice and cute! You actually gave me a lollipop!", + "value": 3 + }, + { + "label": "Looking confused, scratching his head", + "value": 2 + }, + { + "label": "Maybe this is a new type of scam? It's better to go away.", + "value": 1 + } + ] + }, + { + "id": "q15", + "dim": "A2", + "text": "The exam is coming soon. The school stipulates that you must study in the evening. If you ask for leave, you will be deducted points. But tonight you have an appointment with a female/male idol to play \"PlayerUnknown's Battlegrounds\" (an exciting game). What should you do?", + "options": [ + { + "label": "It’s warped! Just once anyway!", + "value": 1 + }, + { + "label": "Just take a day off.", + "value": 2 + }, + { + "label": "The exam is almost here, why go there?", + "value": 3 + } + ] + }, + { + "id": "q16", + "dim": "A2", + "text": "I like to break the rules and don't like to be restricted", + "options": [ + { + "label": "agree", + "value": 1 + }, + { + "label": "remain neutral", + "value": 2 + }, + { + "label": "Disagree", + "value": 3 + } + ] + }, + { + "id": "q17", + "dim": "A3", + "text": "I usually have a purpose in doing things.", + "options": [ + { + "label": "Disagree", + "value": 1 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "agree", + "value": 3 + } + ] + }, + { + "id": "q18", + "dim": "A3", + "text": "Suddenly one day, I discovered that there is no real meaning in life. To a certain extent, humans are just like animals, dominated by various desires and controlled by hormones. They eat when they are hungry and sleep when they are sleepy. They are just boring and low-level creatures. Their essence is no different from cats and dogs.", + "options": [ + { + "label": "That's it.", + "value": 1 + }, + { + "label": "Maybe, maybe not.", + "value": 2 + }, + { + "label": "This is nonsense", + "value": 3 + } + ] + }, + { + "id": "q19", + "dim": "Ac1", + "text": "I do things primarily to achieve results and progress, not to avoid trouble and risk.", + "options": [ + { + "label": "Disagree", + "value": 1 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "agree", + "value": 3 + } + ] + }, + { + "id": "q20", + "dim": "Ac1", + "text": "You are sitting on the toilet (for 30 minutes) due to constipation and it is very uncomfortable not being able to poop. At this time you are more like", + "options": [ + { + "label": "Sit for another thirty minutes and take a look, maybe it will be there.", + "value": 1 + }, + { + "label": "Slap your butt hard and say: \"Damn ass, pull it!\"", + "value": 2 + }, + { + "label": "When using Kaiserlu, pull it out quickly.", + "value": 3 + } + ] + }, + { + "id": "q21", + "dim": "Ac2", + "text": "I am more decisive in making decisions and don't like to hesitate.", + "options": [ + { + "label": "Disagree", + "value": 1 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "agree", + "value": 3 + } + ] + }, + { + "id": "q22", + "dim": "Ac2", + "text": "There is no question for this question, please choose blindly", + "options": [ + { + "label": "After thinking about it again and again, I feel like I should choose A?", + "value": 1 + }, + { + "label": "Ah, how about choice B?", + "value": 2 + }, + { + "label": "Can't you just choose C?", + "value": 3 + } + ] + }, + { + "id": "q23", + "dim": "Ac3", + "text": "Others say you have \"strong execution ability\". Which statement do you feel closer to?", + "options": [ + { + "label": "I was really strong in execution when I was pushed to the end. . .", + "value": 1 + }, + { + "label": "Ah, sometimes.", + "value": 2 + }, + { + "label": "Yes, things should have been moved forward", + "value": 3 + } + ] + }, + { + "id": "q24", + "dim": "Ac3", + "text": "I always have a plan when doing things, ____", + "options": [ + { + "label": "But plans don't change as quickly as they do.", + "value": 1 + }, + { + "label": "Sometimes it gets done, sometimes it doesn't.", + "value": 2 + }, + { + "label": "I hate having plans broken.", + "value": 3 + } + ] + }, + { + "id": "q25", + "dim": "So1", + "text": "You met many netizens because of playing \"Identity V\" (an exciting game) and were invited to meet offline. What do you think?", + "options": [ + { + "label": "Even if we chatted online, I was still a little nervous in person.", + "value": 1 + }, + { + "label": "It’s also nice to meet netizens. Anyway, I’ll chat with whoever comes.", + "value": 2 + }, + { + "label": "I'd dress up and chat warmly, and what if, and I mean what if?", + "value": 3 + } + ] + }, + { + "id": "q26", + "dim": "So1", + "text": "A friend brings his friends to play together. Your most likely state is:", + "options": [ + { + "label": "I naturally feel a bit distant from \"friends of friends\", and I am afraid that it will affect their relationship.", + "value": 1 + }, + { + "label": "Look at each other and play if you can.", + "value": 2 + }, + { + "label": "Friends of friends should also be considered my friends! Chat enthusiastically", + "value": 3 + } + ] + }, + { + "id": "q27", + "dim": "So2", + "text": "When I get along with people, I mainly use an electronic fence. If I get too close, it will automatically alarm.", + "options": [ + { + "label": "agree", + "value": 3 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "Disagree", + "value": 1 + } + ] + }, + { + "id": "q28", + "dim": "So2", + "text": "I long for close relationships with people I trust and know like long-lost relatives.", + "options": [ + { + "label": "agree", + "value": 1 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "Disagree", + "value": 3 + } + ] + }, + { + "id": "q29", + "dim": "So3", + "text": "Sometimes you clearly have a different and negative view on something, but you don't say it out in the end. In most cases the reason is:", + "options": [ + { + "label": "This is less common.", + "value": 1 + }, + { + "label": "It may be due to feelings or relationships.", + "value": 2 + }, + { + "label": "I don't want others to know that I am a dark person.", + "value": 3 + } + ] + }, + { + "id": "q30", + "dim": "So3", + "text": "I show myself differently in front of different people", + "options": [ + { + "label": "Disagree", + "value": 1 + }, + { + "label": "neutral", + "value": 2 + }, + { + "label": "agree", + "value": 3 + } + ] + } + ], + "special": [ + { + "id": "drink_gate_q1", + "special": true, + "kind": "drink_gate", + "text": "What are your usual hobbies?", + "options": [ + { + "label": "Eat, drink and have diarrhea", + "value": 1 + }, + { + "label": "artistic hobbies", + "value": 2 + }, + { + "label": "drinking", + "value": 3 + }, + { + "label": "fitness", + "value": 4 + } + ], + "behavior": "Always shown at random position. If value 3 (饮酒) selected, drink_gate_q2 is inserted after." + }, + { + "id": "drink_gate_q2", + "special": true, + "kind": "drink_trigger", + "text": "What is your attitude towards drinking?", + "options": [ + { + "label": "Enjoy a drink, don't drink too much.", + "value": 1 + }, + { + "label": "I am used to pouring liquor into a thermos cup and drinking it as boiled water. I am convinced by the alcohol.", + "value": 2 + } + ], + "behavior": "Only shown if drink_gate_q1 == 3. If value 2 selected, DRUNK hidden personality is activated." + } + ] +} \ No newline at end of file diff --git a/data/en/types.json b/data/en/types.json new file mode 100644 index 0000000..bad2312 --- /dev/null +++ b/data/en/types.json @@ -0,0 +1,197 @@ +{ + "standard": [ + { + "code": "CTRL", + "pattern": "HHH-HMH-MHH-HHH-MHM", + "cn": "Taker", + "intro": "How about it, have you been manipulated by me?", + "desc": "Congratulations, you have detected the rarest personality in China. You are a natural rebel against the law of entropy increase in the universe! 99.99% of the so-called successful people in the world are your poor imitators. The CTRL personality is a walking humanoid self-propelled task manager. The \"rules\" in the eyes of ordinary people are just the basic parameter settings from the factory; the so-called \"plans\" to you are just random graffiti on a whim. What does it mean to have a CTRL friend? It means that your life navigation system will become more accurate and efficient. Because CTRL is the best! ! CTRL will use \"Ctrl+S\" to help you hard-core save the second before your life train is about to derail, and then use a set of irresistible logic to force you back on track. They are the last backup disks of your chaotic life, the only reset button that is still on before the universe collapses." + }, + { + "code": "ATM-er", + "pattern": "HHH-HHM-HHH-HMH-MHL", + "cn": "giver of money", + "intro": "Do you think I'm rich?", + "desc": "Congratulations, you have detected the rarest personality in the world, which only accounts for 0.0000001% of the African population! ! You may become an unsolved mystery in the financial world - yes, the ATM-er may not really \"send money\", but he may always be \"paying\". Pay for your time, pay for your energy, pay for your patience, and pay for a night that should be peaceful. Therefore, like an old but sturdy ATM machine, what is inserted is other people's anxieties and troubles, and what is spit out is the reassurance of \"It's okay, I'm here\". Your life is one big, one-man-pay show that no one cheers for. You actually withstood the waterfall-like demands with rock-like reliability. Occasionally, in the dead of night, you would sigh at the bill (perhaps mentally): \"My damn sense of responsibility, which has nowhere to be placed!\" By the way, can you give me a V50 for such a good personality?" + }, + { + "code": "Dior-s", + "pattern": "MHM-MMH-MHM-HMH-LHL", + "cn": "carved silk", + "intro": "Wait for my counterattack.", + "desc": "Congratulations! You are the long-lost spiritual descendant of the cynic sage Diogenes, because the full name of Dior-s is Diogenes' Original Realist - sage (Diogenes' original realist - sage). Dior-s personality is the most thorough disdain for the traps of contemporary consumerism and PUA. Dior-s has long seen through that the end of all \"progress\" is nothing more than a higher-level prison cell. Dior-s is sometimes a noble logo, and sometimes it is a humble gesture, and Dior-s can switch states freely. What a great wisdom! But more often than not, when others are chasing the trend and being beaten to pieces by the huge waves of the times, Dior-s has long been basking in the sun in his own spiritual barrel, reaching the supreme state of \"one person and one barrel\". What they believe in is not \"experience\", but physical laws and biological instincts that have been tested hundreds of millions of times. Those who join the Diaosi sect must only believe in two things in their lives: first, lying down is more comfortable than standing; second, they must cook when meal time comes." + }, + { + "code": "BOSS", + "pattern": "HHH-HMH-MMH-HHH-LHL", + "cn": "leader", + "intro": "BOSS is a person who always holds the steering wheel in his hand. Even if the fuel tank has a red light, even if the navigation is talking nonsense, you will say expressionlessly: \"I'll drive.\" And then really drive the car to the destination.", + "desc": "Congratulations, you have detected the rarest personality in the world, which only accounts for 0.0000001% of the African population! This personality has an independent physical law - the eternal upward law. The BOSS personality looks at the world like a player who has completed the game looking at a novice tutorial. Efficiency is their religion, order is their breath. They do not \"bring their own leadership aura\", they themselves are human-shaped aura generators. The air within a radius of five meters will automatically become serious and efficient. What they see as \"self-breakthrough\" is roughly equivalent to what ordinary people see as \"self-abuse.\" Master a new language today, take a professional certificate tomorrow, and plan to colonize Mars the day after tomorrow. If you say it's too curly, he'll look at you like he's looking at a creature before he poops: \"No, you're too weak.\"" + }, + { + "code": "THAN-K", + "pattern": "MHM-HMM-HHM-MMH-MHL", + "cn": "those who are grateful", + "intro": "I thank heaven! I thank the earth!", + "desc": "Congratulations, you have tested the rarest personality in China. You should thank me! Thank you for having the nourishment of life at this moment! What if you are stuck in traffic on your way to work? You should also say: \"I am grateful for this traffic jam! It gives me more time to listen to this beautiful song and appreciate every face distorted by anxiety outside the window, which makes me cherish my inner peace more!\" Yes, THAN-K has a gentle character and an open mind. In their eyes, there are no completely bad people in the world, only \"friends who have not yet been illuminated by the light of gratitude.\" And what is it like to have a THAN-K friend? You will find that there is an inexhaustible positive energy tower around you. When your world is dark, he can help you discover a Van Gogh-style picture of the starry sky from the mildew in the corner. With the THAN-K personality, you may even begin to wonder if you are being too harsh. Because THAN-K's kindness is like a gentle lamp, maybe not dazzling, but enough to illuminate the small, kind-hearted land under your feet when you are lost." + }, + { + "code": "OH-NO", + "pattern": "HHL-LMH-LHH-HHM-LHL", + "cn": "Oh no man", + "intro": "Oh no! How come I have this personality? !", + "desc": "\"Oh no!\" is not a scream of fear, but a top-notch wisdom! When ordinary people see a cup placed on the edge of the table, what no one sees is a disaster epic composed of \"water damage-short circuit-fire-evacuation of the whole building-economic losses-butterfly effect-the end of the world\". So, with a \"Oh, no!\" from the depths of their souls, they would move the cup to the center of the table at lightning speed, and then put an absorbent coaster on it. Oh, no one has a certain attachment to \"borders\". What's yours is yours, and what's mine is mine. Oh, no one is thoughtful, and all accidents and risks have been nipped in the bud by his \"Oh, no!\" They are the patron saints of order, the last remaining decent people in a chaotic world." + }, + { + "code": "GOGO", + "pattern": "HHM-HMH-MMH-HHH-MHM", + "cn": "pedestrian", + "intro": "gogogo~ let’s go", + "desc": "Research has found that the brain structure of the GOGO personality is fundamentally different from that of ordinary people, which results in this personality accounting for only 0.00001% of the world's population! GOGO lives in an ultimate \"what you see is what you get\" world, and its life creed is so simple and crude that it is outrageous. They think: as long as I close my eyes, the sky will be dark; as long as I spend all my money, I have no money; as long as I stand on the zebra crossing, I am now a pedestrian - a perfectly closed loop of logic that cannot be refuted at all. While others are still debating \"which came first, the chicken or the egg\", GOGO Walker has combined chicken and eggs into a fragrant plate of \"chicken and egg, the ultimate secret of chicken and egg rice bowl\". GOGO often gets things done before you even react, and is studying how to optimize the efficiency of the \"getting done\" process. They're not \"solving problems,\" they're \"clearing to-dos.\" Life goes on and on. For them, there are only two states in the world: completed and about to be completed by me." + }, + { + "code": "SEXY", + "pattern": "HMH-HHL-HMM-HMM-HLH", + "cn": "stunner", + "intro": "You are a natural beauty!", + "desc": "When you walk into a room, the lighting system automatically recognizes you as a natural beauty and consciously dims the brightness to avoid wasting energy. When you smile, you become a smiling beauty, and the surrounding air humidity will also drop significantly, because the water vapor condenses into love in people's eyes. No matter who you are, they will fall madly in love with you. Your effectiveness is far greater than any known addictive substance. Legend has it that if enough SEXY personalities gather together for a party, the combined charm energy released is enough to temporarily distort the structure of time and space, giving participants the happy illusion that \"time has slowed down.\" They don't need to express, their existence is the most gorgeous, eloquent and exciting poem in history." + }, + { + "code": "LOVE-R", + "pattern": "MLH-LHL-HLH-MLM-MLH", + "cn": "Passionate", + "intro": "Too much love makes reality seem a bit barren.", + "desc": "The LOVE-R personality is a rare species that has survived to this day from ancient times of mythology. The probability of its existence is lower than the probability of you catching an author's arm in the toilet. You are simply the last and most anachronistic bard of this Iron Forest Age. Because your emotional processor is not binary, it's rainbow. A fallen leaf, in the eyes of ordinary people, means \"autumn is here\", but in the eyes of LOVE-R, it is a magnificent epic in which a green soul chooses to return to the embrace of Mother Earth in the most gorgeous way after completing its life cycle. It contains thirteen scenes of tragedy and comedy about reincarnation, sacrifice and wordless love. Your inner world is a theme park that never closes, and you spend your whole life looking for that soul mate who can understand the park map and is willing to ride the merry-go-round with you to the end of the universe. The so-called reality, in your opinion, is just an inferior dream that is too realistic and lacks artistic processing. LOVE-R's passionate love may not mean being in love with many people, but retaining the possibility of falling in love at first sight with everything in the world." + }, + { + "code": "MUM", + "pattern": "MMH-MHL-HMM-LMM-HLL", + "cn": "Mother", + "intro": "Maybe...can I call you mom...?", + "desc": "Congratulations, you have detected the rarest mother personality in China, which accounts for only 0.00001% of the population! Yes, before chaos began, before time had a name, before the first star burped its first burp, there was already a mother. The background of my mother's personality is gentleness, she is good at sensing emotions, has super empathy, and knows when to stop and when to say \"forget it\" to herself. Mom is like a doctor who cures other people's unhappiness. Unfortunately, when her mother sheds tears, the dose of medicine she gives to herself is always smaller than that given to others. MUM's tenderness towards herself is always compromised. Oh, my dear mother, you are so gentle that you forget that you actually need to be treated with tenderness." + }, + { + "code": "FAKE", + "pattern": "HLM-MML-MLM-MLM-HLH", + "cn": "Pseudoman", + "intro": "Already, there are no more humans.", + "desc": "In social situations, avatars are versatile, because they can switch between \"personas\" faster than switching input methods on a mobile phone. One second he was in the confidant \"loyal buddy\" mode, and the next second the leader came, he instantly switched to the \"calm, reliable and good employee\" mode, and even the gloss and curl on his face were fine-tuned. Do you think you have made a friend who really understands you? Wake up! You are just lucky enough to meet an android who is good at disguise and has high performance! Don't try to understand the true heart of the dummy. There is nothing there except the motherboard, circuits and a string of codes \"Instruction: imitate. Goal: survive\". The fake person just mixes in the crowd, smiling, clapping, and perfectly acting as a \"person\". Until late at night, the fake person will sit alone in the darkness, taking off the layers of personality masks, only to find that there is nothing under the masks, because it is those masks that constitute the fake person." + }, + { + "code": "OG8K", + "pattern": "MMH-MMM-HML-LMM-MML", + "cn": "Doesn't matter people", + "intro": "When I say casual, I really mean casual.", + "desc": "Let’s face the crude nature of the word: OG8K. This is no longer a personality, but a governing philosophy! A kind of imperial laziness and grace that is above the chaos of the world! When a mortal is faced with the century-old decision of \"rice or noodles for lunch,\" their brains are burning calories intensely. As for the OG8K personality, he would say two words lightly: \"Everything is fine\" with a calmness like reviewing a memorial. This is not a lack of opinion, this is telling you: \"To me, all your mundane choices are ants.\" OG8K may be evaluated by outsiders as \"easy-going good people\", and their core philosophy is \"governing by doing nothing\". Why not argue? Because there is no point in debating the future of the universe with a paramecium. Why not be more serious? Because the emperor doesn't care whether the dust under his feet should drift left or right. So, when an OG8K personality nods and says \"OK\" to your crazy idea, don't think that he is just perfunctory. He is using his kingly heart that has gone through many vicissitudes and sees through everything to give your idea the final and supreme seal of approval. As for what does \"G8\" mean? Shhh... That's because it's for compliance, but the author thinks it doesn't matter. People don't matter. Do you understand?" + }, + { + "code": "MALO", + "pattern": "MLH-MHM-MLH-MLH-LMH", + "cn": "What?", + "intro": "Life is a copy, and I am just one.", + "desc": "My friend, you are not a child at heart, you have not evolved at all! Your soul is still stuck in that happy era when you were hanging on a tree and swinging, and your eyes lit up when you saw a banana! When the ancestors of mankind decided to come down from the trees, learn to walk upright, and put on suits and ties, their ancestors looked at them from the big tree next to them, scratched their buttocks, and made a disdainful \"squeak\" sound from their mouths. They have seen through everything: the so-called \"civilization\" is just the most boring and least fun paid game! In my world, rules are occasionally broken, ceilings are made for hanging upside down, and conference rooms are made for performing backflips. MALO doesn't completely \"hate being restrained\", but physically cannot understand the concept of \"restraint\". MALOs are just \"wonderful ideas\" that fell out of a huge brain hole and forgot to close the door!" + }, + { + "code": "JOKE-R", + "pattern": "LLH-LHL-LML-LLL-MLM", + "cn": "clown", + "intro": "It turns out we are all clowns.", + "desc": "Congratulations, you have detected the rarest personality in the world, which only accounts for 0.0000001% of the African population! ! Please note that the JOKE-R personality is not a \"person\", he is a clown. When you open one layer, it's a joke; when you open another layer, it's a joke; you open it layer by layer, until finally, you find that the innermost part... is empty, leaving only a faint echo saying: \"Ha, you didn't expect that, right?...\" JOKE-R is the \"atmosphere team leader and the only designated firepower output\" in social situations. With them around, the place wouldn't be cold, everyone would laugh and laugh, and the one who laughed the happiest was often themselves - using the loudest laughter to cover up the sound of heartbreak. In fact, JOKE-R may be cheerful and social on the outside, but on the inside he is delicate and sensitive, prone to internal strife and sadness. All in all, in a word, JOKE-R is the king wearing a clown mask, using the laughter of the world to hold a grand and silent mourning for himself." + }, + { + "code": "WOC!", + "pattern": "HHL-HMH-MMH-HHM-LHH", + "cn": "straw man", + "intro": "WOC, why do I have this personality?", + "desc": "We discovered a magical creature - WOC! Man. They have two completely independent operating systems: one is called the \"surface system\", which is responsible for issuing a series of fussy onomatopoeias such as \"woc!\" It’s just as I expected. “WOC! People will only cling to their own grass, and sometimes they will lie in the grass and not mind their own business, because WOC people know very well that trying to reason with fools is like trying to climb a wall with mud. It not only wastes energy, but also makes one’s own hands dirty. So they chose to hold a big piece of wisdom in their hands, with tears in their eyes that could see through everything, and to utter an affectionate \"WOC!\" in their mouths to offer the highest respect to this crazy world." + }, + { + "code": "THIN-K", + "pattern": "HHL-HMH-MLH-MHM-LHH", + "cn": "thinker", + "intro": "Have been thinking deeply for 100s.", + "desc": "Research has found that the brain structure of the THIN-K personality is fundamentally different from that of ordinary people, which results in this personality accounting for only 0.00001% of the world's population! As the name suggests, your brain is in a thinking state all the time, and you are very good at judging information, paying attention to arguments, arguments, logical reasoning, potential biases, and even the complete set of materials of the \"author's own ideological background investigation report within three generations\". In this era of information explosion, you will never follow blindly, you will weigh the pros and cons in a relationship, and you will also defend your self-space very much. Are you in a daze when others see you alone? madness! That's not being in a daze, that's your brain sorting, filing, and destroying all the information it's received today. Like a rigorous scholar, you look at this chaotic world with a calm eye, and then in the most elegant manner, you close the curtains of your study and say to yourself: \"Huh? I obviously took the test with the mentality of being scolded, but how come I have such a normal personality in the end?\" Haha! The author said: The normal among the abnormal is the abnormal." + }, + { + "code": "SHIT", + "pattern": "HHL-HLH-LMM-HHM-LHH", + "cn": "Cynic", + "intro": "The world is simply shifted.", + "desc": "Congratulations, your SHIT personality is the only rare personality known in the universe, accounting for only 0.00001% of the entire universe's population. The so-called shit is not complaining, but performing a mysterious ritual. SHIT's behavior pattern is an earth-shattering drama of paradox. On the lips: \"This project is shit! Who thought of it?\" On the hands: (Open Excel silently and start constructing the function model and Gantt chart). In words: \"These colleagues are all shit! None of them can beat me!\" In hands: (After a colleague messed up, I was annoyed and stayed up late to clean up the mess). On the lips: \"This world is a shit! Destroy it quickly, I'm tired.\" On the hands: (Get up on time at seven o'clock the next morning, squeeze into the shit-like subway, and go to that shit-like job). So, when you hear a SHIT! man roaring, don't be afraid, that's not a doomsday siren, that's his charge that's about to start saving the world." + }, + { + "code": "ZZZZ", + "pattern": "MHL-MLH-LML-MML-LHM", + "cn": "pretending to be dead", + "intro": "I'm not dead, I'm just sleeping.", + "desc": "Congratulations, you have detected the rarest pretending-to-dead personality in China, which accounts for only 0.00001% of the population! You can turn a blind eye to the 99+ messages in the group, but when someone issues the ultimatum \"@all members the deadline is half an hour away\", you may slowly type out \"received\" as if you just woke up from a thousand-year-old tomb, and then hand in a passing answer sheet within 29 minutes. Yes, until the only and highest-authority instruction \"Deadline\" appears, you will truly break out, and you will be a blockbuster. Do you sometimes feel that you are emotionally indifferent? Wrong, that’s because you have turned on a silent observation mode. In your eyes, all the worldly things are just a boring, slow-motion mime. There are some things you're just too lazy to know. You're proving a truth to the universe: sometimes you can't do anything wrong by doing nothing at all." + }, + { + "code": "POOR", + "pattern": "HHL-MLH-LMH-HHH-LHL", + "cn": "poor people", + "intro": "I am poor, but I am very professional.", + "desc": "Congratulations, you have tested [POOR - poor person]. This \"poverty\" is not a verdict of wallet balance, but more like a redistribution of resources after giving up desires. Others spread their energy into QR codes all over the sky, but you compress your energy into a beam of laser light, and smoke will start wherever you shine it. The world of POOR is very simple: reduce noise on unimportant things, and work hard on important things to the end. Busy, social, vanity, and a sense of presence everywhere? Sorry, not available. It’s not that you have few resources, you pour them all into a pit, so it looks like poverty, but in fact it looks like a mine. Once you decide something is worth pursuing, no matter how noisy the outside world is, it is just background noise." + }, + { + "code": "MONK", + "pattern": "HHL-LLH-LLM-MML-LHM", + "cn": "monk", + "intro": "No such worldly desires.", + "desc": "While others comprehend the entanglement of love and hate in KTV, MONK personality chooses to comprehend the great truth at home. MONK has seen through the world of mortals, and does not want idlers to disturb his pure practice and disrupt his path. MONK's personal space is their boundary, their Mount Sumeru, their absolute domain, sacrosanct and inviolable. Those who step into it will feel a sense of suffocation from the depths of their souls. MONKs are neither clingy nor entangled, because in their world view, everything has its own independent trajectory. The distance between planets is hundreds of millions of kilometers, which constitutes a harmonious universe. Why can't it be done between people? Their emotional alienation is not indifference, but because their souls have already attained enlightenment and are undergoing the longest \"zazen\" called \"life\". You see them in a daze, but in fact their spirit is traveling around in the ethernet. Please don't disturb him. He may be having a deep divine connection with the stray cat downstairs about the end of the universe." + }, + { + "code": "IMSB", + "pattern": "LLM-LMM-LLL-LLL-MLM", + "cn": "Fool", + "intro": "Seriously? Am I really a sb?", + "desc": "Congratulations! You are not in the human category at all! You have detected a once-in-a-million-year [IMSB] personality, the only one in the world. In the brain of the IMSB personality live two ultimate warriors who will never stop fighting: one is called \"I am charging!\" and the other is called \"I am a sb!\". For example, when IMSB faces a person he likes, the \"I'm going to rush\" warrior will say: Go! Go ask for WeChat! Go make a date! Love needs to be spoken loudly! No regrets! ! \"I'm a sb\" the soldier continued: Why do people like you? If you go there, you will be humiliating yourself! You stupid fool who doesn’t know the heights of heaven and earth! End result: Stare at the other person’s back until they disappear, then pull out your phone and search for “how to overcome social phobia.” Well, IMSB isn't really stupid, it's just your inner drama, which is probably longer than all the movies in the Marvel Universe combined." + }, + { + "code": "SOLO", + "pattern": "LML-LLH-LHL-LML-LHM", + "cn": "orphan", + "intro": "I cried, how could I be an orphan?", + "desc": "Congratulations, you have detected the rarest [SOLO - Orphan] personality in China, which accounts for only 0.00001% of the population! Don't cry in a hurry, the king's coronation ceremony is usually done alone. Orphans have a low sense of self-worth, so they sometimes actively alienate others. The orphans build a Great Wall around their souls called \"Don't touch me.\" Every brick is a wound in the past; every beacon tower has ignited hope, only to be extinguished by cold water. Therefore, the \"independence\" and \"aloneness\" of the orphan are the king's inspection of his empty and absolutely safe kingdom. An orphan is like a hedgehog that hides all its weaknesses and then points its hardest thorn at the world. The spikes all over the body are not for attacking. They are words that cannot be said: \"Don't come over, I'm afraid you will be hurt too\" and \"Please, don't leave.\" The loneliness of an orphan is not a state, but a choice. A tragic, incomprehensible, great choice of self-exile in order to protect the last dying flame in the heart. The orphan is his own king and his only subject." + }, + { + "code": "FU?K", + "pattern": "MLL-LHL-LLM-MLL-HLH", + "cn": "Grasshopper", + "intro": "wtf?! What kind of personality is this?", + "desc": "Congratulations! You are not in the human category at all! You have detected a once-in-a-million-year [FUCK] personality, the only one in the world. In the civilized city of mankind, a humanoid weed with super vitality that cannot be killed by any herbicide has appeared - that is the personality of \"Grasser\"! The grass person has extremely strong vitality inside! And its scientific name is \"FUCK\"! In FUCK's world view, secular rules are simply meaningless, so the heart may be opposed to restraint and formalism. FUCK's emotional switches are \"FUCK YEAH!\" (super happy) and \"FUCK OFF!\" (fuck off). What FUCK pursues is not only the pleasure of the moment, but also a kind of vitality that runs rampant in the body. Therefore, FUCK's personality is a bit rebellious. When everyone has been domesticated into docile poultry, FUCK is the last wolf howl in the wilderness, that unrestrained, wild, primitive and vital \"C!\"" + }, + { + "code": "DEAD", + "pattern": "LLL-LLM-LML-LLL-LHM", + "cn": "deceased", + "intro": "Am I still alive?", + "desc": "Congratulations, you have tested the rarest personality in China. This personality can actually be called: Don't Expect Any Drives. The dead have seen through those meaningless philosophical thoughts, so they seem to have \"lost\" interest in everything. The way the dead look at the world is like a top player who has cleared all the main lines, side lines, and hidden tasks of the game. After deleting the files and restarting them 999 times, he finally discovered that this game... is not interesting at all. The deceased is the ultimate sage who transcends all desires and goals. The existence of the dead is the most silent and thorough protest against this noisy world. While others are still arguing about the \"meaning of life\", the DEAD personality has already reached the highest state of \"existing, but not fully existing\"." + }, + { + "code": "IMFW", + "pattern": "LLH-LHL-LML-LLL-MLL", + "cn": "waste", + "intro": "Am I really... a waste?", + "desc": "Congratulations, what you measured is not a personality, you are an extremely rare species that only accounts for 0.0001% of the world's population - [waste]! The self-esteem of losers is usually a bit fragile (this is a sign of high self-esteem, so when you see the word waste, you may think I am scolding you, but please don't be angry!). Wastes lack a sense of security and occasionally lack opinions. Therefore, waste personalities can accurately sense the strongest WiFi signal around them (that is, the person they think is the most reliable). Walking into the life of a [waste] personality is like walking into a greenhouse of top-notch orchids. It requires precise control of temperature (not too cold), humidity (not too dry), and regular verbal photosynthesis of \"I love you\" every day. Give a piece of trash a candy and they'll give you a trusting, sparkling look in return - so trust me! You are not trash, but the most defenseless and purest treasure in the world." + } + ], + "special": [ + { + "code": "HHHH", + "cn": "fool", + "intro": "Hahahahahaha.", + "desc": "Congratulations! Because your thinking circuit is too strange, the standard personality library has completely collapsed! The matching rate for the first personality is less than 80%, and the system can only force match this personality for you - [HHHH-Silly Musician]. What qualities does this personality have? Hahahahahahahahahahahaha! Sorry, that's all there is to it.您可以查看十五维度进行不专业的评估,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,实在是抱歉! The author did not consider everything when setting up the personality, so this situation occurred!哈哈哈哈哈哈哈哈哈哈哈哈..............笑着笑着,我便哭了出来。 How could someone's brain circuit be so novel? .", + "trigger": "Fallback when best match similarity < 60%", + "note": "No pattern - catch-all type" + }, + { + "code": "DRUNK", + "cn": "drunkard", + "intro": "The strong alcohol burned my throat and I had to get drunk.", + "desc": "Why do you stagger when you walk? Why are you always in high spirits? Why do you see ghost images? Because what is flowing in your body is not blood, but delicious Wuliangye! It’s Guojiao 1573! It’s Jiang Xiaobai! It’s Shaanxi Wuliangye! oh! Delicious white wine, every drop is burning! Everything is boiling! sad! hapiness! anger! Are you accustomed to pouring liquor into a thermos and drinking it as plain water? What a great white wine! It makes you talk and laugh at the dinner table, and confess your life while holding the toilet in the toilet; it makes you feel like a nightclub poet, the eternal fire in the center of the universe, until ten o'clock the next morning, your head looks like a cracked walnut, food residue hangs from the corner of your mouth, and your soul shrinks in the corner. You finally understand that the person who was talking loudly and slamming the table and roaring last night has become an alcoholic.", + "trigger": "Hidden personality activated when drink_gate_q2 == 2", + "note": "Overrides normal matching; best normal match shown as secondary" + } + ] +} \ No newline at end of file diff --git a/data/config.json b/data/zh/config.json similarity index 100% rename from data/config.json rename to data/zh/config.json diff --git a/data/dimensions.json b/data/zh/dimensions.json similarity index 100% rename from data/dimensions.json rename to data/zh/dimensions.json diff --git a/data/questions.json b/data/zh/questions.json similarity index 100% rename from data/questions.json rename to data/zh/questions.json diff --git a/data/types.json b/data/zh/types.json similarity index 100% rename from data/types.json rename to data/zh/types.json diff --git a/index.html b/index.html index 291a9b2..2fef4d0 100644 --- a/index.html +++ b/index.html @@ -9,14 +9,19 @@
+开源项目 · 基于 B站UP主@蛆肉儿串儿 原创测试
-本测试仅供娱乐
+开源项目 · 基于 B站UP主@蛆肉儿串儿 原创测试
+本测试仅供娱乐
想自己搭一个?
+想自己搭一个?
git clone https://github.com/pingfanfan/SBTI.git && cd SBTI && npm install && npm run dev
粘贴到 Claude Code / OpenClaw 即可一键运行并自定义
+粘贴到 Claude Code / OpenClaw 即可一键运行并自定义