JoCaNo-Productions / flat-land

1 stars 0 forks source link

Angelo #7

Open calebmrose00 opened 5 years ago

calebmrose00 commented 5 years ago

I Actually managed to finish him in one sitting. however we will need to add:

Champion.channel() ATTACK_SUCCESSFUL constant

and he needs Review. so i guess i'll start working, on xayah. i think next should be Gillan he looks Easy.

nmay231 commented 5 years ago

I found a couple of issues:

I'll fix these myself (and a few other things), but I wanted you to know about them.

I was thinking about keeping a list of Champion specific constants either in a separate champ_constants.py file or in the champs/__init__.py file. That way we will never reuse constants. So, ANGELO_NOT_ENOUGH_HEALTH = 117 would be in that file. They should be fairly large (I think 100 is enough) to so as to never conflict with the common constants.

Questions: What exactly is channeling? Do .ability1() and/or .ability2() need to check for cooldown? Do we need a separate ATTACK_SUCCESSFUL constant or can we use SUCCESS? I think we can do the latter if you don't have any objections.

nmay231 commented 5 years ago

I also think 'tira forte' should be a mod to attack instead of being implemented in .attack(). It means we don't have to change the original Champion.attack() to allow passing an attack_damge argument. This is why there are attack mods.

We do still have to override .attack() to reset Angelo.tira_forte to zero.

EDIT: Actually, that all depends on whether tira forte damage is always True damage or not. You have it implemented as always True damage in Lungo shot but nowhere else. Is it always True damage or not?

nmay231 commented 5 years ago

One last minor thing, you can change champ.health directly. You were using self.damage(amount=20, defend=False), but you can use and should use self.health -= 20. Since I also overrode champ.__setattr__() to change self._health each time you change self.health, running self.health -= 20 works as expected.

Anyways, I've reviewed Angelo and pushed the (semi)final additions. Now, we just need to solidify the format of the wiki page.

nmay231 commented 5 years ago

Here's the original copy of the wiki stats and abilities.

Angelo

Abilities

  1. Lungo Shot - 20 Health every one range past 2.5 the following is the chance of hitting 2.5/2.5, 2.5/3, 2.5/4, 2.5/5, ect. 15 True Damage.
  2. tira forte - 20 Health every time Angelo uses tira forte before he attacks he may add 15 damage to his attack.
  3. riposo - 0 health all damage done to Angelo including from abilities is kept in a stat called Grey health. Angelo may channel for one turn and then receive all grey health as health. ten turn cool down.
  4. Ultimate: non è possibile - 200 health. the next Lungo has inf range.

Description

Angelo and his twin Giuseppe are some of the greatest fighters in the world. This Italian is the greatest bowman in the world able to to make shots other bowmen only dream of. his exploits how ever take a tremendous tole on his mental fortitude and every once in a while he may stop and recollect himself.

nmay231 commented 5 years ago

I don't think the exact probabilities of Lungo shots need to be listed in the ability description. We can have separate documentation (like an actual Wiki site) where exact information can be found (like the exact rate of degeneration of Grey Health).

We can update the current wiki page and the docstrings of the ability methods once we finish with the wording. Of course, chanelling (and until values) has yet to be fully implemented.

Angelo

Abilities

  1. Lungo Shot - 20 Health Do 15 True Damage to a player. Shots within 2.5 paces are guaranteed while farther ones become increasingly more difficult to make. No cooldown.
  2. Tira Forte - 20 Health Add 15 damage to the next regular attack or Lungo Shot. No cooldown. Max stack: 4
  3. Riposo - 0 health Convert all Grey Health to regular health after channelling for one turn. Grey Health is any health lost to regular attacks by other players or from Angelo's abilities. Grey Health slowly degenerates over time. Cooldown: 10 turns
  4. Ultimate: Non È Possibile - 200 health. The next Lungo Shot is a guaranteed hit at any range.

Description

Angelo and his twin, Giuseppe, are some of the greatest fighters in the world. This Italian bowman is the most adept in the world, able to make shots other bowmen only dream of. His exploits, however, take a tremendous toll on his mental fortitude, and every once in a while he may stop and recollect himself.

nmay231 commented 5 years ago

@JosiahRose Do you have anything to add or any clarifications to make to the wiki?

calebmrose00 commented 5 years ago

FYI i added some comment on your changes to angelo go look at them.

calebmrose00 commented 5 years ago

@nmay231 FYI i was the person who made Angelo and Giuseppe and also i added some comment on your changes to angelo go look at them.