Skip to content

Commit

Permalink
Spell-casting NPCs (#35597)
Browse files Browse the repository at this point in the history
* spellcasting npcs

adds spellcasting npcs to magiclysm

* linted

linted

* continuing spellcasting npcs

should be the last peices to get them working in game

* linted, again

misplaced file and linted

* linted

finally, maybe.

* names

more descriptive information in the mission dialog

* spaces

added spaces after periods (double space after each .)

* ellipses

changed ellipses to the unicode character

* Update data/mods/Magiclysm/npc/missiondef.json

Co-Authored-By: Anton Burmistrov <[email protected]>

* Update data/mods/Magiclysm/npc/missiondef.json

Co-Authored-By: Anton Burmistrov <[email protected]>

* Update data/mods/Magiclysm/npc/missiondef.json

Co-Authored-By: Anton Burmistrov <[email protected]>

* Update data/mods/Magiclysm/npc/missiondef.json

Co-Authored-By: Anton Burmistrov <[email protected]>

* travis fix

fixed double space, tag in wrong file, tag incomplete

* more travis

* travis

maybe this is right?

* travis the third

* travis the final?

Co-authored-by: Anton Burmistrov <[email protected]>
  • Loading branch information
2 people authored and KorGgenT committed Jan 5, 2020
1 parent 9fe2e72 commit 7a023e4
Show file tree
Hide file tree
Showing 10 changed files with 497 additions and 2 deletions.
51 changes: 51 additions & 0 deletions data/mods/Magiclysm/npc/TALK_HEALER_GREY.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
[
{
"type": "talk_topic",
"id": "TALK_HEALER_GREY",
"dynamic_line": {
"u_has_var": "talked_to_healer_grey",
"type": "dialogue",
"context": "healer_grey",
"value": "yes",
"no": "I must purge this land of its curse. Will you help or hinder our mission?",
"yes": "Blessed be."
},
"responses": [
{
"text": "Hello <name_g>.",
"topic": "TALK_HEALER_GREY_INTRO",
"effect": { "u_add_var": "talked_to_HEALER_GREY", "type": "dialogue", "context": "healer_grey", "value": "yes" }
},
{ "text": "Wanna get outta here?", "topic": "TALK_SUGGEST_FOLLOW" },
{ "text": "Let's trade items.", "topic": "TALK_HEALER_GREY", "effect": "start_trade" },
{ "text": "Can I do anything for you?", "topic": "TALK_MISSION_OFFER" },
{ "text": "About the mission…", "topic": "TALK_MISSION_INQUIRE", "condition": "has_assigned_mission" },
{
"text": "About one of those missions…",
"topic": "TALK_MISSION_LIST_ASSIGNED",
"condition": "has_many_assigned_missions"
},
{ "text": "Goodbye.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_HEALER_GREY_INTRO",
"dynamic_line": "Blessed be. May you purge that which opposes the calm.",
"responses": [
{ "text": "Why don't you go somewhere else?", "topic": "TALK_HEALER_GREY_LEAVE" },
{ "text": "Let's trade then.", "effect": "start_trade", "topic": "TALK_HEALER_GREY" },
{ "text": "I'm sorry, I gotta go.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_HEALER_GREY_LEAVE",
"dynamic_line": "I must purge this place before I can move on.",
"responses": [
{ "text": "Wanna get outta here?", "topic": "TALK_SUGGEST_FOLLOW" },
{ "text": "What can you sell me?", "topic": "TALK_HEALER_GREY", "effect": "start_trade" },
{ "text": "I'm sorry, I gotta go.", "topic": "TALK_DONE" }
]
}
]
51 changes: 51 additions & 0 deletions data/mods/Magiclysm/npc/TALK_OLD_MAGUS.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
[
{
"type": "talk_topic",
"id": "TALK_OLD_MAGUS",
"dynamic_line": {
"u_has_var": "talked_to_old_magus",
"type": "dialogue",
"context": "old_magus",
"value": "yes",
"no": "Huh? *mumble mumble* … Who are you?",
"yes": "Oh, you again."
},
"responses": [
{
"text": "Hello <name_g>.",
"topic": "TALK_OLD_MAGUS_INTRO",
"effect": { "u_add_var": "talked_to_old_magus", "type": "dialogue", "context": "old_magus", "value": "yes" }
},
{ "text": "Wanna get outta here?", "topic": "TALK_SUGGEST_FOLLOW" },
{ "text": "Let's trade items.", "topic": "TALK_OLD_MAGUS", "effect": "start_trade" },
{ "text": "Can I do anything for you?", "topic": "TALK_MISSION_OFFER" },
{ "text": "About the mission…", "topic": "TALK_MISSION_INQUIRE", "condition": "has_assigned_mission" },
{
"text": "About one of those missions…",
"topic": "TALK_MISSION_LIST_ASSIGNED",
"condition": "has_many_assigned_missions"
},
{ "text": "Goodbye.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_OLD_MAGUS_INTRO",
"dynamic_line": "I'm busy, what is it?",
"responses": [
{ "text": "Why don't you go somewhere else?", "topic": "TALK_OLD_MAGUS_LEAVE" },
{ "text": "Let's trade then.", "effect": "start_trade", "topic": "TALK_OLD_MAGUS" },
{ "text": "I'm sorry, I gotta go.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_OLD_MAGUS_LEAVE",
"dynamic_line": "And leave my tower and all my research? I think not.",
"responses": [
{ "text": "Wanna get outta here?", "topic": "TALK_SUGGEST_FOLLOW" },
{ "text": "What can you sell me?", "topic": "TALK_OLD_MAGUS", "effect": "start_trade" },
{ "text": "I'm sorry, I gotta go.", "topic": "TALK_DONE" }
]
}
]
51 changes: 51 additions & 0 deletions data/mods/Magiclysm/npc/TALK_TECHNO_KID.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
[
{
"type": "talk_topic",
"id": "TALK_TECHNO_KID",
"dynamic_line": {
"u_has_var": "talked_to_techno_kid",
"type": "dialogue",
"context": "techno_kid",
"value": "yes",
"no": "Do you seek power as well?",
"yes": "Ah, hello again."
},
"responses": [
{
"text": "Hey <name_g>.",
"topic": "TALK_TECHNO_KID_INTRO",
"effect": { "u_add_var": "talked_to_techno_kid", "type": "dialogue", "context": "techno_kid", "value": "yes" }
},
{ "text": "Wanna get outta here?", "topic": "TALK_SUGGEST_FOLLOW" },
{ "text": "Let's trade items.", "topic": "TALK_TECHNO_KID", "effect": "start_trade" },
{ "text": "Can I do anything for you?", "topic": "TALK_MISSION_OFFER" },
{ "text": "About the mission…", "topic": "TALK_MISSION_INQUIRE", "condition": "has_assigned_mission" },
{
"text": "About one of those missions…",
"topic": "TALK_MISSION_LIST_ASSIGNED",
"condition": "has_many_assigned_missions"
},
{ "text": "Goodbye.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_TECHNO_KID_INTRO",
"dynamic_line": "Yes, yes… *electrical crackling* Isn't it beautiful?",
"responses": [
{ "text": "Why don't you go somewhere else?", "topic": "TALK_TECHNO_KID_LEAVE" },
{ "text": "Let's trade then.", "effect": "start_trade", "topic": "TALK_TECHNO_KID" },
{ "text": "I'm sorry, I gotta go.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_TECHNO_KID_LEAVE",
"dynamic_line": "I must find more power before I can leave.",
"responses": [
{ "text": "Wanna get outta here?", "topic": "TALK_SUGGEST_FOLLOW" },
{ "text": "What can you sell me?", "topic": "TALK_TECHNO_KID", "effect": "start_trade" },
{ "text": "I'm sorry, I gotta go.", "topic": "TALK_DONE" }
]
}
]
64 changes: 64 additions & 0 deletions data/mods/Magiclysm/npc/classes.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,69 @@
{ "group": "Appearance_demographics" }
],
"spells": [ { "id": "lightning_bolt", "level": 6 }, { "id": "windrun", "level": 6 } ]
},
{
"type": "npc_class",
"id": "NC_OLD_MAGUS",
"name": "Master Magus",
"job_description": "I'm an old Magus. Get off my lawn!",
"worn_override": "NC_OLD_MAGUS_worn",
"traits": [
{ "trait": "MAGUS" },
{ "group": "BG_survival_story_RURAL" },
{ "group": "NPC_starting_traits" },
{ "group": "Appearance_demographics" }
],
"bonus_str": { "rng": [ -4, -1 ] },
"bonus_dex": { "rng": [ -2, 0 ] },
"bonus_int": { "rng": [ 2, 5 ] },
"bonus_per": { "rng": [ -2, -1 ] },
"skills": [
{ "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ 0, -2 ] } ] } ] } },
{ "skill": "spellcraft", "bonus": { "rng": [ 4, 6 ] } }
],
"spells": [ { "id": "magic_missile", "level": 18 }, { "id": "gravity_well", "level": 10 }, { "id": "foxs_cunning", "level": 7 } ]
},
{
"type": "npc_class",
"id": "NC_TECHNO_KID",
"name": "Techno-student",
"job_description": "I'm searching for more power.",
"traits": [
{ "trait": "TECHNOMANCER" },
{ "group": "BG_survival_story_TEENAGER" },
{ "group": "NPC_starting_traits" },
{ "group": "Appearance_demographics" }
],
"bonus_str": { "rng": [ -2, 1 ] },
"bonus_dex": { "rng": [ -1, 1 ] },
"bonus_int": { "rng": [ 0, 3 ] },
"bonus_per": { "rng": [ -1, 1 ] },
"skills": [
{ "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ -1, -4 ] } ] } ] } },
{ "skill": "spellcraft", "bonus": { "rng": [ 0, 2 ] } }
],
"spells": [ { "id": "quantum_tunnel_lesser", "level": 2 }, { "id": "animated_blade", "level": 2 } ]
},
{
"type": "npc_class",
"id": "NC_BIO_PRIEST",
"name": "Healer",
"job_description": "I will purge this land of its curse.",
"traits": [
{ "trait": "BIOMANCER" },
{ "group": "BG_survival_story_UNIVERSAL" },
{ "group": "NPC_starting_traits" },
{ "group": "Appearance_demographics" }
],
"bonus_str": { "rng": [ -2, 2 ] },
"bonus_dex": { "rng": [ -2, 2 ] },
"bonus_int": { "rng": [ 0, 4 ] },
"bonus_per": { "rng": [ 0, 3 ] },
"skills": [
{ "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ 0, -3 ] } ] } ] } },
{ "skill": "spellcraft", "bonus": { "rng": [ 1, 3 ] } }
],
"spells": [ { "id": "light_healing", "level": 3 }, { "id": "bio_bonespear", "level": 6 } ]
}
]
123 changes: 123 additions & 0 deletions data/mods/Magiclysm/npc/factions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
[
{
"type": "faction",
"id": "wizards_ancient",
"name": "The Ancient Ones",
"likes_u": 0,
"respects_u": 0,
"known_by_u": false,
"size": 5,
"power": 100,
"food_supply": 115200,
"wealth": 100000,
"currency": "embued_coin",
"relations": {
"lobby_beggars": {
"kill on sight": false,
"watch your back": false,
"share my stuff": true,
"guard your stuff": true,
"lets you in": false,
"defends your space": false,
"knows your voice": true
},
"free_merchants": {
"kill on sight": false,
"watch your back": false,
"share my stuff": false,
"guard your stuff": false,
"lets you in": false,
"defends your space": false,
"knows your voice": true
},
"old_guard": {
"kill on sight": false,
"watch your back": false,
"share my stuff": false,
"guard your stuff": false,
"lets you in": false,
"defends your space": false,
"knows your voice": true
},
"no_faction": {
"kill on sight": false,
"watch your back": false,
"share my stuff": false,
"guard your stuff": false,
"lets you in": false,
"defends your space": false,
"knows your voice": true
},
"wasteland_scavengers": {
"kill on sight": false,
"watch your back": false,
"share my stuff": false,
"guard your stuff": false,
"lets you in": false,
"defends your space": false,
"knows your voice": true
}
},
"description": "The spellcrafters of old. Hidden from the world until the cataclysm, they have their own agenda and care little for you or yours."
},
{
"type": "faction",
"id": "healers_grey",
"name": "The Grey Flame",
"likes_u": 10,
"respects_u": 10,
"known_by_u": false,
"size": 50,
"power": 50,
"food_supply": 11520,
"wealth": 1000,
"relations": {
"lobby_beggars": {
"kill on sight": false,
"watch your back": false,
"share my stuff": true,
"guard your stuff": true,
"lets you in": false,
"defends your space": false,
"knows your voice": true
},
"free_merchants": {
"kill on sight": false,
"watch your back": false,
"share my stuff": false,
"guard your stuff": false,
"lets you in": false,
"defends your space": false,
"knows your voice": true
},
"old_guard": {
"kill on sight": false,
"watch your back": false,
"share my stuff": false,
"guard your stuff": false,
"lets you in": false,
"defends your space": false,
"knows your voice": true
},
"no_faction": {
"kill on sight": false,
"watch your back": false,
"share my stuff": false,
"guard your stuff": false,
"lets you in": false,
"defends your space": false,
"knows your voice": true
},
"wasteland_scavengers": {
"kill on sight": false,
"watch your back": false,
"share my stuff": false,
"guard your stuff": false,
"lets you in": false,
"defends your space": false,
"knows your voice": true
}
},
"description": "A collection of those cursed by the cataclysm. They have sworn to rid this world of its curse and will stop at nothing to accomplish their task."
}
]
15 changes: 15 additions & 0 deletions data/mods/Magiclysm/npc/items_worn.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[
{
"type": "item_group",
"id": "NC_OLD_MAGUS_worn",
"subtype": "collection",
"items": [
{ "item": "socks" },
{ "item": "tunic" },
{ "item": "long_underpants" },
{ "item": "undershirt" },
{ "item": "slippers" },
{ "item": "robe" }
]
}
]
Loading

0 comments on commit 7a023e4

Please sign in to comment.