Code Monkey home page Code Monkey logo

pokete's Introduction

About me

Hi there ๐Ÿ‘‹๏ธ,

I'm a web3 and game developer, using:

  • Cosmos-sdk and go
  • Vue.js
  • Next.js
  • Python
  • Rust
  • C#

I like creating terminal based games using scrap_engine.

Blog

My stats

lxgr-linux's GitHub stats

Top Langs

pokete's People

Contributors

bentaylor25 avatar bubstance avatar dagonali avatar developer-3 avatar douloureux avatar exoutia avatar greatericontop avatar jenniferdewan avatar lxgr-linux avatar mafelp avatar magnus-isu avatar malnjayz avatar ondrejmyska avatar phaberest avatar pythondominator avatar redst0neflux avatar rossogilvie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pokete's Issues

Can't free poketes

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
When you have five poketes, the game crashes when you try to free one. I commented out the code which is supposed to re-pack the deck and the crash disappeared. The error was "NoneType" has no attribute and something about balls.

To Reproduce
Steps to reproduce the behavior:

  1. Get 5 poketes
  2. Open deck
  3. Free a pokete
  4. Game crashes

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment

  • OS: [e.g. Linux]
  • Pokete version [e.g. 1.1.0]
  • Python version [e.g. 3.10.1]
  • Scrap engine version [e.g. 1.1.0]

Additional context
Add any other context about the problem here.

Able to Free All Pokete

Checklist
I have:

  • [ *] Searched the Issues page for my problem/feature request
  • [ *] Updated all related software and Pokete it self

Describe the bug
The game allows you to free all pokete from your deck which breaks encounters. If you enter an encounter with no pokete the only action you can take is to run, if you manage to do try anything else the game will crash.

To Reproduce
Steps to reproduce the behavior:

  1. open your "deck" and press "free" for all pokete

Expected behavior
the game ought limit limit you from freeing your last pokete.

Environment

  • OS: [Void 5.15.45]
  • Pokete version [ 0.7.2]
  • Python version [3.10.5]
  • Scrap Engine version [1.2.0]

Sound

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Battle sounds and ambient music added to the game

Mind Blow confuses target even if the attack misses

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
The game will say Mind Blow missed, but the confusion status is still given to the victim.

Both i.hp <= 0

Checklist
I have:

  • [*] Searched the Issues page for my problem/feature request
  • [*] Updated all related software and Pokete it self

Describe the bug
IndexError when both pokete are at hp 0, possible due to effects such as burning and poison.
Caused by winner = [i for i in players if i.hp > 0][0]

To Reproduce
Steps to reproduce the behavior:

  1. Run ./pokete.py
  2. In a match, end with both pokete at hp 0

Expected behavior
The game crashes to the terminal with python error IndexError

Environment

  • OS: Artix 5.18.2
  • Pokete version 0.7.2
  • Python version 3.10.5
  • Scrap engine version 1.2.0

A few ideas to make the game more balanced

I have a few ideas to balance the game and make it more fun.

  • Scale up XP when defeating an enemy with a higher level than the player. When I defeat a higher-level creature, I still only get maybe four XP. It's disappointing. It's much easier to catch higher level creatures than it is to level up the weak ones you already have.
  • Attacks that hit their target should deal at least 1 HP of damage. I've gotten "stuck" a couple times attacking an enemy over and over without doing any damage. On one occasion, the enemy ran out of moves and lost with a nearly full HP bar.
  • Confusion and paralysis should have a chance of "failing", allowing the affected creature to attack normally for the turn.
  • Adjust NPC levels based on player's strongest creature, so you don't get stuck in unexpected level 30 vs level 11 fights (for example, the Electrode on Route 7).

Game crashed in starting town after winning a fight

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
Game crashed in starting town after winning a fight
It seems to be leveling up that does it

To Reproduce
Steps to reproduce the behavior:
Level up

Expected behavior
No crash

Commenting out the line seems to work, and it sounds like its aesthetic. I don't know the structure of the classes to do a real fix

