Add sand, snow and wood raptor npcs

This commit is contained in:
Snowram 2020-10-05 01:47:54 +02:00 committed by Robin Gilh
parent 588f66a1ee
commit 6c54e6d8fe
47 changed files with 527 additions and 8 deletions

View File

@ -625,6 +625,18 @@
"odonto": {
"keyword": "odonto",
"generic": "Odonto"
},
"raptor_sand": {
"keyword": "raptor_sand",
"generic": "Sand Raptor"
},
"raptor_snow": {
"keyword": "raptor_snow",
"generic": "Snow Raptor"
},
"raptor_wood": {
"keyword": "raptor_wood",
"generic": "Wood Raptor"
}
}
},

BIN
assets/voxygen/voxel/npc/raptor_sand/male/chest_back.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/chest_front.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/foot_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/foot_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/hand_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/hand_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/head.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/jaw.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/leg_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/leg_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/neck.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/tail_back.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_sand/male/tail_front.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/chest_back.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/chest_front.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/foot_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/foot_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/hand_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/hand_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/head.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/jaw.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/leg_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/leg_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/neck.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/tail_back.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_snow/male/tail_front.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/chest_back.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/chest_front.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/foot_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/foot_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/hand_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/hand_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/head.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/jaw.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/leg_l.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/leg_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/neck.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/tail_back.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/raptor_wood/male/tail_front.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -119,4 +119,184 @@
central: ("npc.odonto.male.tail_back"),
),
),
(Sandraptor, Male): (
head: (
offset: (-2.5, -6.0, -4.5),
central: ("npc.raptor_sand.male.head"),
),
jaw: (
offset: (-1.5, 0.0, -1.5),
central: ("npc.raptor_sand.male.jaw"),
),
neck: (
offset: (-1.5, 0.0, -4.5),
central: ("npc.raptor_sand.male.neck"),
),
chest_front: (
offset: (-3.5, -4.0, -4.0),
central: ("npc.raptor_sand.male.chest_front"),
),
chest_back: (
offset: (-3.5, -10.0, -4.5),
central: ("npc.raptor_sand.male.chest_back"),
),
tail_front: (
offset: (-7.5, -12.0, -2.5),
central: ("npc.raptor_sand.male.tail_front"),
),
tail_back: (
offset: (-6.5, -30.0, -2.0),
central: ("npc.raptor_sand.male.tail_back"),
),
),
(Sandraptor, Female): (
head: (
offset: (-2.5, -6.0, -4.5),
central: ("npc.raptor_sand.male.head"),
),
jaw: (
offset: (-1.5, 0.0, -1.5),
central: ("npc.raptor_sand.male.jaw"),
),
neck: (
offset: (-1.5, 0.0, -4.5),
central: ("npc.raptor_sand.male.neck"),
),
chest_front: (
offset: (-3.5, -4.0, -4.0),
central: ("npc.raptor_sand.male.chest_front"),
),
chest_back: (
offset: (-3.5, -10.0, -4.5),
central: ("npc.raptor_sand.male.chest_back"),
),
tail_front: (
offset: (-7.5, -12.0, -2.5),
central: ("npc.raptor_sand.male.tail_front"),
),
tail_back: (
offset: (-6.5, -30.0, -2.0),
central: ("npc.raptor_sand.male.tail_back"),
),
),
(Snowraptor, Male): (
head: (
offset: (-2.5, 0.0, -4.5),
central: ("npc.raptor_snow.male.head"),
),
jaw: (
offset: (-1.5, 0.0, -1.5),
central: ("npc.raptor_snow.male.jaw"),
),
neck: (
offset: (-1.5, 0.0, -4.5),
central: ("npc.raptor_snow.male.neck"),
),
chest_front: (
offset: (-3.5, -4.0, -4.0),
central: ("npc.raptor_snow.male.chest_front"),
),
chest_back: (
offset: (-3.5, -10.0, -4.5),
central: ("npc.raptor_snow.male.chest_back"),
),
tail_front: (
offset: (-7.5, -12.0, -2.5),
central: ("npc.raptor_snow.male.tail_front"),
),
tail_back: (
offset: (-6.5, -30.0, -2.5),
central: ("npc.raptor_snow.male.tail_back"),
),
),
(Snowraptor, Female): (
head: (
offset: (-2.5, 0.0, -4.5),
central: ("npc.raptor_snow.male.head"),
),
jaw: (
offset: (-1.5, 0.0, -1.5),
central: ("npc.raptor_snow.male.jaw"),
),
neck: (
offset: (-1.5, 0.0, -4.5),
central: ("npc.raptor_snow.male.neck"),
),
chest_front: (
offset: (-3.5, -4.0, -4.0),
central: ("npc.raptor_snow.male.chest_front"),
),
chest_back: (
offset: (-3.5, -10.0, -4.5),
central: ("npc.raptor_snow.male.chest_back"),
),
tail_front: (
offset: (-7.5, -12.0, -2.5),
central: ("npc.raptor_snow.male.tail_front"),
),
tail_back: (
offset: (-6.5, -30.0, -2.5),
central: ("npc.raptor_snow.male.tail_back"),
),
),
(Woodraptor, Male): (
head: (
offset: (-3.5, -6.0, -5.0),
central: ("npc.raptor_wood.male.head"),
),
jaw: (
offset: (-1.5, 0.0, -1.5),
central: ("npc.raptor_wood.male.jaw"),
),
neck: (
offset: (-1.5, 0.0, -4.5),
central: ("npc.raptor_wood.male.neck"),
),
chest_front: (
offset: (-3.5, -4.0, -4.0),
central: ("npc.raptor_wood.male.chest_front"),
),
chest_back: (
offset: (-3.5, -10.0, -4.5),
central: ("npc.raptor_wood.male.chest_back"),
),
tail_front: (
offset: (-7.5, -12.0, -2.5),
central: ("npc.raptor_wood.male.tail_front"),
),
tail_back: (
offset: (-6.5, -30.0, -2.0),
central: ("npc.raptor_wood.male.tail_back"),
),
),
(Woodraptor, Female): (
head: (
offset: (-3.5, -6.0, -5.0),
central: ("npc.raptor_wood.male.head"),
),
jaw: (
offset: (-1.5, 0.0, -1.5),
central: ("npc.raptor_wood.male.jaw"),
),
neck: (
offset: (-1.5, 0.0, -4.5),
central: ("npc.raptor_wood.male.neck"),
),
chest_front: (
offset: (-3.5, -4.0, -4.0),
central: ("npc.raptor_wood.male.chest_front"),
),
chest_back: (
offset: (-3.5, -10.0, -4.5),
central: ("npc.raptor_wood.male.chest_back"),
),
tail_front: (
offset: (-7.5, -12.0, -2.5),
central: ("npc.raptor_wood.male.tail_front"),
),
tail_back: (
offset: (-6.5, -30.0, -2.0),
central: ("npc.raptor_wood.male.tail_back"),
),
),
})

