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
|
--- a/src/character.cpp
+++ b/src/character.cpp
@@ -5328,20 +5328,24 @@
}
}
// Not in a vehicle, start checking furniture/terrain/traps at this point in decreasing order
- else if( furn_at_pos != f_null ) {
+ else if( furn_at_pos != f_null && furn_at_pos.obj().comfort >= 5 ) {
comfort += 0 + furn_at_pos.obj().comfort;
}
// Web sleepers can use their webs if better furniture isn't available
else if( websleep && web >= 3 ) {
comfort += 1 + static_cast<int>( comfort_level::slightly_comfortable );
+ } else if( furn_at_pos != f_null && furn_at_pos.obj().comfort >= 4 ) {
+ comfort += 0 + furn_at_pos.obj().comfort;
+ } else if( !trap_at_pos.is_null() ) {
+ comfort += 0 + trap_at_pos.comfort;
} else if( ter_at_pos == t_improvised_shelter ) {
comfort += 0 + static_cast<int>( comfort_level::slightly_comfortable );
- } else if( ter_at_pos == t_floor || ter_at_pos == t_floor_waxed ||
+ } else if( furn_at_pos != f_null && furn_at_pos.obj().comfort >= 1 ) {
+ comfort += 0 + furn_at_pos.obj().comfort;
+ } else if( ter_at_pos == t_carpet_concrete || ter_at_pos == t_carpet_metal ||
ter_at_pos == t_carpet_red || ter_at_pos == t_carpet_yellow ||
ter_at_pos == t_carpet_green || ter_at_pos == t_carpet_purple ) {
comfort += 1 + static_cast<int>( comfort_level::neutral );
- } else if( !trap_at_pos.is_null() ) {
- comfort += 0 + trap_at_pos.comfort;
} else {
// Not a comfortable sleeping spot
comfort -= g->m.move_cost( p );
--- a/src/mapdata.h
+++ b/src/mapdata.h
@@ -407,7 +407,7 @@
t_thconc_floor, t_thconc_floor_olight, t_strconc_floor,
t_floor, t_floor_waxed,
t_dirtfloor,//Dirt floor(Has roof)
- t_carpet_red, t_carpet_yellow, t_carpet_purple, t_carpet_green,
+ t_carpet_red, t_carpet_yellow, t_carpet_purple, t_carpet_green, t_carpet_concrete, t_carpet_metal,
t_grate,
t_slime,
t_bridge,
--- a/src/mapdata.cpp
+++ b/src/mapdata.cpp
@@ -490,7 +490,7 @@
t_thconc_floor, t_thconc_floor_olight, t_strconc_floor,
t_floor, t_floor_waxed,
t_dirtfloor,//Dirt floor(Has roof)
- t_carpet_red, t_carpet_yellow, t_carpet_purple, t_carpet_green,
+ t_carpet_red, t_carpet_yellow, t_carpet_purple, t_carpet_green, t_carpet_concrete, t_carpet_metal,
t_linoleum_white, t_linoleum_gray,
t_grate,
t_slime,
|