Screenshots
Traceback (most recent call last):
File "/home/mag/Documents/code/gamedev/random/pokete/./pokete.py", line 1543, in
main()
File "/home/mag/Documents/code/gamedev/random/pokete/./pokete.py", line 1200, in main
game.game(figure.map)
File "/home/mag/Documents/code/gamedev/random/pokete/./pokete.py", line 1022, in _game
figure.set(figure.x + x, figure.y + y)
File "/usr/lib/python3.10/site-packages/scrap_engine.py", line 283, in set
obj.action(self)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/doors.py", line 58, in action
super().action(ob)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/doors.py", line 40, in action
game.game(obmp.ob_maps[self.arg_proto["map"]])
File "/home/mag/Documents/code/gamedev/random/pokete/./pokete.py", line 1022, in _game
figure.set(figure.x + x, figure.y + y)
File "/usr/lib/python3.10/site-packages/scrap_engine.py", line 283, in set
obj.action(self)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/doors.py", line 25, in action
game.game(ob.map)
File "/home/mag/Documents/code/gamedev/random/pokete/./pokete.py", line 1022, in _game
figure.set(figure.x + x, figure.y + y)
File "/usr/lib/python3.10/site-packages/scrap_engine.py", line 283, in set
obj.action(self)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/doors.py", line 58, in action
super().action(ob)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/doors.py", line 40, in action
game.game(obmp.ob_maps[self.arg_proto["map"]])
File "/home/mag/Documents/code/gamedev/random/pokete/./pokete.py", line 1022, in _game
figure.set(figure.x + x, figure.y + y)
File "/usr/lib/python3.10/site-packages/scrap_engine.py", line 283, in set
obj.action(self)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/doors.py", line 25, in action
game.game(ob.map)
File "/home/mag/Documents/code/gamedev/random/pokete/./pokete.py", line 1022, in _game
figure.set(figure.x + x, figure.y + y)
File "/usr/lib/python3.10/site-packages/scrap_engine.py", line 283, in set
obj.action(self)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/doors.py", line 58, in action
super().action(ob)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/doors.py", line 40, in action
game.game(obmp.ob_maps[self.arg_proto["map"]])
File "/home/mag/Documents/code/gamedev/random/pokete/./pokete.py", line 1022, in _game
figure.set(figure.x + x, figure.y + y)
File "/usr/lib/python3.10/site-packages/scrap_engine.py", line 283, in set
obj.action(self)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/doors.py", line 25, in action
game.game(ob.map)
File "/home/mag/Documents/code/gamedev/random/pokete/./pokete.py", line 1022, in _game
figure.set(figure.x + x, figure.y + y)
File "/usr/lib/python3.10/site-packages/scrap_engine.py", line 283, in set
obj.action(self)
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/landscape.py", line 30, in action
fm.fightmap.fight(
File "/home/mag/Documents/code/gamedev/random/pokete/pokete_classes/fightmap.py", line 386, in fight
winner.moves.shine()
AttributeError: 'Figure' object has no attribute 'moves'. Did you mean: 'pokes'?

Environment

  • OS: Arch Linux
  • Pokete version: 0.7.2
  • Python version: 3.10.5
  • Scrap engine version: AUR git package

Additional context
Add any other context about the problem here.

Images are broken in wiki pages

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
The images in wiki have relative paths instead of full urls as indicated in GitHub's docs

To Reproduce
Steps to reproduce the behavior:

  1. Go to a wiki page
  2. See

Screenshots
Screenshot 2022-06-17 at 11 38 35

I don't have access to wiki editing, but the fix should be as easy as adding https://github.com/lxgr-linux/pokete/blob/master prefix to every image URL

Play-over-Yggdrasil

Is your feature request related to a problem? Please describe.
There's a cute overlay network called yggdrasil. It's an IPv6 network where you don't need to configure port forwarding or NAT punching for anything.

If we can get pokete work with IPv6, we could allow people on yggdrasil trade poketes and, when PvP system is implemented, play against each other.

Describe the solution you'd like

  • Change networking logic to allow for listening on IPv6 on tun devices

Better Mod Docs

I'm wondering if it would be possible to release a more detailed modding documentation. The example.py doesn't really help. Thanks!

Game crashes after entering your name and the initial conversation

Checklist
I have:

  • [ X ] Searched the Issues page for my problem/feature request
  • [ X ] Updated all related software and Pokete it self

Describe the bug
After starting the game, entering my name, and and going through the initial conversation and error occurs dealing with settings in file ./pokete_classes/audio.py line 16

To Reproduce
Steps to reproduce the behavior:

  1. Clone repo
  2. create venv & install deps
  3. run python pokete.py
  4. Enter name
  5. Go through intro conversation
  6. See error
--R--o-----------------------------------------------------------------------------------------------------------------------------------------1: Deck  2: Exit  3: Map  4: Inv.  5: Dex  6: Clock  ?: Help                                                                                   
Process Process-1:
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/rcarl/Projects/pokete/pokete_classes/audio.py", line 16, in audio_fn
    while settings("audio").val:
  File "/Users/rcarl/Projects/pokete/pokete_classes/settings.py", line 68, in __call__
    return [i for i in self.settings if i.name == name][0]
IndexError: list index out of range

Expected behavior
Expect game to proceed as normal

Environment

  • OS: macos
  • Pokete version 0.7.2
  • Python version 3.8
  • Scrap engine version [e.g. 1.1.0]

Additional context
Add any other context about the problem here.

Pokete should be on itch.io

itch.io is a FOSS-supporting indi game platform. I think that it would be very cool to buy it from you over there.

It's one of the few FOSS platforms that has a culture of actually paying it's developers. And this is exactly the type of game that I'm looking for over there < 3.

Weird player's name input behavior

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
The game prompts you to enter the player's name on the start screen. If you press the non-characters and non-numbers keys, for example Home|End|Number, garbage appears in the input field.

To Reproduce
Steps to reproduce the behavior:

  1. Go to game begin.
  2. Try to press any non-character or non-number keys while typing player's name
  3. See error

Expected behavior
It was expected that there would be no new characters in the player's name when weird keys are pressed.

Screenshots
image

Environment

  • OS: Win10
  • Pokete version: 0.6.0
  • Python version 3.9.7
  • Scrap engine version 1.2.0

help

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      _____      _        _                                                          |  __ \    | |      | |                                                         | |__) |__ | | _____| |_ ___                                                    |  ___/ _ \| |/ / _ \ __/ _ \                                                   | |  | (_) |   <  __/ ||  __/                                                   |_|   \___/|_|\_\___|\__\___|                                                   v0.6.0           Grey Edition                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