View File

@ -103,4 +103,160 @@
lateral: ("npc.odonto.male.foot_r"),
),
),
(Sandraptor, Male): (
hand_l: (
offset: (-15.0, -9.0, -8.0),
lateral: ("npc.raptor_sand.male.hand_l"),
),
hand_r: (
offset: (0.0, -9.0, -8.0),
lateral: ("npc.raptor_sand.male.hand_r"),
),
leg_l: (
offset: (-5.0, -3.5, -3.5),
lateral: ("npc.raptor_sand.male.leg_l"),
),
leg_r: (
offset: (0.0, -3.5, -3.5),
lateral: ("npc.raptor_sand.male.leg_r"),
),
foot_l: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_sand.male.foot_l"),
),
foot_r: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_sand.male.foot_r"),
),
),
(Sandraptor, Female): (
hand_l: (
offset: (-15.0, -9.0, -8.0),
lateral: ("npc.raptor_sand.male.hand_l"),
),
hand_r: (
offset: (0.0, -9.0, -8.0),
lateral: ("npc.raptor_sand.male.hand_r"),
),
leg_l: (
offset: (-5.0, -3.5, -3.5),
lateral: ("npc.raptor_sand.male.leg_l"),
),
leg_r: (
offset: (0.0, -3.5, -3.5),
lateral: ("npc.raptor_sand.male.leg_r"),
),
foot_l: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_sand.male.foot_l"),
),
foot_r: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_sand.male.foot_r"),
),
),
(Snowraptor, Male): (
hand_l: (
offset: (-15.0, -9.0, -8.0),
lateral: ("npc.raptor_snow.male.hand_l"),
),
hand_r: (
offset: (0.0, -9.0, -8.0),
lateral: ("npc.raptor_snow.male.hand_r"),
),
leg_l: (
offset: (-5.0, -3.5, -3.5),
lateral: ("npc.raptor_snow.male.leg_l"),
),
leg_r: (
offset: (0.0, -3.5, -3.5),
lateral: ("npc.raptor_snow.male.leg_r"),
),
foot_l: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_snow.male.foot_l"),
),
foot_r: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_snow.male.foot_r"),
),
),
(Snowraptor, Female): (
hand_l: (
offset: (-15.0, -9.0, -8.0),
lateral: ("npc.raptor_snow.male.hand_l"),
),
hand_r: (
offset: (0.0, -9.0, -8.0),
lateral: ("npc.raptor_snow.male.hand_r"),
),
leg_l: (
offset: (-5.0, -3.5, -3.5),
lateral: ("npc.raptor_snow.male.leg_l"),
),
leg_r: (
offset: (0.0, -3.5, -3.5),
lateral: ("npc.raptor_snow.male.leg_r"),
),
foot_l: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_snow.male.foot_l"),
),
foot_r: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_snow.male.foot_r"),
),
),
(Woodraptor, Male): (
hand_l: (
offset: (-15.0, -9.0, -8.0),
lateral: ("npc.raptor_wood.male.hand_l"),
),
hand_r: (
offset: (0.0, -9.0, -8.0),
lateral: ("npc.raptor_wood.male.hand_r"),
),
leg_l: (
offset: (-2.5, -3.5, -3.5),
lateral: ("npc.raptor_wood.male.leg_l"),
),
leg_r: (
offset: (0.0, -3.5, -3.5),
lateral: ("npc.raptor_wood.male.leg_r"),
),
foot_l: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_wood.male.foot_l"),
),
foot_r: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_wood.male.foot_r"),
),
),
(Woodraptor, Female): (
hand_l: (
offset: (-15.0, -9.0, -8.0),
lateral: ("npc.raptor_wood.male.hand_l"),
),
hand_r: (
offset: (0.0, -9.0, -8.0),
lateral: ("npc.raptor_wood.male.hand_r"),
),
leg_l: (
offset: (-2.5, -3.5, -3.5),
lateral: ("npc.raptor_wood.male.leg_l"),
),
leg_r: (
offset: (0.0, -3.5, -3.5),
lateral: ("npc.raptor_wood.male.leg_r"),
),
foot_l: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_wood.male.foot_l"),
),
foot_r: (
offset: (-2.5, -4.5, -10.0),
lateral: ("npc.raptor_wood.male.foot_r"),
),
),
})

