mirror of
https://github.com/solero/houdini.git
synced 2024-11-09 20:58:20 +00:00
Card-jitsu water working (#98)
* add card-jitsu water * remove autogenerated file * part 1 Co-authored-by: Levi <contact@lekuru.xyz> * formatting part 2 Co-authored-by: Levi <contact@lekuru.xyz> * formatting part 3 Co-authored-by: Levi <contact@lekuru.xyz> * formatting part 4 Co-authored-by: Levi <contact@lekuru.xyz> * formatting part 5 Co-authored-by: Levi <contact@lekuru.xyz> * formatting part 6 Co-authored-by: Levi <contact@lekuru.xyz> * formatting part 7 Co-authored-by: Levi <contact@lekuru.xyz> * formatting part 8 Co-authored-by: Levi <contact@lekuru.xyz> * formatting part 9 Co-authored-by: Levi <contact@lekuru.xyz> * formatting part 8 Co-authored-by: Levi <contact@lekuru.xyz> * More formatting changes Co-authored-by: Levi <contact@lekuru.xyz> * add watermatch * add proper handling of the amulet client value --------- Co-authored-by: Levi <contact@lekuru.xyz>
This commit is contained in:
parent
5815b9a0f1
commit
d1f31950d3
File diff suppressed because it is too large
Load Diff
@ -34,6 +34,7 @@ WaddleLogicMapping = {
|
|||||||
'sensei': SenseiLogic,
|
'sensei': SenseiLogic,
|
||||||
|
|
||||||
'water': CardJitsuWaterLogic,
|
'water': CardJitsuWaterLogic,
|
||||||
|
'watermatch': CardJitsuWaterLogic,
|
||||||
'watersensei': WaterSenseiLogic,
|
'watersensei': WaterSenseiLogic,
|
||||||
|
|
||||||
'fire': FireMatLogic,
|
'fire': FireMatLogic,
|
||||||
|
@ -3,6 +3,7 @@ from houdini.handlers import XTPacket
|
|||||||
from houdini.data.penguin import Penguin
|
from houdini.data.penguin import Penguin
|
||||||
from houdini.handlers.games.ninja.card import get_threshold_for_rank, get_exp_difference_to_next_rank
|
from houdini.handlers.games.ninja.card import get_threshold_for_rank, get_exp_difference_to_next_rank
|
||||||
from houdini.handlers.games.ninja.fire import get_fire_rank_threshold
|
from houdini.handlers.games.ninja.fire import get_fire_rank_threshold
|
||||||
|
from houdini.handlers.games.ninja.water import get_water_rank_threshold
|
||||||
|
|
||||||
# rank doesn't need to be known, but requiring it since it is always known and is simpler/faster to compute
|
# rank doesn't need to be known, but requiring it since it is always known and is simpler/faster to compute
|
||||||
def get_percentage_to_next_belt(xp: int, rank: int) -> int:
|
def get_percentage_to_next_belt(xp: int, rank: int) -> int:
|
||||||
@ -14,6 +15,14 @@ def get_percentage_to_next_fire_item(xp: int, rank: int) -> int:
|
|||||||
cur_threshold = get_fire_rank_threshold(rank)
|
cur_threshold = get_fire_rank_threshold(rank)
|
||||||
return int((xp - cur_threshold) / (get_fire_rank_threshold(rank + 1) - cur_threshold) * 100)
|
return int((xp - cur_threshold) / (get_fire_rank_threshold(rank + 1) - cur_threshold) * 100)
|
||||||
|
|
||||||
|
def get_percentage_to_next_water_item(exp: float, rank: int) -> int:
|
||||||
|
"""Get the percentage to the next water item"""
|
||||||
|
if rank >= 4:
|
||||||
|
return 0
|
||||||
|
cur_threshold = get_water_rank_threshold(rank)
|
||||||
|
next_threshold = get_water_rank_threshold(rank + 1)
|
||||||
|
return int((exp - cur_threshold) / (next_threshold - cur_threshold) * 100)
|
||||||
|
|
||||||
@handlers.handler(XTPacket('ni', 'gnr'))
|
@handlers.handler(XTPacket('ni', 'gnr'))
|
||||||
@handlers.cooldown(2)
|
@handlers.cooldown(2)
|
||||||
async def handle_get_ninja_ranks(p, penguin_id: int):
|
async def handle_get_ninja_ranks(p, penguin_id: int):
|
||||||
@ -34,7 +43,7 @@ async def handle_get_fire_level(p):
|
|||||||
|
|
||||||
@handlers.handler(XTPacket('ni', 'gwl'))
|
@handlers.handler(XTPacket('ni', 'gwl'))
|
||||||
async def handle_get_water_level(p):
|
async def handle_get_water_level(p):
|
||||||
await p.send_xt('gwl', p.water_ninja_rank, p.water_ninja_progress, 5)
|
await p.send_xt('gwl', p.water_ninja_rank, get_percentage_to_next_water_item(p.water_ninja_progress, p.water_ninja_rank), 5)
|
||||||
|
|
||||||
|
|
||||||
@handlers.handler(XTPacket('ni', 'gsl'))
|
@handlers.handler(XTPacket('ni', 'gsl'))
|
||||||
|
Loading…
Reference in New Issue
Block a user