Traceback (most recent call last):
File "./pokete.py", line 1735, in
logging.basicConfig(filename=log_file,
File "/usr/lib/python3.8/logging/init.py", line 2009, in basicConfig
raise ValueError('Unrecognised argument(s): %s' % keys)
ValueError: Unrecognised argument(s): encoding

please tell me why and how to fix it ,thanks

Spelling and grammar

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
Some words are spelled in a wrong way, for example "allready" should be "already", when talking about preexisting statuses.
Some grammatical constructs like "itself" vs "it self" are misused. BTW, it's misused in the PR template as well!

To Reproduce
Steps to reproduce the behavior:

  1. Get Gobost
  2. Cast confusion (the opponent will damage itself and the status line will say "it self")
  3. Cast confusion again (the opponent will likely still have confusion, so the message will say "allready")

Expected behavior

  • "itself" is spelled "itself" rather than "it self"
  • "already" is spelled "already" rather than "allready"

Proper PvE system

Is your feature request related to a problem? Please describe.
The game, currently, feels like a puzzle in assembling a team such that it can deal with way stronger opponents effectively. Potions, however, create an unwanted cushion of safety and the fact that opponents don't heal their poketes makes these "boss fights" a tad less challenging. Below is a list of changes I propose to get a better baseline PvE as well as a system to be implemented in PvE which would eventually allow us to have PvP.

Describe the solution you'd like

  1. Roll back the defeated pokete reselection rule. Maybe instead of showing the menu at 0 HP, show it when the HP go to red, saying something like Losing a pokete means losing a fight. Do you want to reselect now?. I think that needing to keep poketes alive to continue the fight is very reasonable and creates more depth, especially in early game.
  2. Make arenas have finality. Once you enter, you either lose or win all four trainers.
  3. Make a defeat of a pokete have more consequences. Something like random(1,6):
    • 1, 2 - pokete refuses to be at the first slot forever or loses "brave";
    • 3, 4, 5 - pokete loses level,
    • 6 - pokete runs away from you because you're a bad trainer.
  4. Nerf potions: make small potion heal 3, not 5 (net 1 in an even fight, net 0 or less at a disadvantage, net 2 at an advantage). Make big potions heal 5.
  5. Implement multi-pokete foes. As the final step to more challenging PvE, place a 4-pokete lvl 40+ final boss in Agrawos with final pokete being a Mocow of lvl 50, which is awarded to the player. (Speaking of which, I would love to have a vegan version where the player saves a Mocow instead of sending it to slaughter... Maybe gets a fire pokete and burns the burget bar in Agrawos down?!)

Some wiki links don't work anymore

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Some wiki links don't work anymore because of attack name changes.
This is related to #130.

pipenv install pynput error

Checklist
I have:

  • [Y] Searched the Issues page for my problem/feature request
  • [Y] Updated all related software and Pokete it self

Describe the bug
pipenv.exceptions.InstallError]: ERROR: Could not find a version that satisfies the requirement pynput>=2.11 (from versions: 0.2, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.1, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.2, 1.3, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.3.8.1, 1.3.9, 1.3.10, 1.4, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6, 1.6.7, 1.6.8, 1.7.0, 1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.7.6)