View File

@ -30,6 +30,9 @@ impl From<Body> for super::Body {
pub enum Species {
Archaeos = 0,
Odonto = 1,
Sandraptor = 2,
Snowraptor = 3,
Woodraptor = 4,
}
/// Data representing per-species generic data.
@ -37,6 +40,9 @@ pub enum Species {
pub struct AllSpecies<SpeciesMeta> {
pub archaeos: SpeciesMeta,
pub odonto: SpeciesMeta,
pub raptor_sand: SpeciesMeta,
pub raptor_snow: SpeciesMeta,
pub raptor_wood: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -47,11 +53,20 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
match index {
Species::Archaeos => &self.archaeos,
Species::Odonto => &self.odonto,
Species::Sandraptor => &self.raptor_sand,
Species::Snowraptor => &self.raptor_snow,
Species::Woodraptor => &self.raptor_wood,
}
}
}
pub const ALL_SPECIES: [Species; 2] = [Species::Archaeos, Species::Odonto];
pub const ALL_SPECIES: [Species; 5] = [
Species::Archaeos,
Species::Odonto,
Species::Sandraptor,
Species::Snowraptor,
Species::Woodraptor,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
type IntoIter = std::iter::Copied<std::slice::Iter<'static, Self::Item>>;

View File

@ -61,9 +61,9 @@ impl Animation for IdleAnimation {
0.0,
skeleton_attr.chest_front.0,
skeleton_attr.chest_front.1 + breathe * 0.3,
) / 3.0;
) / skeleton_attr.scaler;
next.chest_front.orientation = Quaternion::rotation_x(breathe * 0.04);
next.chest_front.scale = Vec3::one() / 3.0;
next.chest_front.scale = Vec3::one() / skeleton_attr.scaler;
next.chest_back.position =
Vec3::new(0.0, skeleton_attr.chest_back.0, skeleton_attr.chest_back.1);
@ -76,7 +76,7 @@ impl Animation for IdleAnimation {
next.tail_front.scale = Vec3::one();
next.tail_back.position =
Vec3::new(0.0, skeleton_attr.tail_back.0, skeleton_attr.tail_back.1);
Vec3::new(0.0, skeleton_attr.tail_back.0, skeleton_attr.tail_back.1 - 0.5);
next.tail_back.orientation = Quaternion::rotation_x(0.1);
next.tail_back.scale = Vec3::one();

View File

@ -47,9 +47,9 @@ impl Animation for JumpAnimation {
0.0,
skeleton_attr.chest_front.0,
skeleton_attr.chest_front.1 + breathe * 0.3,
) / 3.0;
) / skeleton_attr.scaler;
next.chest_front.orientation = Quaternion::rotation_x(breathe * 0.04);
next.chest_front.scale = Vec3::one() / 3.0;
next.chest_front.scale = Vec3::one() / skeleton_attr.scaler;
next.chest_back.position =
Vec3::new(0.0, skeleton_attr.chest_back.0, skeleton_attr.chest_back.1);

View File

@ -80,6 +80,7 @@ pub struct SkeletonAttr {
hand: (f32, f32, f32),
leg: (f32, f32, f32),
foot: (f32, f32, f32),
scaler: f32,
}
impl<'a> std::convert::TryFrom<&'a comp::Body> for SkeletonAttr {
@ -106,6 +107,7 @@ impl Default for SkeletonAttr {
hand: (0.0, 0.0, 0.0),
leg: (0.0, 0.0, 0.0),
foot: (0.0, 0.0, 0.0),
scaler: 0.0,
}
}
}
@ -117,42 +119,79 @@ impl<'a> From<&'a Body> for SkeletonAttr {
head: match (body.species, body.body_type) {
(Archaeos, _) => (8.0, 4.0),
(Odonto, _) => (2.0, 2.0),
(Sandraptor, _) => (8.0, 5.0),
(Snowraptor, _) => (8.0, 5.0),
(Woodraptor, _) => (8.0, 5.0),
},
jaw: match (body.species, body.body_type) {
(Archaeos, _) => (1.0, -7.0),
(Odonto, _) => (2.0, -7.0),
(Sandraptor, _) => (0.0, -4.0),
(Snowraptor, _) => (0.0, -4.0),
(Woodraptor, _) => (0.0, -4.0),
},
neck: match (body.species, body.body_type) {
(Archaeos, _) => (4.5, -2.0),
(Odonto, _) => (4.0, 0.0),
(Sandraptor, _) => (4.0, 2.5),
(Snowraptor, _) => (4.0, 2.5),
(Woodraptor, _) => (4.0, 2.5),
},
chest_front: match (body.species, body.body_type) {
(Archaeos, _) => (0.0, 20.0),
(Odonto, _) => (0.0, 13.0),
(Sandraptor, _) => (0.0, 15.5),
(Snowraptor, _) => (0.0, 15.5),
(Woodraptor, _) => (0.0, 15.5),
},
chest_back: match (body.species, body.body_type) {
(Archaeos, _) => (-5.5, -1.0),
(Odonto, _) => (-5.0, 2.0),
(Sandraptor, _) => (-3.0, 0.5),
(Snowraptor, _) => (-3.0, 0.5),
(Woodraptor, _) => (-3.0, 0.5),
},
tail_front: match (body.species, body.body_type) {
(Archaeos, _) => (-9.0, -1.5),
(Odonto, _) => (-7.0, -1.0),
(Sandraptor, _) => (-9.5, -1.0),
(Snowraptor, _) => (-9.5, -1.0),
(Woodraptor, _) => (-9.5, -1.0),
},
tail_back: match (body.species, body.body_type) {
(Archaeos, _) => (-8.0, -0.5),
(Odonto, _) => (-8.0, 0.5),
(Sandraptor, _) => (-10.5, 0.5),
(Snowraptor, _) => (-10.5, 1.0),
(Woodraptor, _) => (-10.5, 0.5),
},
hand: match (body.species, body.body_type) {
(Archaeos, _) => (3.0, 0.0, -4.0),
(Odonto, _) => (3.5, 3.0, -4.0),
(Sandraptor, _) => (2.5, 3.0, 1.0),
(Snowraptor, _) => (2.5, 3.0, 1.0),
(Woodraptor, _) => (2.5, 3.0, 1.0),
},
leg: match (body.species, body.body_type) {
(Archaeos, _) => (4.5, -3.0, -4.0),
(Odonto, _) => (5.5, -2.5, -4.0),
(Sandraptor, _) => (1.5, -2.5, -3.0),
(Snowraptor, _) => (1.5, -2.5, -3.0),
(Woodraptor, _) => (1.5, -2.5, -3.0),
},
foot: match (body.species, body.body_type) {
(Archaeos, _) => (1.0, -0.5, -7.0),
(Odonto, _) => (2.0, -6.5, -3.0),
(Sandraptor, _) => (2.0, 0.0, -3.0),
(Snowraptor, _) => (2.0, 0.0, -3.0),
(Woodraptor, _) => (2.0, 0.0, -3.0),
},
scaler: match (body.species, body.body_type) {
(Archaeos, _) => (3.0),
(Odonto, _) => (3.0),
(Sandraptor, _) => (7.0),
(Snowraptor, _) => (7.0),
(Woodraptor, _) => (7.0),
},
}
}

View File

@ -84,10 +84,10 @@ impl Animation for RunAnimation {
0.0,
skeleton_attr.chest_front.0,
skeleton_attr.chest_front.1 + short * 0.5,
) / 3.0;
) / skeleton_attr.scaler;
next.chest_front.orientation =
Quaternion::rotation_x(short * 0.07) * Quaternion::rotation_z(shortalt * 0.15);
next.chest_front.scale = Vec3::one() / 3.0;
next.chest_front.scale = Vec3::one() / skeleton_attr.scaler;
next.chest_back.position =
Vec3::new(0.0, skeleton_attr.chest_back.0, skeleton_attr.chest_back.1);