kemcbride / neolib Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jdongian/neolib
Py2 - automate Neopets stuff for fun!
License: MIT License
This project forked from jdongian/neolib
Py2 - automate Neopets stuff for fun!
License: MIT License
In order to have the game play itself you kind of need to have it be able to select which skill point to chose when you level up.
This is totally doable! The art is definitely in crafting a build that is "good" but I mean I'm not here for that.
So far I'm implementing a thing that takes ordered "objectives", and tries to complete each one before moving to the next. IDK, it seems pretty simple to me but even now I can kind of feel that it's lacking.
In any case, this necessitates some changes to how skills are loaded along with some new code for actually loading builds and updating them as "objectives" are completed.
Going over the bank module showed me that collecting interest was broken.
Going over the inventory module showed me that User Inventory was broken.
Maybe worthwhile to get some tests, also?
Haven't done this yet at all...
It's probably really similar to how they do it in 'new game' screens though.
Then, relatedly, how to actually describe and follow a sequence of 'level up' steps given at the start of a playthrough. (Probably a different issue though)
The bare minimum example given in README.md no longer works. the getPage("http://www.neopets.com") call in usr.login() now returns a page stating that StackPath has blocked the request:
ie. for tests, so you can turn it off from like within the test module.
( there is probably a way to do it now, and i should do it... )
(but issues are for delegation, right?)
Well, I assumed it'd be just like using the overworld, but it's a little bit different... (of course).
My first idea for even allowing NPC interaction was to create a "local action" list on a State, and then have the main module/object interact with that by calling "local_action()" - but here comes a kicker - what if there's more than one possible local action?
That's not too tough, but it'd be nice to be able to surface the possible actions in a way that makes
easy and sensible and blah blah.
Kind of related to #1 - we need to kinda, make the "game state" visible and accessible for each 'mode' as I'm calling it.
Yeah, state isn't the "best" name, I get it...
Talk screens going relatively well...
I guess the 'give' part is a part of the Talk mode so there's that.
Ganbaro!
well, my initial idea is to do somesort of "let's create a graph and save it as a file" strategy.
I'm coming up with problems already though...
The current format for the game state is... alright... but I mean... could be better, maybe?
Specifically the battle state repr. It couldn't be that hard, probably. ;)
Battle state:
ipdb> nq.curr_state
Name: Darling_Eunice | Level: 1 | Health: 19/25 Experience: 0 | Difficulty: Normal
Darling_EuniceA fire imp Health: 19/25 Weapon: Yellow WandArmour: none Health: 4/10 Level: 1 You do nothing. A fire imp blasts you for 3 damage!
Attack Flee Do nothing
ipdb> nq.attack()
Name: Darling_Eunice | Level: 1 | Health: 17/25 Experience: 0 | Difficulty: Normal
Darling_EuniceA fire imp Health: 17/25 Weapon: Yellow WandArmour: none Health: 1/10 Level: 1 You blast a fire imp for 3 damage!A fire imp blasts you for 2 damage!
Attack Flee Do nothing
ipdb> nq.attack()
Name: Darling_Eunice | Level: 1 | Health: 15/25 Experience: 0 | Difficulty: Normal
Darling_EuniceA fire imp Health: 15/25 Weapon: Yellow WandArmour: none Health: 1/10 Level: 1 You attack a fire imp, but miss!A fire imp blasts you for 2 damage!
Attack Flee Do nothing
ipdb> nq.attack()
Overworld state:
ipdb> nq.move(DIR.S)
Name: Darling_Eunice | Level: 1 | Health: 15/25 Experience: 102 | Difficulty: Normal
You are in Neopia City. You see Lummock Sendent here. Talk to Lummock Sendent.
ipdb> nq.move(DIR.S)
Name: Darling_Eunice | Level: 1 | Health: 15/25 Experience: 102 | Difficulty: Normal
You are in Neopia City.
ipdb> nq.move(DIR.W)
Name: Darling_Eunice | Level: 1 | Health: 15/25 Experience: 102 | Difficulty: Normal
You are in Neopia Palace. You see Eleus Batrin here. Talk to Eleus Batrin.
wouldn't this be nice? that way your pets aren't dying all the time. especially if you get like, one omelette a day. plus a jelly, even.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.