combat
This commit is contained in:
parent
86094dce12
commit
9ea8361ba9
12
README.md
12
README.md
@ -5,9 +5,21 @@
|
|||||||
## Rolling
|
## Rolling
|
||||||
stat & rng
|
stat & rng
|
||||||
block hash or totally random
|
block hash or totally random
|
||||||
|
roll server that prints a roll every second?
|
||||||
|
|
||||||
friendship on ties?
|
friendship on ties?
|
||||||
|
|
||||||
|
Def
|
||||||
|
0001011011001100110101000000101111100110101111110100100001000001 - roll
|
||||||
|
0000000000000000000000000000000000000000000000000000000000001111 ^ steel armour
|
||||||
|
0000000000000000000000000000000000000000000000000000001111000000 ^ stoney trait
|
||||||
|
0001011011001100110101000000101111100110101111110100101111001111 = modified roll
|
||||||
|
0000000000000000000000000000000000000000000000000000000111000010 & def attribute
|
||||||
|
0000000000000000000000000000000000000000000000000000000111000010 = roll w/ stats
|
||||||
|
|
||||||
|
0000000000000000000000000000000000000000000000000000000001000000 = roll w/out stats
|
||||||
|
|
||||||
|
|
||||||
## missions
|
## missions
|
||||||
also the idea is like
|
also the idea is like
|
||||||
the currency is kinda like path right
|
the currency is kinda like path right
|
||||||
|
|||||||
@ -33,12 +33,10 @@ struct Encounter {
|
|||||||
success: bool,
|
success: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fn att_roll(value: u64, att: Attribute) -> Roll {
|
fn att_roll(value: u64, att: Attribute) -> Roll {
|
||||||
let mut rng = thread_rng();
|
let mut rng = thread_rng();
|
||||||
let roll: u64 = rng.gen();
|
let roll: u64 = rng.gen();
|
||||||
return Roll { att, value, roll, result: value & roll };
|
return Roll { att, value, roll, result: value ^ roll };
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print_roll(r: &Roll) {
|
fn print_roll(r: &Roll) {
|
||||||
@ -54,8 +52,8 @@ fn cryp_turn(c: &Cryp) -> Turn {
|
|||||||
let dmg = att_roll(c.dmg, Attribute::Dmg);
|
let dmg = att_roll(c.dmg, Attribute::Dmg);
|
||||||
let def = att_roll(c.def, Attribute::Def);
|
let def = att_roll(c.def, Attribute::Def);
|
||||||
|
|
||||||
// print_roll(&dmg);
|
print_roll(&dmg);
|
||||||
// print_roll(&def);
|
print_roll(&def);
|
||||||
|
|
||||||
return Turn { dmg, def }
|
return Turn { dmg, def }
|
||||||
}
|
}
|
||||||
@ -149,6 +147,7 @@ pub fn levelling(mut c: Cryp) -> Cryp {
|
|||||||
c = c.add_xp();
|
c = c.add_xp();
|
||||||
println!("{:?} now has {:?} xp and is lvl {:?}", c.name, c.xp, c.lvl);
|
println!("{:?} now has {:?} xp and is lvl {:?}", c.name, c.xp, c.lvl);
|
||||||
|
|
||||||
|
// LEVEL CAP
|
||||||
if c.lvl == 12 {
|
if c.lvl == 12 {
|
||||||
break c;
|
break c;
|
||||||
}
|
}
|
||||||
@ -157,3 +156,19 @@ pub fn levelling(mut c: Cryp) -> Cryp {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use *;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn pve_test() {
|
||||||
|
let player = Cryp::new()
|
||||||
|
.named("ca phe sua da".to_string())
|
||||||
|
.level(2)
|
||||||
|
.create();
|
||||||
|
|
||||||
|
levelling(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
17
src/cryp.rs
17
src/cryp.rs
@ -74,3 +74,20 @@ impl Cryp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use *;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn create_cryp_test() {
|
||||||
|
let level_two = Cryp::new()
|
||||||
|
.named("hatchling".to_string())
|
||||||
|
.level(2)
|
||||||
|
.create();
|
||||||
|
assert!(level_two.dmg <= 2_u64.pow(2));
|
||||||
|
assert!(level_two.def <= 2_u64.pow(2));
|
||||||
|
assert!(level_two.stam < 2_u64.pow(2));
|
||||||
|
println!("{:?}", level_two);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
24
src/lib.rs
24
src/lib.rs
@ -45,29 +45,5 @@ mod tests {
|
|||||||
main();
|
main();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#[test]
|
|
||||||
fn create_cryp_test() {
|
|
||||||
let lvl_eight = Cryp::new()
|
|
||||||
.named("hatchling".to_string())
|
|
||||||
.level(2)
|
|
||||||
.create();
|
|
||||||
assert!(lvl_eight.dmg <= 2_u64.pow(2));
|
|
||||||
assert!(lvl_eight.def <= 2_u64.pow(2));
|
|
||||||
assert!(lvl_eight.stam < 2_u64.pow(2));
|
|
||||||
println!("{:?}", lvl_eight);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn pve_test() {
|
|
||||||
let player = Cryp::new()
|
|
||||||
.named("ca phe sua da".to_string())
|
|
||||||
.level(2)
|
|
||||||
.create();
|
|
||||||
|
|
||||||
levelling(player);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user