Infest the sewers with crocodiles + minor NPC fixups
This commit is contained in:
parent
18f1bcf241
commit
b1fecab1b0
@ -37,7 +37,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
use NPCSayType::FromFixedList;
|
use NPCSayType::FromFixedList;
|
||||||
let radiant_predator_stdsay = NPCSayInfo {
|
let radiant_predator_stdsay = NPCSayInfo {
|
||||||
say_code: "babble",
|
say_code: "babble",
|
||||||
frequency_secs: 120,
|
frequency_secs: 30,
|
||||||
talk_type: FromFixedList(vec![
|
talk_type: FromFixedList(vec![
|
||||||
"I hunger for flesh.",
|
"I hunger for flesh.",
|
||||||
"The darkness is my ally.",
|
"The darkness is my ally.",
|
||||||
@ -64,7 +64,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
};
|
};
|
||||||
let stinkfiend_stdsay = NPCSayInfo {
|
let stinkfiend_stdsay = NPCSayInfo {
|
||||||
say_code: "babble",
|
say_code: "babble",
|
||||||
frequency_secs: 120,
|
frequency_secs: 30,
|
||||||
talk_type: FromFixedList(vec![
|
talk_type: FromFixedList(vec![
|
||||||
"This part of the sewers is mine, and all who enter die by my hand!",
|
"This part of the sewers is mine, and all who enter die by my hand!",
|
||||||
"I hate surface dwellers so much. At least they're easy to kill!",
|
"I hate surface dwellers so much. At least they're easy to kill!",
|
||||||
@ -162,6 +162,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
)
|
)
|
||||||
}).collect(),
|
}).collect(),
|
||||||
player_consents: vec!(ConsentType::Fight),
|
player_consents: vec!(ConsentType::Fight),
|
||||||
|
intrinsic_weapon: Some(PossessionType::Fangs),
|
||||||
message_handler: None,
|
message_handler: None,
|
||||||
wander_zones: vec!["melbs_sewers".to_owned()],
|
wander_zones: vec!["melbs_sewers".to_owned()],
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@ -175,7 +176,7 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
..Pronouns::default_inanimate()
|
..Pronouns::default_inanimate()
|
||||||
},
|
},
|
||||||
aliases: vec!["fiend".to_owned()],
|
aliases: vec!["fiend".to_owned()],
|
||||||
aggression: 18,
|
aggression: 21,
|
||||||
description: "A grotesquely mutant humanoid creature, with orange-tinged discoloured skin hanging loose on flesh, and distorted yet horrific features. It looks dangerous. The odour of this creature is so pungent you have to choke back the urge to vomit as it wafts your way".to_owned(),
|
description: "A grotesquely mutant humanoid creature, with orange-tinged discoloured skin hanging loose on flesh, and distorted yet horrific features. It looks dangerous. The odour of this creature is so pungent you have to choke back the urge to vomit as it wafts your way".to_owned(),
|
||||||
spawn_location: format!("room/melbs_sewers_{}", &spawn_loc),
|
spawn_location: format!("room/melbs_sewers_{}", &spawn_loc),
|
||||||
species: SpeciesType::Human,
|
species: SpeciesType::Human,
|
||||||
@ -199,6 +200,13 @@ pub fn npc_list() -> Vec<NPC> {
|
|||||||
)
|
)
|
||||||
}).collect(),
|
}).collect(),
|
||||||
player_consents: vec!(ConsentType::Fight),
|
player_consents: vec!(ConsentType::Fight),
|
||||||
|
spawn_possessions: vec![
|
||||||
|
NPCSpawnPossession {
|
||||||
|
what: PossessionType::Dagger,
|
||||||
|
action_type: LocationActionType::Wielded,
|
||||||
|
wear_layer: 0,
|
||||||
|
},
|
||||||
|
],
|
||||||
says: vec!(stinkfiend_stdsay.clone()),
|
says: vec!(stinkfiend_stdsay.clone()),
|
||||||
message_handler: None,
|
message_handler: None,
|
||||||
wander_zones: vec![], // They defend their room.
|
wander_zones: vec![], // They defend their room.
|
||||||
|
@ -228,6 +228,42 @@
|
|||||||
name: repulsive foul radiant predator
|
name: repulsive foul radiant predator
|
||||||
gender: Male
|
gender: Male
|
||||||
spawn_loc: 14q
|
spawn_loc: 14q
|
||||||
|
- !KillerCroc
|
||||||
|
code: 1
|
||||||
|
name: leathery killer crocodile
|
||||||
|
spawn_loc: 9f
|
||||||
|
- !KillerCroc
|
||||||
|
code: 2
|
||||||
|
name: snapping killer crocodile
|
||||||
|
spawn_loc: 9g
|
||||||
|
- !KillerCroc
|
||||||
|
code: 3
|
||||||
|
name: prowling killer crocodile
|
||||||
|
spawn_loc: 6i
|
||||||
|
- !KillerCroc
|
||||||
|
code: 4
|
||||||
|
name: lurking killer crocodile
|
||||||
|
spawn_loc: 7i
|
||||||
|
- !KillerCroc
|
||||||
|
code: 5
|
||||||
|
name: silent killer crocodile
|
||||||
|
spawn_loc: 11i
|
||||||
|
- !KillerCroc
|
||||||
|
code: 6
|
||||||
|
name: smiling killer crocodile
|
||||||
|
spawn_loc: 12i
|
||||||
|
- !KillerCroc
|
||||||
|
code: 7
|
||||||
|
name: robust killer crocodile
|
||||||
|
spawn_loc: 9j
|
||||||
|
- !KillerCroc
|
||||||
|
code: 8
|
||||||
|
name: scaly killer crocodile
|
||||||
|
spawn_loc: 9k
|
||||||
|
- !KillerCroc
|
||||||
|
code: 9
|
||||||
|
name: ruthless killer crocodile
|
||||||
|
spawn_loc: 9l
|
||||||
- !Stinkfiend
|
- !Stinkfiend
|
||||||
code: stink_1
|
code: stink_1
|
||||||
name: repulsive stinkfiend
|
name: repulsive stinkfiend
|
||||||
|
@ -411,6 +411,7 @@ pub enum PossessionType {
|
|||||||
// Weapons: Whips
|
// Weapons: Whips
|
||||||
AntennaWhip,
|
AntennaWhip,
|
||||||
LeatherWhip,
|
LeatherWhip,
|
||||||
|
Sjambok,
|
||||||
// Weapons: Blades
|
// Weapons: Blades
|
||||||
ButcherKnife,
|
ButcherKnife,
|
||||||
Dagger,
|
Dagger,
|
||||||
|
@ -135,5 +135,72 @@ pub fn data() -> &'static Vec<(PossessionType, PossessionData)> {
|
|||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
|
(PossessionType::Sjambok,
|
||||||
|
PossessionData {
|
||||||
|
display: "sjambok",
|
||||||
|
details: "A flexible rod-like whip, tapered at one end, made of some kind of thick hide rolled into a cylinder. It looks like it would make a formidable whip",
|
||||||
|
aliases: vec!("whip"),
|
||||||
|
weight: 800,
|
||||||
|
weapon_data: Some(WeaponData {
|
||||||
|
uses_skill: SkillType::Whips,
|
||||||
|
raw_min_to_learn: 2.0,
|
||||||
|
raw_max_to_learn: 4.0,
|
||||||
|
normal_attack: WeaponAttackData {
|
||||||
|
start_messages: vec!(
|
||||||
|
Box::new(|attacker, victim|
|
||||||
|
format!("{} lines up {} sjambok for a strike on {}",
|
||||||
|
&attacker.display_for_sentence(1, true),
|
||||||
|
&attacker.pronouns.possessive,
|
||||||
|
&victim.display_for_sentence(1, false),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
success_messages: vec!(
|
||||||
|
Box::new(|attacker, victim, part|
|
||||||
|
format!("{}'s sjambok lacerates {}'s {}",
|
||||||
|
&attacker.display_for_sentence(1, true),
|
||||||
|
&victim.display_for_sentence(1, false),
|
||||||
|
&part.display(victim.sex.clone())
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
mean_damage: 5.0,
|
||||||
|
stdev_damage: 3.0,
|
||||||
|
base_damage_type: DamageType::Slash,
|
||||||
|
crit_effects: vec![(0.05, EffectType::Bleed)],
|
||||||
|
other_damage_types: vec!((0.25, DamageType::Beat)),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
power_attack: Some(WeaponAttackData {
|
||||||
|
start_messages: vec!(
|
||||||
|
Box::new(|attacker, victim|
|
||||||
|
format!("{} bulges {} muscles for a power sjambok strike on {}",
|
||||||
|
&attacker.display_for_sentence(1, true),
|
||||||
|
&attacker.pronouns.possessive,
|
||||||
|
&victim.display_for_sentence(1, false),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
success_messages: vec!(
|
||||||
|
Box::new(|attacker, victim, part|
|
||||||
|
format!("{}'s sjambok hits {}'s {} with great force",
|
||||||
|
&attacker.display_for_sentence(1, true),
|
||||||
|
&victim.display_for_sentence(1, false),
|
||||||
|
&part.display(victim.sex.clone())
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
mean_damage: 14.0,
|
||||||
|
stdev_damage: 5.0,
|
||||||
|
base_damage_type: DamageType::Slash,
|
||||||
|
crit_effects: vec![(0.3, EffectType::Bleed)],
|
||||||
|
other_damage_types: vec!((0.25, DamageType::Beat)),
|
||||||
|
..Default::default()
|
||||||
|
}),
|
||||||
|
..Default::default()
|
||||||
|
}),
|
||||||
|
..Default::default()
|
||||||
|
}
|
||||||
|
),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user