To Reproduce
Steps to reproduce the behavior:

  1. run pipenv install --dev

Expected behavior
The pipenv environment is created successfully

Screenshots
image
image

Environment

  • OS: [Macos 12.4]
  • Pokete version [latest]
  • Python version [3.10.5]

SyntaxError: invalid syntax

Checklist
I have:

  • [ y] Searched the Issues page for my problem/feature request
  • [ y] Updated all related software and Pokete it self

Describe the bug
File "pokete.py", line 166
if (index := deck(6, "Your deck", True)) is None:
^
SyntaxError: invalid syntax

To Reproduce
Steps to reproduce the behavior:

  1. install required packages
  2. run pokete.py

Expected behavior
run up

Screenshots
image

Environment

  • OS: [ windows10]
  • Pokete version [master brach]
  • Python version [3.7]
  • Scrap engine version [1.2.0]

Additional context
Add any other context about the problem here.

Feature Request: Attacks are first-level options in the fight screen, not found in a submenu.

Is your feature request related to a problem? Please describe.
I'm always frustrated when doing an attack which isn't on 1, especially in grindy parts of the game, because I need to deliberately hit 1 then 2 for example.

Describe the solution you'd like
It would be much nicer if attacks were bound to 1234 by default, and other actions were bound to I for inventory, P for deck, R for run, B for pokedex, consistently in every screen for example.

Feature request: Better information about what attacks do.

Is your feature request related to a problem? Please describe.
I'm always frustrated when I have no idea what polish does as a new player.

Describe the solution you'd like
Tell me what it does.
I see its in the deck, but the flavor text should note it too after using the power, or you should be able to see your buffs somehow or something.

in game keys still on terminal after exit

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
when i close the game all the keys i pushed in the game still on terminal after close.

To Reproduce
Steps to reproduce the behavior:

  1. open game
  2. play a little
  3. quit game
  4. See error

Expected behavior
i dont want to see any in game keys after close game.

Screenshots
image

Environment

  • OS: mac osx monterrey
  • Pokete version: master branch
  • Python version: 3.9
  • Scrap engine version: i dont know
  • default os terminal

Additional context
NA

Fix typos

Nice Towm
Bad indents with dialogs

Roll for initiative

Is your feature request related to a problem? Please describe.
It's rather unfortunate that by picking a high INI pokete I can more or less guarantee being able to run away from poketes of a comparable level.

Describe the solution you'd like
I would like for the right of the first move to be randomised. I'm not sure about the formula, but something like random(1, 15) + Initiative could skew the probabilities just enough.

Fight with next pokemon when the previous dies

Is your feature request related to a problem? Please describe.
Well, I really don't like to have a fight with a pokemon, lose it, and then I cannot use another one I own to continue the fight.

Describe the solution you'd like
Just be able to choose another pokemon to fight when the last one died. Just like the original game.

I'd like to thank for the game so far!! Enjoying it a lot.

Some conversations aren't surrounded by brackets

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
Some conversations aren't surrounded by < angle brackets >

To Reproduce
Steps to reproduce the behavior:

  1. Go to Cave Town
    3.Defeat Trainer
  2. < You get $20

Expected behavior
All conversations are surrounded by brackets on both sides. Make it impossible to screw up, have a method which takes a string and shows the string within brackets.

Environment

  • Pokete version: 0.7.2
  • Python version 3.10.5
  • Scrap engine version git aur package

Second type

It would be a great idea to add a second tape to every Pokete to justify that some Poketes have attacks that don't belong to their type. But those types shouldn't have any effect on the vulnerability to other types.

