Skip to content

Commit

Permalink
Luliya (#64040)
Browse files Browse the repository at this point in the history
Co-authored-by: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com>
  • Loading branch information
LyleSY and MNG-cataclysm authored Apr 17, 2023
1 parent 642b38f commit 5c8d9ab
Show file tree
Hide file tree
Showing 7 changed files with 344 additions and 6 deletions.
26 changes: 26 additions & 0 deletions data/json/items/tool/musical_instruments.json
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,32 @@
]
}
},
{
"id": "krar_golden",
"type": "TOOL",
"category": "tools",
"name": { "str": "golden krar" },
"description": "A shiny golden krar, similar to a harp.",
"weight": "13000 g",
"volume": "2500 ml",
"longest_side": "60 cm",
"price": 1000000,
"price_postapoc": 1000,
"to_hit": { "grip": "solid", "length": "short", "surface": "any", "balance": "clumsy" },
"bashing": 9,
"material": [ "gold" ],
"symbol": "}",
"color": "yellow",
"use_action": {
"type": "musical_instrument",
"volume": 25,
"fun": 1,
"fun_bonus": 4,
"speed_penalty": 25,
"description_frequency": 10,
"player_descriptions": [ "You play a relaxed, folksy tune on your krar." ]
}
},
{
"type": "TOOL_ARMOR",
"id": "harmonica_holder",
Expand Down
11 changes: 6 additions & 5 deletions data/json/mapgen/exodii/exodii_base.json
Original file line number Diff line number Diff line change
Expand Up @@ -433,11 +433,11 @@
"..............||_|.[[.................[[.......]_T|Ṫ_____///____________C|||..........|[[.......",
".............||<_].[[................[[....l...|]]|Ṫ__////_______________M_M[[[[[[[[[[[[[.......",
".............]___||[[...............[[...jlj......|ϟ///__////L__Ṫ________M_M[[[[[[[[[[[[[.......",
"............||____M[[[[[[[[[[[[[...[[...j¤¤¤¤j....|Ṫ__/////__Ṫ__Ṫ__Ṫ__Ṫ__|||..........|[[.......",
"............]_s__C|..........[[[[[[[[...j¤jn¤jn...|Ṫ_________Ṫ__Ṫ__Ṫ__Ṫ__|.............[[.......",
"............]____C|..........[[|MM|[[[[jj¤jl¤jj...|Ṫ_____________________|.............[[.......",
"............|_s___[..........[||__|..[[jj¤¤¤¤j....|Ṫ_________Ṫ__Ṫ__Ṫ__Ṫ__|.........[[[[[........",
"............]_____[..........[]TT||.nj[[jjnjjj....|Ṫ_________Ṫ__Ṫ__Ṫ__Ṫ__|.....[[[[[[[[[........",
"............||____M[[[[[[[[[[[[[...[[...j¤¤¤¤j....|Ṫ__ÿ __Ṫ__Ṫ__Ṫ__Ṫ__|||..........|[[.......",
"............]_s__C|..........[[[[[[[[...j¤jn¤jn...|Ṫ__ __Ṫ__Ṫ__Ṫ__Ṫ__|.............[[.......",
"............]____C|..........[[|MM|[[[[jj¤jl¤jj...|Ṫ__ ______________|.............[[.......",
"............|_s___[..........[||__|..[[jj¤¤¤¤j....|Ṫ__ __Ṫ__Ṫ__Ṫ__Ṫ__|.........[[[[[........",
"............]_____[..........[]TT||.nj[[jjnjjj....|Ṫ__ __Ṫ__Ṫ__Ṫ__Ṫ__|.....[[[[[[[[[........",
"............]_s___[..........[]]]|..jjj[l.jjkj....|Ṫ_____________________|....[[[||||...........",
"............|]]|T_|..........[.....jjlj[[...j.....|Ṫ_________Ṫ__Ṫ__Ṫ__Ṫ__|....[|M|_s]...........",
"...............|]]|.........[[....ljkj..[[........|Ṫ_________Ṫ__Ṫ__Ṫ__Ṫ__|...[[M____]...........",
Expand Down Expand Up @@ -500,6 +500,7 @@
{ "id": "exodii", "x": [ 72, 95 ], "y": [ 48, 71 ] },
{ "id": "exodii", "x": [ 72, 95 ], "y": [ 72, 95 ] }
],
"nested": { "ÿ": { "chunks": [ "luliya_base" ] } },
"terrain": {
" ": "t_rock_floor_no_roof",
";": "t_metal_floor_no_roof",
Expand Down
24 changes: 24 additions & 0 deletions data/json/mapgen/exodii/exodii_nested.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,29 @@
"L": { "terrain": "t_metal_floor", "furniture": "f_exodii_lamp" }
}
}
},
{
"type": "mapgen",
"method": "json",
"nested_mapgen_id": "luliya_base",
"//": "Luliya's area in the exodii main base",
"object": {
"mapgensize": [ 5, 5 ],
"rows": [
"T_1__",
"1___c",
"L____",
"_____",
"_____"
],
"place_npcs": [ { "class": "exodii_materials", "x": 2, "y": 1 } ],
"terrain": { "_": "t_metal_floor", "|": "t_junk_wall", "T": "t_metal_floor" },
"item": { "T": { "item": "broken_exodii_quad" } },
"mapping": {
"1": { "terrain": "t_metal_floor", "furniture": "f_locker" },
"c": { "terrain": "t_metal_floor", "furniture": "f_metal_table" },
"L": { "terrain": "t_metal_floor", "furniture": "f_exodii_lamp" }
}
}
}
]
29 changes: 29 additions & 0 deletions data/json/mutations/cybernetic_traits.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,34 @@
}
],
"weight_capacity_modifier": 3
},
{
"type": "mutation",
"id": "EXODII_BODY_2",
"flags": [ "Exodii_Body" ],
"name": { "str": "Exodii cyborg framework - style 2a" },
"points": 0,
"visibility": 4,
"ugliness": 2,
"mixed_effect": true,
"description": "Your brain and some of your organs are shielded in a shiny gold bipedal walker frame.",
"valid": false,
"purifiable": false,
"types": [ "Cyberframe", "Cybernetic" ],
"passive_mods": { "str_mod": 4, "dex_mod": 4 },
"hp_adjustment": 10,
"restricts_gear": [ "torso", "leg_l", "leg_r", "arm_l", "arm_r", "hand_l", "hand_r", "head", "foot_l", "foot_r" ],
"armor": [
{
"parts": [ "torso", "head", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r", "mouth" ],
"cut": 15,
"bash": 15,
"stab": 15,
"bullet": 10,
"acid": 25,
"electric": 0
}
],
"weight_capacity_modifier": 3
}
]
2 changes: 1 addition & 1 deletion data/json/mutations/mutation_ordering.json
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@
{ "id": [ "FANGS", "MANDIBLES", "SABER_TEETH" ], "order": 7500 },
{ "id": [ "FORKED_TONGUE" ], "order": 8000 },
{ "id": [ "PROF_FED", "PROF_PD_DET", "PROF_POLICE", "PROF_SWAT", "PHEROMONE_INSECT" ], "order": 8500 },
{ "id": [ "EXODII_BODY_1" ], "order": 10000 }
{ "id": [ "EXODII_BODY_1", "EXODII_BODY_2" ], "order": 10000 }
]
}
]
243 changes: 243 additions & 0 deletions data/json/npcs/exodii/exodii_Luliya.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,243 @@
[
{
"type": "npc",
"id": "exodii_materials",
"//": "Materials manager and music fan from another Ethiopia.",
"name_suffix": "Cyborg",
"class": "NC_EXODII_TYPE_2_Materials",
"name_unique": "Luliya",
"attitude": 0,
"mission": 7,
"chat": "TALK_LULIYA",
"faction": "exodii"
},
{
"type": "npc_class",
"id": "NC_EXODII_TYPE_2_Materials",
"name": { "str": "Cyborg, type 2" },
"job_description": "I'm a cyborg.",
"traits": [
{ "trait": "EXODII_BODY_2" },
{ "trait": "IGNORE_SOUND" },
{ "trait": "NO_BASH" },
{ "trait": "RETURN_TO_START_POS" }
],
"common": false,
"bonus_str": { "rng": [ 0, 6 ] },
"bonus_dex": { "rng": [ 0, 6 ] },
"bonus_int": { "rng": [ 0, 2 ] },
"bonus_per": { "rng": [ 0, 4 ] },
"carry_override": "NC_EXODII_TYPE_2_carried",
"worn_override": "EMPTY_GROUP",
"skills": [
{
"skill": "ALL",
"level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": 0 }, { "one_in": 4 } ] } ] }
},
{ "skill": "mechanics", "bonus": { "one_in": 2 } },
{ "skill": "electronics", "bonus": { "rng": [ 0, 2 ] } },
{ "skill": "firstaid", "bonus": { "rng": [ 7, 10 ] } },
{ "skill": "gun", "bonus": { "rng": [ 2, 4 ] } },
{ "skill": "rifle", "bonus": { "rng": [ 2, 4 ] } },
{ "skill": "unarmed", "bonus": { "rng": [ 2, 4 ] } },
{ "skill": "speech", "bonus": { "rng": [ 5, 8 ] } }
]
},
{
"type": "item_group",
"id": "NC_EXODII_TYPE_2_carried",
"//": "Golden krar for Luliya.",
"items": [ { "item": "krar_golden" } ]
},
{
"type": "talk_topic",
"id": "TALK_LULIYA",
"dynamic_line": {
"u_has_var": "u_met_luliya",
"type": "general",
"context": "meeting",
"value": "yes",
"yes": [ "Inikwani dehina metahi tegwazhi." ],
"no": "[You see a tall golden figure with female features. Strapped to the back of the head with copper wire is a glass cylinder containing long frizzy black hair. The body stands still and emits an unpleasant beeping sound. On the back there is a large red button with strange markings. There is a golden harp of some kind.]"
},
"responses": [
{
"text": "[PUSH THE BIG RED BUTTON]",
"condition": { "not": { "u_has_var": "u_met_luliya", "type": "general", "context": "meeting", "value": "yes" } },
"topic": "TALK_LULIYA_BUTTON"
},
{
"text": "[HAS STETHOSCOPE] Is this alive? [CHECK FOR A PULSE]",
"condition": {
"and": [
{ "not": { "u_has_var": "u_met_luliya", "type": "general", "context": "meeting", "value": "yes" } },
{ "u_has_item": "stethoscope" }
]
},
"topic": "TALK_LULIYA_PULSE"
},
{
"text": "[DO NOTHING]",
"condition": { "not": { "u_has_var": "u_met_luliya", "type": "general", "context": "meeting", "value": "yes" } },
"topic": "TALK_DONE"
},
{
"text": "Do you speak English? [slowly and loudly] ENGLISH?",
"topic": "TALK_LULIYA_ENGLISH",
"condition": {
"and": [
{ "u_has_var": "u_met_luliya", "type": "general", "context": "meeting", "value": "yes" },
{
"not": { "u_has_var": "u_asked_luliya_english", "type": "general", "context": "meeting", "value": "yes" }
}
]
}
},
{
"text": "[You point to your chest] <u_name>. [You point at the golden figure] What is your name?",
"topic": "TALK_LULIYA_NAME",
"condition": {
"and": [
{ "u_has_var": "u_met_luliya", "type": "general", "context": "meeting", "value": "yes" },
{ "not": { "u_has_var": "u_luliya_name", "type": "general", "context": "meeting", "value": "yes" } }
]
}
},
{
"text": "I heard you playing that. [You point at the golden harp she holds] La la la. Do you like music Luliya?",
"condition": {
"and": [
{ "u_has_var": "u_luliya_name", "type": "general", "context": "meeting", "value": "yes" },
{
"u_compare_time_since_var": "u_met_luliya",
"type": "test",
"context": "var_time_test",
"op": ">",
"time": "3 days"
}
]
},
"topic": "TALK_LULIYA_MUSIC"
},
{
"text": "I can't understand you.",
"condition": { "u_has_var": "u_met_luliya", "type": "general", "context": "meeting", "value": "yes" },
"topic": "TALK_DONE"
}
]
},
{
"type": "talk_topic",
"id": "TALK_LULIYA_BUTTON",
"dynamic_line": "[You hear a loud static discharge, a rough mechanical chugging sound, and then high-pitched shrieking with strange distortions and modulations in the sound. The golden figure shudders, arms flailing] ቆዳዬ! ቆዳዬ በእሳት ላይ ነው! እየሞትኩ ነው!",
"speaker_effect": { "effect": { "u_add_var": "u_met_luliya", "type": "general", "context": "meeting", "value": "yes" } },
"responses": [
{ "text": "Hello. Are you all right? I just hit the button on your back.", "topic": "TALK_LULIYA" },
{ "text": "I'm not understanding that. Can you try again?", "topic": "TALK_LULIYA" },
{
"text": "Speak English ya <swear> robot. We don't take kindly to that kind of thing here. [You frown menacingly]",
"topic": "TALK_LULIYA"
},
{ "text": "State your name and function machine.", "topic": "TALK_LULIYA" },
{
"text": "[INT 18] Huh. That sounds a little familiar, a little like Arabic. Earabiun? [slowly and clearly] EARABIUN?",
"topic": "TALK_LULIYA_ARABIC",
"condition": { "u_has_intelligence": 18 }
},
{ "text": "No, I'm done with this.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_LULIYA_PULSE",
"dynamic_line": "[You press your stethoscope to the chest of the figure and hear a clear strong heartbeat and a strange whirring sound like clockwork].",
"responses": [
{ "text": "So she's alive then.", "topic": "TALK_LULIYA" },
{ "text": "Probably fine then. Anyway, I need to move along.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_LULIYA_ENGLISH",
"dynamic_line": "[A long pause, then she shakes her head] Inigilizinya yelemi. No.",
"speaker_effect": { "effect": { "u_add_var": "u_not_english_luliya", "type": "general", "context": "language", "value": "yes" } },
"responses": [
{ "text": "All right then. You seem to understand what I mean. And the word no.", "topic": "TALK_LULIYA" },
{ "text": "Fine. Anyway, I need to move along.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_LULIYA_NAME",
"dynamic_line": "[A long pause. You can't see her eyes but it seems like she is studying your face.] Sime Luliya ibalalehu. [She points to her own chest.] Luliya. [She points to your chest.] <u_name>. Siletewawekini desi bilonyali, <u_name>. [She strums a pleasant melody on her krar.]",
"speaker_effect": { "effect": { "u_add_var": "u_luliya_name", "type": "general", "context": "name", "value": "yes" } },
"responses": [ { "text": "We're getting somewhere. Pleased to meet you Luliya.", "topic": "TALK_DONE" } ]
},
{
"type": "talk_topic",
"id": "TALK_LULIYA_ARABIC",
"dynamic_line": "[A long pause, then she shakes her head] Ayi arebinya alinagerimi.",
"speaker_effect": { "effect": { "u_add_var": "u_not_arabic_luliya", "type": "general", "context": "language", "value": "yes" } },
"responses": [
{ "text": "All right then. It seems like you do kind of understand it though.", "topic": "TALK_LULIYA" },
{ "text": "Fine. Anyway, I need to move along.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_LULIYA_MUSIC",
"dynamic_line": "[She nods enthusiastically and strums a few notes on her krar.] Awo muzika iwedalehu.",
"responses": [
{
"text": "[HAS GUITAR] I happen to have a nice guitar, want to play with me?",
"topic": "TALK_LULIYA_MUSIC2",
"condition": { "u_has_item": "guitar" }
},
{
"text": "[HAS TRUMPET] I happen to have a nice trumpet, want to play with me?",
"topic": "TALK_LULIYA_MUSIC2",
"condition": { "u_has_item": "trumpet" }
},
{
"text": "[HAS SAXOPHONE] I happen to have a nice saxophone, want to play with me?",
"topic": "TALK_LULIYA_MUSIC2",
"condition": { "u_has_item": "saxophone" }
},
{
"text": "[HAS VIOLIN] I happen to have a nice violin, want to play with me?",
"topic": "TALK_LULIYA_MUSIC2",
"condition": { "u_has_item": "violin" }
},
{
"text": "[HAS HARMONICA] I happen to have a nice harmonica, want to play with me?",
"topic": "TALK_LULIYA_MUSIC2",
"condition": { "u_has_item": "harmonica" }
},
{
"text": "[HAS COWBELL] I happen to have a nice cowbell, want to play with me?",
"topic": "TALK_LULIYA_MUSIC2",
"condition": { "u_has_item": "cowbell" }
},
{
"text": "Huh, you know music, good to know. I'll try and find something to play and come back.",
"topic": "TALK_DONE"
}
]
},
{
"type": "talk_topic",
"id": "TALK_LULIYA_MUSIC2",
"dynamic_line": "[You perform on your musical instrument with everything you have, giving a strong performance. Luliya sways and begins to play her instrument and sing along. The music and her voice are beautiful, she sounds like she has had some formal musical training.]",
"speaker_effect": {
"effect": [
{ "u_add_var": "u_jammed_luliya", "type": "general", "context": "music", "value": "yes" },
{ "u_add_morale": "morale_music", "bonus": 5, "max_bonus": 10 },
{ "u_make_sound": "music", "type": "music", "volume": 10 }
]
},
"responses": [
{ "text": "Fun, thank you for playing with me Luliya.", "topic": "TALK_LULIYA" },
{ "text": "Fun, thank you. Anyway I have to go.", "topic": "TALK_DONE" }
]
}
]
Loading

0 comments on commit 5c8d9ab

Please sign in to comment.