summaryrefslogtreecommitdiff
path: root/vamp_stuff/Modification_Files/NPC/v_npc_responds
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2021-07-27 08:47:38 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2021-07-27 08:47:38 -0700
commitc3674d8a6ebc016636613ccaecde7e5a9167fa72 (patch)
tree2b7267c5a6fbc84d176d5b03eb566783a539e7d6 /vamp_stuff/Modification_Files/NPC/v_npc_responds
parentFix blood drinking for reals this time (diff)
downloadcataclysm-dda-mod_vampire-stuff-redone-c3674d8a6ebc016636613ccaecde7e5a9167fa72.tar.xz
Add dialogue tree for drinking blood from mutant npcs.
Change traits required for npcs to avoid being bitten. Change dialogue and remove reputation hit for non-hostile trait npcs refusing to give blood.
Diffstat (limited to 'vamp_stuff/Modification_Files/NPC/v_npc_responds')
-rw-r--r--vamp_stuff/Modification_Files/NPC/v_npc_responds/blood-drinking.json207
-rw-r--r--vamp_stuff/Modification_Files/NPC/v_npc_responds/general.json3
2 files changed, 140 insertions, 70 deletions
diff --git a/vamp_stuff/Modification_Files/NPC/v_npc_responds/blood-drinking.json b/vamp_stuff/Modification_Files/NPC/v_npc_responds/blood-drinking.json
index 24e6578..f9d1632 100644
--- a/vamp_stuff/Modification_Files/NPC/v_npc_responds/blood-drinking.json
+++ b/vamp_stuff/Modification_Files/NPC/v_npc_responds/blood-drinking.json
@@ -167,7 +167,6 @@
"success": { "topic": "TALK_BLOODDRINK_ALLY_ACCEPT" },
"failure": {
"topic": "TALK_BLOODDRINK_ALLY_REFUSE",
- "opinion": { "trust": -1, "anger": 1 },
"effect": { "npc_add_effect": "vamp_refused_blood", "duration": 172800, "intensity": 1 }
}
},
@@ -251,15 +250,44 @@
},
{
"text": "*Forcefully take blood*",
- "note": "take blood by force. humans attack you afterwards. vampires avoid and just attack you.",
- "trial": {
- "type": "CONDITION",
- "condition": {
- "not": { "npc_has_trait": "THRESH_VAMP" }
+ "note": "Take blood by force. Vampires.",
+ "condition": { "npc_has_trait": [ "THRESH_VAMP" ] },
+ "topic": "TALK_BLOODDRINK_BY_FORCE_VAMP"
+ },
+ {
+ "text": "*Forcefully take blood*",
+ "note": "Take blood by force. Mutants with traits that make biting them a bad idea. Cut/Stab Armour 5 or higher, acid, spines, but not poison.",
+ "condition": { "and": [
+ { "not":
+ { "npc_has_any_trait": [
+ "THICK_SCALES",
+ "CHITIN",
+ "CHITIN2",
+ "CHITIN3",
+ "CHITIN_FUR",
+ "CHITIN_FUR2",
+ "CHITIN_FUR3",
+ "CF_HAIR",
+ "SPINES",
+ "QUILLS",
+ "BARBS",
+ "BARK",
+ "THORNS",
+ "INK_GLANDS",
+ "ACIDBLOOD"
+ ]
+ }
}
- },
- "success": { "topic": "TALK_BLOODDRINK_BY_FORCE_ALLY" },
- "failure": { "topic": "TALK_BLOODDRINK_BY_FORCE_VAMP" }
+ ] },
+ "topic": "TALK_BLOODDRINK_BY_FORCE_MUTANT"
+ },
+ {
+ "text": "*Forcefully take blood*",
+ "note": "Take blood by force. Humans.",
+ "condition": { "and": [
+ { "not": { "npc_has_trait": [ "THRESH_VAMP" ] } }
+ ] },
+ "topic": "TALK_BLOODDRINK_BY_FORCE_ALLY"
},
{ "text": "*You decide to talk more instead.*", "topic": "TALK_NONE" },
{ "text": "*You decide not to.*", "topic": "TALK_DONE" }
@@ -520,10 +548,10 @@
{
"id": [ "TALK_BLOODDRINK_ALLY_REFUSE", "TALK_BLOODDRINK_FRIENDLY_REFUSE" ],
"type": "talk_topic",
- "dynamic_line": "Not a chance vampire.",
- "note": "The human is very annoyed.",
+ "dynamic_line": "I'd rather not.",
+ "note": "The human is unwilling.",
"responses": [
- { "text": "I shouldn't have asked...", "topic": "TALK_DONE" }
+ { "text": "Nevermind.", "topic": "TALK_DONE" }
]
},
{
@@ -536,10 +564,98 @@
]
},
{
+ "id": [ "TALK_BLOODDRINK_BY_FORCE_VAMP" ],
+ "type": "talk_topic",
+ "dynamic_line": "You arrogant whelp! You think you can steal my blood! I shall kill you for your insolence!",
+ "note": "The vampire is very angry. You might be able to grovel if they are your sire.",
+ "responses": [
+ {
+ "text": "I'm sorry Sire! I shouldn't have tried that!",
+ "condition": { "and": [
+ { "npc_has_trait": "VAMP_SIRE" },
+ { "not": { "npc_has_trait": "vamp_sire_forgiven" } }
+ ] },
+ "trial": { "type": "PERSUADE", "difficulty": 30 },
+ "success": { "topic": "TALK_BLOODDRINK_BY_FORCE_VAMP_GROVEL", "opinion": { "trust": -1, "anger": 1 } },
+ "failure": { "topic": "TALK_DONE", "effect": "hostile" }
+ },
+ {
+ "text": "I'm sorry Sire! I shouldn't have tried that!",
+ "condition": { "and": [
+ { "npc_has_trait": "VAMP_SIRE" },
+ { "npc_has_trait": "vamp_sire_forgiven" }
+ ] },
+ "topic": "TALK_BLOODDRINK_BY_FORCE_VAMP_GROVEL_TWICE"
+ },
+ { "text": "Not if I kill you first!", "topic": "TALK_DONE", "effect": "hostile" }
+ ]
+ },
+ {
+ "id": [ "TALK_BLOODDRINK_BY_FORCE_VAMP_GROVEL" ],
+ "type": "talk_topic",
+ "dynamic_line": "I'll give you this one chance, my ungrateful progeny. Next time I won't be so forgiving!",
+ "note": "The sire has decided to forgive you. This one time.",
+ "speaker_effect": {
+ "effect": [
+ { "npc_add_trait": "vamp_sire_forgiven" }
+ ]
+ },
+ "responses": [
+ { "text": "Thank you, Sire! It will never happen again.", "topic": "TALK_DONE" }
+ ]
+ },
+ {
+ "id": [ "TALK_BLOODDRINK_BY_FORCE_VAMP_GROVEL_TWICE" ],
+ "type": "talk_topic",
+ "dynamic_line": "You had your chance! Now you will die!",
+ "note": "This was your second chance.",
+ "responses": [
+ { "text": "Not if I kill you first!", "topic": "TALK_DONE", "effect": "hostile" }
+ ]
+ },
+ {
+ "id": [ "TALK_BLOODDRINK_BY_FORCE_MUTANT" ],
+ "type": "talk_topic",
+ "dynamic_line": "Wh-what are you...",
+ "note": "You caught your mutant companion off-guard. The vampire will get a nasty surprise for biting a mutant with biological defences. They might be able to avoid you if strong, fast, or hard to grab.",
+ "responses": [
+ {
+ "text": "*Attempt to bite*",
+ "trial": {
+ "type": "CONDITION",
+ "condition": { "not":
+ { "npc_has_any_trait": [
+ "QUICK",
+ "ADRENALINE",
+ "MARTIAL_ARTS2",
+ "STR_UP2",
+ "STR_UP3",
+ "STR_UP4",
+ "STR_ALPHA",
+ "SLIMY"
+ ] }
+ }
+ },
+ "success": { "topic": "TALK_BLOODDRINK_BY_FORCE_MUTANT_SUCCESS", "opinion": { "trust": -1, "anger": 1 } },
+ "failure": { "topic": "TALK_BLOODDRINK_BY_FORCE_MUTANT_FAILURE" }
+ },
+ { "text": "Huh? Nothing.", "topic": "TALK_NONE" }
+ ]
+ },
+ {
+ "id": [ "TALK_BLOODDRINK_BY_FORCE_MUTANT_FAILURE" ],
+ "type": "talk_topic",
+ "dynamic_line": "Oh no you don't! I'll never let some monster have my blood. I'll kill you, vampire!",
+ "note": "The player should receive a large morale and player faction reputation nerf for attempting to murder a follower. Yes even if they were a xeno.",
+ "responses": [
+ { "text": "Not if I kill you first!", "topic": "TALK_DONE", "effect": [ "hostile", { "u_faction_rep": -50 } ] }
+ ]
+ },
+ {
"id": [ "TALK_BLOODDRINK_BY_FORCE_ALLY" ],
"type": "talk_topic",
"dynamic_line": "Wh-what are you...",
- "note": "You caught your companion off-guard. Attempt to drink them dry, though they might be able to avoid you if strong or fast.",
+ "note": "You caught your human companion off-guard. Attempt to drink them dry, though they might be able to avoid you if strong, fast, or hard to grab.",
"responses": [
{
"text": "*Attempt to bite*",
@@ -547,11 +663,14 @@
"type": "CONDITION",
"condition": { "not":
{ "npc_has_any_trait": [
- "BADTEMPER",
- "KILLER",
- "MOODSWINGS",
- "SPIRITUAL",
- "THRESH_LUPINE"
+ "QUICK",
+ "ADRENALINE",
+ "MARTIAL_ARTS2",
+ "STR_UP2",
+ "STR_UP3",
+ "STR_UP4",
+ "STR_ALPHA",
+ "SLIMY"
] }
}
},
@@ -596,63 +715,13 @@
{
"id": [ "TALK_BLOODDRINK_BY_FORCE_ALLY_FAILURE" ],
"type": "talk_topic",
- "dynamic_line": "I'll never let some monster have my blood. I'll kill you, vampire!",
+ "dynamic_line": "Oh no you don't! I'll never let some monster have my blood. I'll kill you, vampire!",
"note": "The player should receive a large morale and player faction reputation nerf for attempting to murder a follower.",
"responses": [
{ "text": "Not if I kill you first!", "topic": "TALK_DONE", "effect": [ "hostile", { "u_faction_rep": -50 } ] }
]
},
{
- "id": [ "TALK_BLOODDRINK_BY_FORCE_VAMP" ],
- "type": "talk_topic",
- "dynamic_line": "You arrogant whelp! You think you can steal my blood! I shall kill you for your insolence!",
- "note": "The vampire is very angry. You might be able to grovel if they are your sire.",
- "responses": [
- {
- "text": "I'm sorry Sire! I shouldn't have tried that!",
- "condition": { "and": [
- { "npc_has_trait": "VAMP_SIRE" },
- { "not": { "npc_has_trait": "vamp_sire_forgiven" } }
- ] },
- "trial": { "type": "PERSUADE", "difficulty": 30 },
- "success": { "topic": "TALK_BLOODDRINK_BY_FORCE_VAMP_GROVEL", "opinion": { "trust": -1, "anger": 1 } },
- "failure": { "topic": "TALK_DONE", "effect": "hostile" }
- },
- {
- "text": "I'm sorry Sire! I shouldn't have tried that!",
- "condition": { "and": [
- { "npc_has_trait": "VAMP_SIRE" },
- { "npc_has_trait": "vamp_sire_forgiven" }
- ] },
- "topic": "TALK_BLOODDRINK_BY_FORCE_VAMP_GROVEL_TWICE"
- },
- { "text": "Not if I kill you first!", "topic": "TALK_DONE", "effect": "hostile" }
- ]
- },
- {
- "id": [ "TALK_BLOODDRINK_BY_FORCE_VAMP_GROVEL" ],
- "type": "talk_topic",
- "dynamic_line": "I'll give you this one chance, my ungrateful progeny. Next time I won't be so forgiving!",
- "note": "The sire has decided to forgive you. This one time.",
- "speaker_effect": {
- "effect": [
- { "npc_add_trait": "vamp_sire_forgiven" }
- ]
- },
- "responses": [
- { "text": "Thank you, Sire! It will never happen again.", "topic": "TALK_DONE" }
- ]
- },
- {
- "id": [ "TALK_BLOODDRINK_BY_FORCE_VAMP_GROVEL_TWICE" ],
- "type": "talk_topic",
- "dynamic_line": "You had your chance! Now you will die!",
- "note": "This was your second chance.",
- "responses": [
- { "text": "Not if I kill you first!", "topic": "TALK_DONE", "effect": "hostile" }
- ]
- },
- {
"id": [ "TALK_BLOODDRINK_BY_FORCE_FRIENDLY_1" ],
"type": "talk_topic",
"dynamic_line": "Wh-what are you...",
diff --git a/vamp_stuff/Modification_Files/NPC/v_npc_responds/general.json b/vamp_stuff/Modification_Files/NPC/v_npc_responds/general.json
index 736e96f..1816cbd 100644
--- a/vamp_stuff/Modification_Files/NPC/v_npc_responds/general.json
+++ b/vamp_stuff/Modification_Files/NPC/v_npc_responds/general.json
@@ -4,7 +4,8 @@
"TALK_VAMP_PLACEHOLDER",
"TALK_GHOULIFY_MENU_ALLY",
"TALK_EMBRACE_MENU_ALLY",
- "TALK_GHOULIFY_MENU_FRIENDLY"
+ "TALK_GHOULIFY_MENU_FRIENDLY",
+ "TALK_BLOODDRINK_BY_FORCE_MUTANT_SUCCESS"
],
"type": "talk_topic",
"dynamic_line": "The dialogue is not yet complete.",