Skip to content

Commit

Permalink
[DinoMod] DinoLab and dino armor (#49585)
Browse files Browse the repository at this point in the history
  • Loading branch information
LyleSY authored Jul 26, 2021
1 parent fb83100 commit e5f6a65
Show file tree
Hide file tree
Showing 14 changed files with 1,898 additions and 24 deletions.
203 changes: 203 additions & 0 deletions data/mods/DinoMod/NPC/NC_Yoshimi.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
[
{
"type": "npc",
"id": "yoshimi",
"name_unique": "Yoshimi",
"name_suffix": "DinoLab survivor",
"class": "dm_dinolab_survivor",
"attitude": 0,
"mission": 7,
"chat": "TALK_Yoshimi_1",
"faction": "no_faction",
"mission_offered": "MISSION_DinoLab_Yos_1"
},
{
"type": "npc_class",
"id": "dm_dinolab_survivor",
"name": "DinoLab survivor",
"job_description": "Need to learn what happened…",
"common": false,
"worn_override": "NC_SCIENTIST_coat",
"carry_override": "NC_DOCTOR_misc",
"weapon_override": "EMPTY_GROUP",
"traits": [
[ "PRETTY", 100 ],
[ "ANIMALEMPATH2", 100 ],
[ "QUICK", 100 ],
[ "LIZ_EYE", 100 ],
[ "SCALES", 100 ],
[ "NAILS", 100 ],
[ "RAP_TALONS", 100 ],
[ "THRESH_RAPTOR", 100 ],
[ "ARM_FEATHERS", 100 ]
],
"skills": [
{ "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": -4 } ] } ] } },
{ "skill": "firstaid", "bonus": { "rng": [ 4, 8 ] } }
]
},
{
"type": "effect_type",
"id": "u_met_yoshimi"
},
{
"type": "talk_topic",
"id": "TALK_Yoshimi_1",
"dynamic_line": {
"u_has_var": "u_met_yoshimi",
"type": "general",
"context": "meeting",
"value": "yes",
"yes": [
"How can I help you, survivor?",
"Seen any interesting specimens? I mean dinosaurs.",
"I was just imagining you transforming into a tyrannosaurus rex. Of course that's impossible. Unless…",
"Let's do some science."
],
"no": "Please leave me be, I am but a humble muck farmer in this humble muck."
},
"responses": [
{
"text": "You are dressed like a scientist. Are you a scientist? You look like a dinosaur. Are you a dinosaur? Are you a scientist dinosaur?",
"effect": { "u_add_var": "u_met_yoshimi", "type": "general", "context": "meeting", "value": "yes" },
"condition": { "not": { "u_has_var": "u_met_yoshimi", "type": "general", "context": "meeting", "value": "yes" } },
"topic": "TALK_yoshimi_firstmeet"
},
{
"text": "Die demon mutant!",
"effect": [ { "u_add_var": "u_met_yoshimi", "type": "general", "context": "meeting", "value": "yes" }, "insult_combat" ],
"condition": { "not": { "u_has_var": "u_met_yoshimi", "type": "general", "context": "meeting", "value": "yes" } },
"topic": "TALK_DONE"
},
{
"text": "How did you get here?",
"condition": { "and": [ { "u_has_var": "Yos_chemistry", "type": "mission", "context": "flag", "value": "yes" } ] },
"topic": "TALK_yoshimi_ask_past"
},
{
"text": "How are things here?",
"condition": { "and": [ { "u_has_var": "u_met_yoshimi", "type": "general", "context": "meeting", "value": "yes" } ] },
"topic": "TALK_yoshimi_ask_mood"
},
{
"text": "You look like you need help. Can I do something for you?",
"condition": { "and": [ { "u_has_var": "u_met_yoshimi", "type": "general", "context": "meeting", "value": "yes" } ] },
"topic": "TALK_MISSION_LIST"
},
{ "text": "Goodbye.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_yoshimi_firstmeet",
"dynamic_line": "You have seen through my ruse. In retrospect I should have prepared a costume of some kind. Unimportant! You haven't attacked me or tried to seduce me so you aren't like the others. Had any bad headaches recently, strange mood swings, strong urges, desire for human flesh?",
"responses": [
{ "text": "Only the usual. What are you really?", "topic": "TALK_yoshimi_what" },
{ "text": "You are aware of the Cataclysm then?", "topic": "TALK_yoshimi_cataclysm" },
{ "text": "I'd rather not say at this point.", "topic": "TALK_Yoshimi_1" }
]
},
{
"type": "talk_topic",
"id": "TALK_yoshimi_what",
"dynamic_line": "I am a hard working professional in a challenging field adjusting to a recent change in circumstances. That is all you need to know.",
"responses": [ { "text": "Fair enough.", "topic": "TALK_Yoshimi_1" } ]
},
{
"type": "talk_topic",
"id": "TALK_yoshimi_ask_past",
"dynamic_line": "My manager Dr. Tingle made some important mistakes and I have had to make some quick decisions I would rather not go into detail on. In retrospect our faculties may have been influenced by external factors. Suffice to say Dr. Tingle is no longer with us but died happy. And I escaped alive.",
"responses": [ { "text": "Let's talk about something else.", "topic": "TALK_Yoshimi_1" } ]
},
{
"type": "talk_topic",
"id": "TALK_yoshimi_cataclysm",
"dynamic_line": "Look at me. Yes, I am aware. The question is what happens next.",
"responses": [ { "text": "Yes. Let's talk about something else.", "topic": "TALK_Yoshimi_1" } ]
},
{
"type": "talk_topic",
"id": "TALK_yoshimi_ask_mood",
"dynamic_line": "I just got here, actually; I've recently found it wise to move a lot. There may be some interesting specimens nearby. I mean dinosaurs.",
"responses": [ { "text": "Interesting.", "topic": "TALK_Yoshimi_1" } ]
},
{
"id": "MISSION_DinoLab_Yos_1",
"type": "mission_definition",
"name": { "str": "First we need some supplies" },
"goal": "MGOAL_FIND_ITEM",
"difficulty": 2,
"value": 1000,
"item": "chemistry_set",
"start": {
"assign_mission_target": { "om_terrain": "microlab_DinoLab_surface", "reveal_radius": 1, "random": true, "search_range": 200 },
"update_mapgen": [
{
"om_terrain": "microlab_DinoLab_surface",
"place_item": [ { "item": "chemistry_set", "x": 12, "y": 12 } ],
"place_monster": [ { "group": "GROUP_DINOSAUR_ZOMBIE", "x": 12, "y": 12 } ]
}
],
"effect": { "u_add_var": "Yos_chemistry", "type": "mission", "context": "flag", "value": "in_progress" }
},
"end": {
"effect": [
{ "u_add_var": "Yos_chemistry", "type": "mission", "context": "flag", "value": "yes" },
{ "u_adjust_var": "DinoLab_power", "type": "counter", "context": "DinoLab", "adjustment": 2 }
]
},
"origins": [ "ORIGIN_SECONDARY" ],
"followup": "MISSION_DinoLab_Yos_2",
"dialogue": {
"describe": "I think I might know where a decent chemistry set is…",
"offer": "I need a full chemistry set to do my work properly. I could use some help.",
"accepted": "So much to do.",
"rejected": "Fine, you'll probably be dead soon anyway.",
"advice": "It might be too dangerous now, any working full chemistry set is fine. There is a good chance something got out.",
"inquire": "Do you have the set yet?",
"success": "Let's get started.",
"success_lie": "Very convincing. I do need an actual chemistry set to work though.",
"failure": "It's fine, I'll make something work."
}
},
{
"id": "MISSION_DinoLab_Yos_2",
"type": "mission_definition",
"name": { "str": "Kiernan consult" },
"goal": "MGOAL_FIND_ITEM",
"difficulty": 2,
"value": 1000,
"item": "kiernans_notes",
"start": {
"assign_mission_target": { "om_terrain": "dinoexhibit", "reveal_radius": 1, "random": true, "search_range": 120 },
"update_mapgen": [
{
"om_terrain": "dinoexhibit",
"place_item": [ { "item": "kiernans_notes", "x": 20, "y": 9 }, { "item": "portal", "x": 20, "y": 9 } ],
"place_monster": [
{ "monster": "mon_zombie_scientist", "name": "Kiernan", "x": 20, "y": 9 },
{ "monster": "mon_zeinonychus_bio_op", "x": 21, "y": 9 }
]
}
]
},
"end": {
"effect": [
{ "u_buy_item": "kiernans_notes" },
{ "u_adjust_var": "DinoLab_power", "type": "counter", "context": "DinoLab", "adjustment": 2 }
]
},
"origins": [ "ORIGIN_SECONDARY" ],
"dialogue": {
"describe": "I need some expert advice…",
"offer": "I don't have access to my old lab's procedural documents here. Find Dr. Kiernan and get some notes on the basics. I can work from there.",
"accepted": "So much to do.",
"rejected": "Ugh.",
"advice": "Kiernan is probably still at the old field office. It should be fine as long as the emergency power is still working. You may have to do some kind of stupid task before Kiernan talks. Try not to get violent. If Kiernan is dead try and find some notes or books.",
"inquire": "Do you have the information yet?",
"success": "Let's get started. Oh, I'll make you a copy just in case.",
"success_lie": "Very convincing. I do need the information to work though.",
"failure": "It's fine, I'll make something work."
}
}
]
3 changes: 2 additions & 1 deletion data/mods/DinoMod/hints.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
"I know there aren't alligators in the sewer, but I heard there was some kind of big lizard down there. Probably not a good idea to check.",
"Some of those big dinosaurs seem halfway all right. I bet if you fed them something nice and gave them a pet you could ride them like a pony. Or maybe they'd eat you instead.",
"I saw something with a large fin in the water. It was the size of a whale and gave me a menacing feeling. I'm gonna think twice before going back there.",
"One time I found a strange egg out in the woods. It was probably a dinosaur, but I cooked it and it was pretty good!"
"One time I found a strange egg out in the woods. It was probably a dinosaur, but I cooked it and it was pretty good!",
"I got a bunch of these big lizards to follow me around and it was great and then they smashed up the place I was staying and then a bunch of other places I wanted to set up camp in. Maybe I should have tied them down?"
]
}
]
File renamed without changes.
File renamed without changes.
File renamed without changes.
142 changes: 142 additions & 0 deletions data/mods/DinoMod/items/pets_elephant_armor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
[
{
"abstract": "elephant_armor",
"type": "PET_ARMOR",
"name": { "str": "elephant armor" },
"symbol": "[",
"min_pet_vol": "380 L",
"max_pet_vol": "1000 L",
"pet_bodytype": "elephant",
"flags": [ "IS_PET_ARMOR" ]
},
{
"type": "PET_ARMOR",
"id": "kevlar_armor_elephant",
"copy-from": "elephant_armor",
"color": "yellow",
"name": { "str": "Kevlar-lined elephant-sized peto" },
"description": "A heavy mattress-like armor of cloth, leather, and thick linings of Kevlar, originally used as horse protection for bullfighting. You could put this on a friendly elephant.",
"price": 50000,
"price_postapoc": 5000,
"material": [ "cotton", "leather", "kevlar" ],
"weight": "30 kg",
"volume": "150 L",
"material_thickness": 10
},
{
"type": "PET_ARMOR",
"id": "acidchitin_armor_elephant",
"copy-from": "elephant_armor",
"color": "green",
"name": { "str": "biosilicified chitin elephant armor" },
"description": "A makeshift assembly of criniere, peytral, and croupiere made from biosilicified chitin fitted to a thin mesh. You could put this on a friendly elephant.",
"price": 120000,
"price_postapoc": 8000,
"material": [ "acidchitin", "steel" ],
"weight": "35 kg",
"volume": "150 L",
"material_thickness": 6,
"environmental_protection": 7
},
{
"type": "PET_ARMOR",
"id": "chitin_armor_elephant",
"copy-from": "elephant_armor",
"color": "green",
"name": { "str": "chitin elephant armor" },
"description": "A makeshift assembly of criniere, peytral, and croupiere made from chitin fitted to a thin mesh. You could put this on a friendly elephant.",
"price": 100000,
"price_postapoc": 6000,
"material": [ "chitin", "steel" ],
"weight": "35 kg",
"volume": "150 L",
"material_thickness": 6,
"environmental_protection": 4
},
{
"type": "PET_ARMOR",
"id": "chainmail_armor_elephant",
"copy-from": "elephant_armor",
"color": "green",
"name": { "str": "chainmail elephant armor" },
"description": "A heavy covering of chainmail, suitably made for elephants as protection. You could put this on a friendly elephant.",
"price": 40000,
"price_postapoc": 10000,
"material": [ "steel", "leather" ],
"weight": "40 kg",
"volume": "150 L",
"material_thickness": 6
},
{
"type": "PET_ARMOR",
"id": "leather_armor_elephant",
"copy-from": "elephant_armor",
"color": "green",
"name": { "str": "boiled leather elephant barding with caparison", "str_pl": "boiled leather elephant bardings with caparison" },
"description": "A full barding for elephants, consisting of boiled leather with cloth underneath. This caparison depicts a battle between a monstrous demon and a regal warrior astride an elephant and wielding an elaborate vajra. You could put this on a friendly elephant.",
"price": 30000,
"price_postapoc": 3000,
"material": [ "cotton", "leather" ],
"weight": "15 kg",
"volume": "150 L",
"material_thickness": 6,
"snippet_category": [
{
"id": "vritra",
"text": "A full barding for elephants, consisting of boiled leather with cloth underneath. This caparison depicts a battle between a monstrous demon and a regal warrior astride an elephant and wielding an elaborate vajra. You could put this on a friendly elephant."
},
{
"id": "khajurahoshiva",
"text": "A full barding for elephants, consisting of boiled leather with cloth underneath. This caparison depicts a being, a goddess? with many arms bearing different items with one large uncovered breast on the left side. You could put this on a friendly elephant."
},
{
"id": "elephantry",
"text": "A full barding for elephants, consisting of boiled leather with cloth underneath. This caparison depicts several charging elephants trampling enemy soldiers. You could put this on a friendly elephant."
},
{
"id": "diamond",
"text": "A full barding for elephants, consisting of boiled leather with cloth underneath. This caparison depicts an assortment of diamonds and gems. You could put this on a friendly elephant."
},
{
"id": "ashoka",
"text": "A full barding for elephants, consisting of boiled leather with cloth underneath. This caparison depicts a man in rich garments and a full uncovered belly, riding in an elaborate chariot. You could put this on a friendly elephant."
},
{
"id": "singh",
"text": "A full barding for elephants, consisting of boiled leather with cloth underneath. This caparison depicts several identical smiling men in turbans of various bright colors performing a dance. You could put this on a friendly elephant."
},
{
"id": "triceratops",
"text": "A full barding for elephants, consisting of boiled leather with cloth underneath. This caparison depicts a fierce, three-horned dinosaur bursting out the side of a 1970s-era van. You could put this on a friendly elephant."
}
]
},
{
"type": "PET_ARMOR",
"id": "leatherbone_armor_elephant",
"copy-from": "elephant_armor",
"color": "green",
"name": { "str": "boiled leather elephant barding with bones", "str_pl": "boiled leather elephant bardings with bones" },
"description": "Leather elephant barding with decorative bones affixed, meant to invoke fear in bandits and raiders and traders all! You could put this on a friendly elephant.",
"price": 45000,
"price_postapoc": 3000,
"material": [ "bone", "leather" ],
"weight": "17 kg",
"volume": "150 L",
"material_thickness": 6
},
{
"type": "PET_ARMOR",
"id": "rubber_armor_elephant",
"copy-from": "elephant_armor",
"color": "green",
"name": { "str": "elephant rain sheet" },
"description": "A thin plastic covering, adapted to protect an elephant from acid zombie splashes and similar caustic substances. You could put this on a friendly elephant.",
"price": 15000,
"price_postapoc": 1500,
"material": [ "neoprene", "plastic" ],
"weight": "14 kg",
"volume": "150 L",
"material_thickness": 3
}
]
4 changes: 3 additions & 1 deletion data/mods/DinoMod/lab_notes.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
"Research proceeds apace on our visitors. While Operation Major Laser did not receive enough funding as hoped, our more humble bio-operator protocols were already prepared and are proceeding ahead of schedule. The hosts are most receptive to improvement.",
"Dr. Yoshimi has been reprimanded for unauthorized contact with the procompsignathids. Disgusting behavior, and a terrible example to the junior researchers.",
"Dr. Yoshimi has escaped, along with an unknown number of dinosaurs. Unfortunately, we have bigger problems with XE037.",
"Strange sounds have been reported from the swamp nearby. An enhanced security team was dispatched, but has not returned in 48 hours. The facility is on lockdown. We can’t let them get back in."
"Strange sounds have been reported from the swamp nearby. An enhanced security team was dispatched, but has not returned in 48 hours. The facility is on lockdown. We can’t let them get back in.",
"Tingle lab situation normal. Dr. Tingle believes the Acrocanthosaurus is the best fit for hybridization and the lab is working on safe methods to provide Dr. Tingle the needed material. Velociraptor is another possibility given prior research. Testing with chickens and the velociraptor specimens suggests some subject resistance.",
"Tingle lab situation critical. Dr. Tingle violated safety protocols last night and attempted to secure genetic material directly - possibly under the influence of some drug or toxin, given the anatomical impossibility and danger of the procedure. The Acrocanthosaurus specimen has escaped into the facility."
]
}
]
Loading

0 comments on commit e5f6a65

Please sign in to comment.