forked from CleverRaven/Cataclysm-DDA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
npctalk.h
139 lines (124 loc) · 4.87 KB
/
npctalk.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#pragma once
#ifndef CATA_SRC_NPCTALK_H
#define CATA_SRC_NPCTALK_H
#include "type_id.h"
#include "character.h"
class item;
class json_talk_topic;
class npc;
class time_duration;
namespace talk_function
{
struct teach_domain {
skill_id skill = skill_id();
matype_id style = matype_id();
spell_id spell = spell_id();
proficiency_id prof = proficiency_id();
};
void nothing( npc & );
void assign_mission( npc & );
void mission_success( npc & );
void mission_failure( npc & );
void clear_mission( npc & );
void mission_reward( npc & );
void mission_favor( npc & );
void give_equipment( npc & );
void give_aid( npc & );
void give_all_aid( npc & );
void buy_horse( npc & );
void buy_cow( npc & );
void buy_chicken( npc & );
void bionic_install( npc & );
void bionic_remove( npc & );
void dismount( npc & );
void find_mount( npc & );
void barber_beard( npc & );
void barber_hair( npc & );
void buy_haircut( npc & );
void buy_shave( npc & );
void morale_chat( npc & );
void morale_chat_activity( npc & );
void buy_10_logs( npc & );
void buy_100_logs( npc & );
void start_trade( npc & );
void sort_loot( npc & );
void do_construction( npc & );
void do_mining( npc & );
void do_mopping( npc & );
void do_read( npc & );
void do_chop_plank( npc & );
void do_vehicle_deconstruct( npc & );
void do_vehicle_repair( npc & );
void do_chop_trees( npc & );
void do_fishing( npc & );
void do_farming( npc & );
void do_butcher( npc & );
void revert_activity( npc & );
void goto_location( npc & );
void assign_base( npc & );
void assign_guard( npc & );
void assign_camp( npc & );
void abandon_camp( npc & );
void stop_guard( npc & );
void end_conversation( npc & );
void insult_combat( npc & );
void reveal_stats( npc & );
void drop_items_in_place( npc &p );
void follow( npc & ); // p becomes a member of your_followers
void follow_only( npc & ); // p starts following you
void deny_follow( npc & ); // p gets "asked_to_follow"
void deny_lead( npc & ); // p gets "asked_to_lead"
void deny_equipment( npc & ); // p gets "asked_for_item"
void deny_train( npc & ); // p gets "asked_to_train"
void deny_personal_info( npc & ); // p gets "asked_personal_info"
void hostile( npc & ); // p turns hostile to u
void flee( npc & );
void leave( npc & ); // p becomes indifferent
void stop_following( npc & );
void stranger_neutral( npc & ); // p is now neutral towards you
bool drop_stolen_item( item &cur_item, npc &p );
void start_mugging( npc & );
void player_leaving( npc & );
void remove_stolen_status( npc & );
void drop_weapon( npc & );
void player_weapon_away( npc & );
void player_weapon_drop( npc & );
void drop_stolen_item( npc & );
void lead_to_safety( npc & );
void start_training( npc & );
void start_training_npc( npc & );
void start_training_seminar( npc &p );
void start_training_gen( Character &teacher, std::vector<Character *> &students, teach_domain &d );
void wake_up( npc & );
void copy_npc_rules( npc &p );
void set_npc_pickup( npc &p );
void npc_die( npc &p );
void npc_thankful( npc &p );
void clear_overrides( npc &p );
void do_disassembly( npc &p );
} // namespace talk_function
time_duration calc_skill_training_time( const npc &p, const skill_id &skill );
time_duration calc_skill_training_time_char( const Character &teacher, const Character &student,
const skill_id &skill );
int calc_skill_training_cost( const npc &p, const skill_id &skill );
int calc_skill_training_cost_char( const Character &teacher, const Character &student,
const skill_id &skill );
time_duration calc_proficiency_training_time( const proficiency_id &proficiency );
time_duration calc_proficiency_training_time( const Character &teacher, const Character &student,
const proficiency_id &proficiency );
int calc_proficiency_training_cost( const npc &p, const proficiency_id &proficiency );
int calc_proficiency_training_cost( const Character &teacher, const Character &student,
const proficiency_id &proficiency );
time_duration calc_ma_style_training_time( const npc &p, const matype_id &id );
time_duration calc_ma_style_training_time( const Character &teacher, const Character &student,
const matype_id &id );
int calc_ma_style_training_cost( const npc &p, const matype_id &id );
int calc_ma_style_training_cost( const Character &teacher, const Character &student,
const matype_id &id );
time_duration calc_spell_training_time( const Character &teacher, const Character &student,
const spell_id &id );
int calc_spell_training_cost_gen( const bool knows, int difficulty, int level );
int calc_spell_training_cost( const Character &teacher, const Character &student,
const spell_id &id );
const json_talk_topic *get_talk_topic( const std::string &id );
#endif // CATA_SRC_NPCTALK_H