FOnline: Reloaded

General => Tools and Modifications => Topic started by: 3.14 on December 09, 2017, 10:31:05 am

Title: Season 3 Character Planner
Post by: 3.14 on December 09, 2017, 10:31:05 am
Since the online planer is outdated, the other one is written in Java and therefore must be evil, I've decided to roll my own.

It looks like this:
(https://s2.postimg.org/hqnyqtn61/chargen_base.png)
Or this, if you prefer style over functionality (and don't have epilepsy):
(https://s2.postimg.org/z3y95oard/chargen_shader.png)
The files it saves look like this (plain text):
Code: [Select]
FOnline:Reloaded Season 3 Character:
S: 1
P: 2
E: 10
C: 9
I: 3
A: 9
L: 10

Level: 60

Traits:
 -Fast Metabolism
 -One Hander

Perks:
 -Boneyard Guard (2)
 -Repair x10 (2)
 -First Aid x10 (2)
 -Small Guns x10 (2)
 -Outdoorsman x10 (2)
 -Barter x10 (2)
 -Science x10 (2)
 -Strong Back (2)
 -Snakeater (2)
 -Pack Rat (3)
 -More Critical (3)
 -Even More Criticals (6)
 -Sharpshooter (9)
 -Gain LK (12)
 -Better Critical (15)
 -Bonus Rate of Attack (18)
 -Gain CH (21)
 -Lifegiver 1 (24)
 -Gecko Skinning (60)
 -Sex Appeal (60)
 -Magnetic Personality (60)
 -Speaker (60)

Skills:
 +Small Guns:  209
 -Big Guns:    18
 -Energy Guns: 19
 -Close Combat:50
 -Throwing:    49
 +First Aid:   132
 -Doctor:      17
 -Lockpick:    21
 -Repair:      83
 -Science:     91
 -Outdoorsman: 71
 -Scavenging:  0
 -Sneak:       32
 -Steal:       27
 -Traps:       25
 +Speech:      300
 -Gambling:    40
 -Barter:      94

Stats:
Armor Class:      27
Action Points:     9
Carry Weight:     78
Melee Damage:      1
Poison Res.:      80
Radiation Res.:   40
Healing Rate:     24
Crit. Chance:     25
CC. Crit. Chance: 25
Hit Points:       221
HP/Level:         5.0
SP/Level:         11
Party Points:    240
Sight:            32
FA healed:        92
Doc cooldown:    180

Download for Windows 64bit:
https://drive.google.com/file/d/1_keVf1oitHViXZV0Sv4FLE2QZYGxPLT3/view?usp=sharing

If you're running on anything other then win64 (osx, linux, win32) install Python3.6 from:
https://www.python.org/downloads/
then run from a console/command prompt/shell:
Code: [Select]
python pip install panda3dand finally run the character planner via main.py
Code: [Select]
python main.py

Feel free to post bugs and feature requests or even to fix the bugs and write your own features because it's all open source.
Title: Re: Season 3 Character Planner
Post by: Henry on January 14, 2018, 07:32:19 pm
Whoah. How did i miss this.
Title: Re: Season 3 Character Planner
Post by: Corosive on January 15, 2018, 11:21:18 am
OMG NICE!
Title: Re: Season 3 Character Planner
Post by: 3.14 on January 15, 2018, 03:08:54 pm
There's actually been a partial update to the planer, you can see the effect of drugs now, level up and down and some bugs have been fixed. Next weekend I should have the 'inventory' part complete, so one can select a gun and armor for a target and the editor will calculate hit chance, damage and critical effects (and maybe some statistics like damage to action points ratio, damage per second, etc).

I can also do feature requests.   
Title: Re: Season 3 Character Planner
Post by: 3.14 on January 20, 2018, 10:59:37 am
I need some help to get this finished. The info on the wiki is somewhat incomplete and without this info I'm stuck.

The problem is critical hits effects.
In the wiki I see entries like "3x DMG Roll Knockdown" but there is no info what should be rolled. There are also entries like "3.5x DMG Roll LK Blinded Bypass Knockout" Should I understand that as "if the Luck roll fails, target is blinded, his armor bypassed and target is knocked out" or  "if the Luck roll fails, target is blinded and regardless of the luck roll his armor bypassed and target is knocked out" or "if a Luck roll fails target is blinded, if another Luck roll fails his armor is bypassed and if yet another Luck roll fails target is knocked out".
Also armor bypass? Elsewhere the wiki says "New bypass mechanics (replaced old 0/1 bypasses from critical table)" so is the critical hit table all wrong or just a bit wrong?

Anyway... at least I got the damage calculator going, you can now select a weapon and target stats and see the damage calculated with critical hits, bypass and armor stats.
(https://s9.postimg.org/ledukebl7/chargen_screen_2.png) (https://postimg.org/image/ledukebl7/)

DOWNLOAD LINK (still the same):
https://drive.google.com/file/d/1_keVf1oitHViXZV0Sv4FLE2QZYGxPLT3/view?usp=sharing
Title: Re: Season 3 Character Planner
Post by: Seki on January 20, 2018, 06:28:24 pm
dont look at wiki, some effects in wiki was moved to another line making it very confusing about what is rolled and what is not
original table can be found here (https://forum.fonline-reloaded.net/index.php?topic=1708.msg36603#msg36603)

if line has only effect then this effect (example "KO") then this effect is granted
if line has "roll EN-2 KO, Blind" it means that it compares random number (0-10) to your endurance, if your endurance-2 is lower then this random number then you will get KO and blinded, if its higher then you wont

so for example  71-90 roll to head is .. 3x dmg, granted KD and if you fail en-2 roll then you also get KO
there are some bugs like on 71-90 eyes its rolling your lk vs blind but there is also granted blind for some reason so that blind roll vs lk is pointless unless i am missing something

it was long time since i played last time so i dont remember how rolls without stats work anymore though like for example "roll KD"
but if you search a lot then i am sure you will find it in some of mojuk's post, he understands this better then me  :)
Title: Re: Season 3 Character Planner
Post by: Henry on January 20, 2018, 10:57:25 pm
You're asking the same questions that I asked, back when i was trying to make a planner, and i still don't have answers but Seki's above looks like some gold.

So if you're taking dev requests...i have a few, based on some features i was working on:

1) I want a planner that will allow me to plan a build, and save that build plan, with a name. Then i plan a new build and save that one too. So more of a planner database, with numerous builds saved. Then when i start a new build, i can use a drop-down to choose an existing build as a template, which pre-populates all fields in my new build record. I then change it, name it, and save it as yet another build record. It has a field called "Name" which is unique, and a field called "Reference Build" or something like that, which is the build i used to start this build, or "new" by default.

2) I want the above planner to allow me to track the actual characters i register in-game, not just builds. So i start a new character record, use a drop-down to choose a build from the list (above feature), and pre-populate all fields. Then change it to match the alt i have in-game, and add the Char ID (from the game), and track tons of stuff related to him. (So it's a small database, not just a dynamic tool). Character records should also include Season number.

3) The ability to choose a weapon is excellent! I would want a planner to start with my weapon choice. That decision should drive a Sight range value which imo should be clear in the planner so you know if the build has enough, ie the Sight value turns green if it exceeds your gun range, red if it falls short, or blue it it's a match.

4) Devs like you are awesome. Thanks! But ppl come and go and old planners don't get updated because, well life happens. So i want a planner that allows me, the user, to make perk/trait changes. If the user can edit the perks and traits (and likely more), then we're not so dependent on you to keep updating the planner.
Title: Re: Season 3 Character Planner
Post by: 3.14 on January 21, 2018, 04:04:49 pm
Thanks for the info. For the no stat roll entries I'll just put 50% chance of it happening and we'll all pretend that's how it works.

For the features - I can serialize builds to a sqlite database so you could even do full text search, google style - eg. type in 'monika, strength>=5, sharpshooter, hp>200' to find all builds with 5 or more strength, with the sharpshooter perk and more then 200 hit points and with 'monika' in their name.

I'm not sure about tracking online characters - if there's a api for VTDB then maybe, if I'd need to scrap the data from a webpage then I don't know if I have patience for that.

The planer already shows at what range you have 95% hit chance and sight range, I'll just compare that with the weapon range and show the info.

My planer is written in Python (with some c++ and glsl under the hood, but nobody needs to touch that), so it's plane text, no sdk, no compiling, you can change it using notepad. I'll even add some docstrings and make a tutorial on how to add perks, traits, guns and all, maybe I should also put it on github so it won't get lost on my google drive.

...but it looks like it will take yet another weekend or two to complete (maybe faster if someone wants to send me a dollar to motivate me).           
Title: Re: Season 3 Character Planner
Post by: jankes on January 21, 2018, 07:49:00 pm
Interesting application I gonna give it a shot. Thanks for sharing.
Title: Re: Season 3 Character Planner
Post by: Mad Matt on January 22, 2018, 12:52:08 am
On my PC it's running smooth but what about my notebook with XP OS? Python 3.6.4 doesn't work on it.
Title: Re: Season 3 Character Planner
Post by: Henry on January 25, 2018, 12:01:56 am
I'm not sure about tracking online characters - if there's a api for VTDB then maybe, if I'd need to scrap the data from a webpage then I don't know if I have patience for that.     

For tracking character info, no need to scrape data. I only meant we the users would manually enter our characters' data.

I just thought of another one. The planners i have seen sometimes have two columns of SPECIAL. If you look at any build now on the wiki, you'll see 4 columns. I want that in a planner too: one column is what you register, next column is what you get when done leveling (because GAIN perks are good now), third column is when on intended drugs, and last column of SPECIAL is after intended implants.

It could also have a few simple Yes/No fields for:
* Drugs: Yes/No
* Implants: Yes/No
* PvP Viable
Title: Re: Season 3 Character Planner
Post by: Corosive on January 25, 2018, 07:17:09 am
Hey, great work, man! But can you host it somewhere online via  a website? It's hard to trust 3rd party homebrew apps lol.
Title: Re: Season 3 Character Planner
Post by: 3.14 on January 28, 2018, 11:33:55 am
Update time!
DOWNLOAD LINK (still the same I hope):
https://drive.google.com/file/d/1_keVf1oitHViXZV0Sv4FLE2QZYGxPLT3/view?usp=sharing
SOURCE (also included in the base download package):
https://github.com/wezu/fonline_chargen

What's new:
-code posted on Github: https://github.com/wezu/fonline_chargen
-docstrings added to most functions and some data structures
-made the script (somewhat) compatible with python 2.7, so running on windows xp may be possible
-save/load functionality:
(https://s9.postimg.org/73iqlrvwf/chargen_save.png)
You can now save a build to a searchable database, you can call the build whatever you want and also add meaningful tags (like pvp_viable, season3, drugs...).   The database is searchable so you can type in keyword-tags, name, name of perks or traits and the program will find all the builds that fulfil these criteria. 

How to use the search functions:
1. Separate keywords with commas
Code: [Select]
some tag, foobar, pvp_viable2. Don't use quotes:
good:
Code: [Select]
some long ass tag, some other even longer ass tagbad:
Code: [Select]
"some long ass tag", 'some other even longer ass tag'3. Use comparison operators(=, >, <, <=, >=) on known keys (listed at the end of this post)
Code: [Select]
ap>10, hp=200, Small Guns>250
4. Combine comparison  search with keyword if needed
Code: [Select]
ap>10, hp=200, Small Guns>250, some long ass tag, in your face
5. Try to break it and report!

Known keys:
name
s
p
e
c
i
a
l
pp
sight
ac
ap
carry_weight
melee
crit_chance
crit_chance_cc
crit_power
crit_power_cc
lvl
small_guns
big_guns
energy_guns
close_combat
throwing
first_aid
doctor
lockpick
repair
science
outdoorsman
scavenging
sneak
steal
traps
speech
gambling
barter
party_points
party_point
action_point
action_points
critical_chance
critical_power
energy_weapons
ew
sg
bg
fa
od
doc
level
lv
cc
hth
hit_points
hit_point
health
str
strength
pe
per
perception
en
end
endurance
cha
ch
charisma
int
ag
agi
agility
lc
lck
lk
luck

A final word about safety and compatibility:
Some data is stored in a sqlite data base in form of a Python pickle, and that creates a potential attack vector (execute arbitrary code) if you copy the database file (save.db) from an untrusted source. Because of that there is no easy option to share the build with others. Also the pickle protocol is different for py2 and py3 so if you try to use the same database on different python versions it will fail... and also the sqlite version shipped by default with python 2.7 has no support for fts4 (full text search) and therefore the whole database module will most likely crash unless one updates the sqlite package manually. I'll try to make a package that is build with the right library for windows xp, python 2.7, 32bit next weekend.



Hey, great work, man! But can you host it somewhere online via  a website? It's hard to trust 3rd party homebrew apps lol.
Sure, where do you want me to post it?
Title: Re: Season 3 Character Planner
Post by: jankes on January 28, 2018, 12:06:03 pm
I guess Corosive wants web app planner too.
Title: Re: Season 3 Character Planner
Post by: 3.14 on January 28, 2018, 01:46:45 pm
I guess Corosive wants web app planner too.

Oh, don't count on that. I've made this tool because I needed it for myself and I'm sharing it out of the kindness of my tiny black heart, I don't feel like adding feature that I would never use and turning this into a web app is exactly that. I guesstimate it would take me another 100ish man-hours to compile it to javascript (cause I never done that before) and nobody here is crazy enough to pay me $10/h to actually do it. So, don't count on that :P

Having said that - Panda3D (the game engine this actually runs on), has some experimental WebGL port, if that ever goes out of the proof-o-concept stage, then there might very well be a web port of the character planner. 



I also forgot to mention that critical hit effects are now also displayed (as % chance that a effect happens).
Title: Re: Season 3 Character Planner
Post by: IXxTNTxXI on June 02, 2018, 07:06:30 am
There is a Bug with "Boneyard Guard SG/BG/EW/CC/THW". In game i get 10% bonus to tagged skills. In planer i get 20% bonus.