fix node placement and evasion

This commit is contained in:
ntr 2019-01-15 12:42:49 +11:00
parent 2d918af744
commit ade555e391
3 changed files with 11 additions and 10 deletions

View File

@ -33,6 +33,7 @@ strangle
## NOW
* check zone completion
* recalc evasion rating
## SOON
* clean up categories

View File

@ -538,10 +538,10 @@ impl Cryp {
let mut rng = thread_rng();
let hp_pct = (self.hp.base * 100) / self.stamina.base;
let evasion_rating = (self.evasion.base * hp_pct) / 100;
// println!("{:?}", evasion_rating);
let roll = rng.gen_range(0, 100);
println!("{:} < {:?}", roll, evasion_rating);
match roll > evasion_rating {
match roll < evasion_rating {
true => Some(ResolutionResult::Evasion {
skill,
evasion_rating: evasion_rating,

View File

@ -210,7 +210,7 @@ fn add_shape(shape: Shape, gr: &mut ZoneGraph, start: NodeIndex, x: i8, y: i8) -
let exit = gr.add_node(Encounter::new("NORMAL", x + 1, y));
gr.add_edge(next, exit, ());
return (start, x + 1, y);
return (exit, x + 1, y);
},
Shape::Plus => {
let top = gr.add_node(Encounter::new("MINIBOSS", x, y + 1));
@ -235,8 +235,8 @@ fn add_shape(shape: Shape, gr: &mut ZoneGraph, start: NodeIndex, x: i8, y: i8) -
gr.add_edge(start, exit, ());
// connect top and exit for an extra chance
gr.add_edge(start, exit, ());
gr.add_edge(start, exit, ());
gr.add_edge(top, exit, ());
gr.add_edge(bottom, exit, ());
return (exit, x + 1, y);
},
@ -276,14 +276,14 @@ fn add_shape(shape: Shape, gr: &mut ZoneGraph, start: NodeIndex, x: i8, y: i8) -
let bottom_tip = gr.add_node(Encounter::new("NORMAL", x + 1, y - 1));
gr.add_edge(bottom, bottom_tip, ());
let side = gr.add_node(Encounter::new("CASTER", x + 2, y));
let side = gr.add_node(Encounter::new("CASTER", x + 1, y));
gr.add_edge(top_tip, side, ());
gr.add_edge(bottom_tip, side, ());
let exit = gr.add_node(Encounter::new("NORMAL", x + 3, y));
let exit = gr.add_node(Encounter::new("NORMAL", x + 2, y));
gr.add_edge(side, exit, ());
return (exit, x + 3, y);
return (exit, x + 2, y);
},
Shape::Diamond => {
let top = gr.add_node(Encounter::new("NORMAL", x + 1, y + 1));
@ -292,10 +292,10 @@ fn add_shape(shape: Shape, gr: &mut ZoneGraph, start: NodeIndex, x: i8, y: i8) -
let top_tip = gr.add_node(Encounter::new("MINIBOSS", x + 2, y + 1));
gr.add_edge(top, top_tip, ());
let bottom = gr.add_node(Encounter::new("NORMAL", x + 1, y - 1));
let bottom = gr.add_node(Encounter::new("MINIBOSS", x + 1, y - 1));
gr.add_edge(start, bottom, ());
let bottom_tip = gr.add_node(Encounter::new("MINIBOSS", x + 2, y - 1));
let bottom_tip = gr.add_node(Encounter::new("NORMAL", x + 2, y - 1));
gr.add_edge(bottom, bottom_tip, ());
let exit = gr.add_node(Encounter::new("CASTER", x + 3, y));