Use $XDG_STATE_HOME for storing state

Pokete's gamesave is stored in ~/.cache, which is not an appropriate path for storing such data. The author probably meant to use $XDG_CACHE_HOME which usually resolves to the same path. However, according to the XDG Base Directory Specification, we should use $XDG_STATE_HOME. Alternatively "If $XDG_STATE_HOME is either not set or empty, a default equal to $HOME/.local/state should be used" (the spec).

Alternatively, Pokete could introduce a configuration file (stored in $XDG_CONFIG_HOME or $XDG_CONFIG_DIRS) in which we can configure the path where the gamesave is stored. Another alternative would be to introduce a command-line flag.

The why: ~/.cache is periodically cleaned up by some users (including me), so storing essential data there is incredibly inconvenient, and also isn't appropriate according to the XDG Base Directory Specification, stating "the base directory relative to which user-specific non-essential data files should be stored".

Add Poketedex

A Poketedex mechanism should be added to keep track of what Poketes have been caught at all.

Pokete crashes when opening pokete dex

Pokete crashes when opening pokete dex:

Traceback (most recent call last):
                                    File "./pokete.py", line 2923, in <module>
                                                                                  main()
          File "./pokete.py", line 2439, in main
                                                    intro()
                                                             File "./pokete.py", line 2341, in intro
                        game(ob_maps["intromap"])
                                                   File "./pokete.py", line 2276, in game
             figure.set(figure.x + x, figure.y + y)
                                                     File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
       obj.action(self)
                         File "./pokete.py", line 266, in action
                                                                    game(ob_maps[self.arg_proto["map"]])
                          File "./pokete.py", line 2276, in game
                                                                    figure.set(figure.x + x, figure.y + y)
                            File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                                              obj.action(self)
                                                                                File "./pokete.py", line 266, in action
                                           game(ob_maps[self.arg_proto["map"]])
                                                                                 File "./pokete.py", line 2276, in game
                                           figure.set(figure.x + x, figure.y + y)
   File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                     obj.action(self)
                                                       File "./pokete.py", line 253, in action
                  game(figure.map)
                                    File "./pokete.py", line 2276, in game
                                                                              figure.set(figure.x + x, figure.y + y)
                                      File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                                                        obj.action(self)
          File "./pokete.py", line 266, in action
                                                     game(ob_maps[self.arg_proto["map"]])
           File "./pokete.py", line 2276, in game
                                                     figure.set(figure.x + x, figure.y + y)
             File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                               obj.action(self)
                                                                 File "./pokete.py", line 253, in action
                            game(figure.map)
                                              File "./pokete.py", line 2276, in game
        figure.set(figure.x + x, figure.y + y)
                                                File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                                                                  obj.action(self)
                    File "./pokete.py", line 266, in action
                                                               game(ob_maps[self.arg_proto["map"]])
                     File "./pokete.py", line 2276, in game
                                                               figure.set(figure.x + x, figure.y + y)
                       File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                                         obj.action(self)
                                                                           File "./pokete.py", line 253, in action
                                      game(figure.map)
                                                        File "./pokete.py", line 2276, in game
                  figure.set(figure.x + x, figure.y + y)
                                                          File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
            obj.action(self)
                              File "./pokete.py", line 266, in action
                                                                         game(ob_maps[self.arg_proto["map"]])
                               File "./pokete.py", line 2276, in game
                                                                         figure.set(figure.x + x, figure.y + y)
                                 File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                                                   obj.action(self)
     File "./pokete.py", line 253, in action
                                                game(figure.map)
                                                                  File "./pokete.py", line 2276, in game
                            figure.set(figure.x + x, figure.y + y)
                                                                    File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                      obj.action(self)
                                        File "./pokete.py", line 266, in action
                                                                                   game(ob_maps[self.arg_proto["map"]])
                                         File "./pokete.py", line 2276, in game
                                                                                   figure.set(figure.x + x, figure.y + y)
                                           File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                                                             obj.action(self)
               File "./pokete.py", line 253, in action
                                                          game(figure.map)
                                                                            File "./pokete.py", line 2276, in game
                                      figure.set(figure.x + x, figure.y + y)
                                                                              File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                obj.action(self)
                                                  File "./pokete.py", line 266, in action
             game(ob_maps[self.arg_proto["map"]])
                                                   File "./pokete.py", line 2276, in game
             figure.set(figure.x + x, figure.y + y)
                                                     File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
       obj.action(self)
                         File "./pokete.py", line 253, in action
                                                                    game(figure.map)
      File "./pokete.py", line 2276, in game
                                                figure.set(figure.x + x, figure.y + y)
        File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                          obj.action(self)
                                                            File "./pokete.py", line 266, in action
                       game(ob_maps[self.arg_proto["map"]])
                                                             File "./pokete.py", line 2276, in game
                       figure.set(figure.x + x, figure.y + y)
                                                               File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                 obj.action(self)
                                   File "./pokete.py", line 253, in action
                                                                              game(figure.map)
                File "./pokete.py", line 2276, in game
                                                          figure.set(figure.x + x, figure.y + y)
                  File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                                                    obj.action(self)
                                                                      File "./pokete.py", line 266, in action
                                 game(ob_maps[self.arg_proto["map"]])
                                                                       File "./pokete.py", line 2276, in game
                                 figure.set(figure.x + x, figure.y + y)
                                                                         File "/informatik1/students/home/1pmeyer/.local/lib/python3.8/site-packages/scrap_engine.py", line 274, in set
                           obj.action(self)
                                             File "./pokete.py", line 253, in action
        game(figure.map)
                          File "./pokete.py", line 2281, in game
                                                                    exec(inp_dict[ev])
        File "<string>", line 1, in <module>
                                            NameError: name 'pokes' is not defined

