fix node placement and evasion
This commit is contained in:
parent
2d918af744
commit
ade555e391
@ -33,6 +33,7 @@ strangle
|
|||||||
|
|
||||||
## NOW
|
## NOW
|
||||||
* check zone completion
|
* check zone completion
|
||||||
|
* recalc evasion rating
|
||||||
|
|
||||||
## SOON
|
## SOON
|
||||||
* clean up categories
|
* clean up categories
|
||||||
|
|||||||
@ -538,10 +538,10 @@ impl Cryp {
|
|||||||
let mut rng = thread_rng();
|
let mut rng = thread_rng();
|
||||||
let hp_pct = (self.hp.base * 100) / self.stamina.base;
|
let hp_pct = (self.hp.base * 100) / self.stamina.base;
|
||||||
let evasion_rating = (self.evasion.base * hp_pct) / 100;
|
let evasion_rating = (self.evasion.base * hp_pct) / 100;
|
||||||
// println!("{:?}", evasion_rating);
|
|
||||||
let roll = rng.gen_range(0, 100);
|
let roll = rng.gen_range(0, 100);
|
||||||
|
println!("{:} < {:?}", roll, evasion_rating);
|
||||||
|
|
||||||
match roll > evasion_rating {
|
match roll < evasion_rating {
|
||||||
true => Some(ResolutionResult::Evasion {
|
true => Some(ResolutionResult::Evasion {
|
||||||
skill,
|
skill,
|
||||||
evasion_rating: evasion_rating,
|
evasion_rating: evasion_rating,
|
||||||
|
|||||||
@ -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));
|
let exit = gr.add_node(Encounter::new("NORMAL", x + 1, y));
|
||||||
gr.add_edge(next, exit, ());
|
gr.add_edge(next, exit, ());
|
||||||
|
|
||||||
return (start, x + 1, y);
|
return (exit, x + 1, y);
|
||||||
},
|
},
|
||||||
Shape::Plus => {
|
Shape::Plus => {
|
||||||
let top = gr.add_node(Encounter::new("MINIBOSS", x, y + 1));
|
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, ());
|
gr.add_edge(start, exit, ());
|
||||||
|
|
||||||
// connect top and exit for an extra chance
|
// connect top and exit for an extra chance
|
||||||
gr.add_edge(start, exit, ());
|
gr.add_edge(top, exit, ());
|
||||||
gr.add_edge(start, exit, ());
|
gr.add_edge(bottom, exit, ());
|
||||||
|
|
||||||
return (exit, x + 1, y);
|
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));
|
let bottom_tip = gr.add_node(Encounter::new("NORMAL", x + 1, y - 1));
|
||||||
gr.add_edge(bottom, bottom_tip, ());
|
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(top_tip, side, ());
|
||||||
gr.add_edge(bottom_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, ());
|
gr.add_edge(side, exit, ());
|
||||||
|
|
||||||
return (exit, x + 3, y);
|
return (exit, x + 2, y);
|
||||||
},
|
},
|
||||||
Shape::Diamond => {
|
Shape::Diamond => {
|
||||||
let top = gr.add_node(Encounter::new("NORMAL", x + 1, y + 1));
|
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));
|
let top_tip = gr.add_node(Encounter::new("MINIBOSS", x + 2, y + 1));
|
||||||
gr.add_edge(top, top_tip, ());
|
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, ());
|
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, ());
|
gr.add_edge(bottom, bottom_tip, ());
|
||||||
|
|
||||||
let exit = gr.add_node(Encounter::new("CASTER", x + 3, y));
|
let exit = gr.add_node(Encounter::new("CASTER", x + 3, y));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user