PC stuck on first level.

Checklist
I have:

  • [ x] Searched the Issues page for my problem/feature request
  • [ x] Updated all related software and Pokete it self

Describe the bug
Player character is stuck on first level. Even after beating first npc and catching poketes still unable to move outside of original boundary.

To Reproduce
Steps to reproduce the behavior:

  1. Fresh install of scrap_engine, python3, and pokete
  2. run $ git clone 'url'
  3. run $ ./pokete/pokete.py
  4. unable to progress past first fight. (screen does not scroll/move when getting to edges)

Expected behavior
Expect more of the map to appear as suggested when hitting (3).

Environment

  • OS: [Ubuntu 22.04]
  • Pokete version [0.7.2]
  • Python version [3.10.4]
  • Scrap engine version [unknown] (installed on June 10, 2022)

Additional context
Using alacritty 0.11.0 minimized.

Feel free to close if I just missed the intended method of progression.

The first town really has to be improved

Most users tent to dislike the first Town, or the introduction to the game in general.
They most of the time directly fight against the first trainer, and therefore loose like here.
And that' for sure not good.

Therefore the first town needs a redo:

  • The player has to be further introduced to the mechanics and rules of the game
  • The player has to win they first fight and has to catch their first Pokete easily.
  • A nerf of the first met Poketes levels is definitely needed
  • The first trainer has to be (re)moved back a bit and should be replaced by a friendly NPC introducing the first fight
  • Also another map between the first map and the cave should be added to compensate the nerf and not throw the player into could water after the introduction
  • This can also be used as a starting point for a possible story

Crash after when starting first trainer fight

Fought in tall grass just below start
Tried to catch the rat unsuccessful about 10 times - always said missed even though it looked like it just escaped
Killed it
Healed at center
Encountered trainer
Crash

Traceback (most recent call last): File "/home/cupric/tmp/./pokete/pokete.py", line 1407, in <module> main() File "/home/cupric/tmp/./pokete/pokete.py", line 980, in main File "/home/cupric/tmp/./pokete/pokete.py", line 937, in game figure.set(figure.x+x, figure.y+y) File "/home/cupric/tmp/pokete/scrap_engine.py", line 162, in set File "/home/cupric/tmp/./pokete/pokete.py", line 155, in action game(self.arg_proto["map"]) File "/home/cupric/tmp/./pokete/pokete.py", line 937, in game File "/home/cupric/tmp/pokete/scrap_engine.py", line 162, in set ob.action(self) File "/home/cupric/tmp/./pokete/pokete.py", line 146, in action trainer.do(map) File "/home/cupric/tmp/./pokete/pokete.py", line 91, in do winner = fight([poke for poke in figure.pokes[:6] if poke.hp > 0][0], self.poke, info={"type": "duel", "player": self}) File "/home/cupric/tmp/./pokete/pokete.py", line 721, in fight attack = ob.attac_obs[int(eval(ev))]

Pokete disguise

Is your feature request related to a problem? Please describe.
While thinking about PvP (and related to #146) "Maybe gets a fire pokete and burns the burget bar in Agrawos down?!)", I've been thinking about a feature "disguising poketes" or illusion pokete modifier, who have a special ability "disguise as" accessible from the deck editor. Finding a strong fire illusion pokete and disguising it as a Mocow could be a "vegan" ending for the burger quest!

Describe the solution you'd like
Add an "illusion" modifier to poketes (meaning that there may be poketes that are illusion ground or illusion flying, just as there are brave ground and relaxed flying, etc).
Make normal poketes effective against illusion poketes.
Allow illusion poketes transform into poketes they have defeated in deck editor. This retains the original pokete's abilities, just changes the appearance of an illusion pokete.

Have an idea to do i18n

Is your feature request related to a problem? Please describe.
my english is bad...

Describe the solution you'd like
add i18n

Describe alternatives you've considered
your (and or) me

Additional context
image

Diagonal Movement

In the game, I can not hold two directional movement keys at once to move in a diagonal line. This isn't very pleasant when navigating around the map. Please implement this; if you don't I will do it myself via pull request.

Implement PvP

Is your feature request related to a problem? Please describe.
After #146 and #148 are implemented, there should be enough features to implement "challenge others on the network" feature.

Describe the solution you'd like
In any pokete centre, one can host a 6 pokete v 6 pokete match, during which players can't use any items.

unable to run

Checklist
I have:

  • [x ] Searched the Issues page for my problem/feature request
  • [ x] Updated all related software and Pokete it self

Describe the bug
Won't run, I get this error:

Traceback (most recent call last):
File "./pokete/pokete.py", line 1735, in
logging.basicConfig(filename=log_file,
File "/usr/lib64/python3.8/logging/init.py", line 2009, in basicConfig
raise ValueError('Unrecognised argument(s): %s' % keys)
ValueError: Unrecognised argument(s): encoding

To Reproduce
unable to run
just ./pokete/pokete.py gives me the above error

Expected behavior
Should

Screenshots
If applicable, add screenshots to help explain your problem.

Environment

  • OS: OpenSUSE Tumbleweed
  • Pokete version: 0.6.0
  • Python version: 3.10
  • Scrap engine version: 1.2.0

Glitched commandprompt

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
I just open pokete.py and the commandprompt looks weird,
It also pops up a random error notification
image

Environment

  • OS: Windows 10
  • Pokete version 0.72
  • Python version 3.10 (From MSStore)
  • Scrap engine version 1.20

Need to create the pokete directory in $HOME/.cache

Checklist
I have:

  • Searched the Issues page for my problem/feature request
  • Updated all related software and Pokete it self

Describe the bug
The application does not create a directory that it needs in order to run $HOME/.cache/pokete/

To Reproduce
Steps to reproduce the behavior:

  1. Go the download page on github
  2. Download the 0.7.2 AppImage
  3. Make it executable
  4. Run it

Expected behavior
The game runs

Screenshots

Traceback (most recent call last):
  File "/tmp/.mount_Pokete9O4pjc/usr/share/pokete/pokete.py", line 1411, in <module>
    logging.basicConfig(filename=log_file,
  File "/tmp/.mount_Pokete9O4pjc/usr/lib/python3.10/logging/__init__.py", line 2031, in basicConfig
    h = FileHandler(filename, mode,
  File "/tmp/.mount_Pokete9O4pjc/usr/lib/python3.10/logging/__init__.py", line 1167, in __init__
    StreamHandler.__init__(self, self._open())
  File "/tmp/.mount_Pokete9O4pjc/usr/lib/python3.10/logging/__init__.py", line 1197, in _open
    return open_func(self.baseFilename, self.mode,
FileNotFoundError: [Errno 2] No such file or directory: '/home/zeitue/.cache/pokete/pokete.log'

Environment

  • OS: Pop_OS! 22.04
  • Pokete version 0.7.2
  • Python version 3.10.4
  • Scrap engine version Whatever is in the appimage

Additional context
If you create the directory $HOME/.cache/pokete, then the application runs as expected

Rebindable keys

Is your feature request related to a problem? Please describe.
Rebindable keys should be added, since it was requested several times.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.