Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- load_highscores(URL, Highscores) :-
- write('loading highscores'),
- setup_call_cleanup(
- http_open(URL, In, []),
- process(In, Highscores),
- close(In)).
- load_skillnames(SKILLURL, Skillnames) :-
- write('loading skillnames'),
- setup_call_cleanup(
- http_open(SKILLURL, In,[]),
- json_read_dict(In, Skillnames),
- close(In)
- ).
- process(In, Highscores) :-
- read_string(In, _, Str),
- split_string(Str, "\n\t ", "\n\t ", Lines),
- maplist(line_to_scores, Lines, Highscores).
- line_to_scores(Line, Scores) :-
- split_string(Line, ",", "", Str_scores),
- maplist(number_string, Scores, Str_scores).
- load_skills(Name, Result) :-
- write('loading skills'),
- Skurl = 'https://gist.githubusercontent.com/janjulius/02b75de6d47d2b712ad5123346ec00ac/raw/5659f9c6248977d526c234988bb69dc06d5a0ad1/skillnames.json',
- First = 'https://secure.runescape.com/m=hiscore_oldschool/index_lite.ws?player=',
- Second = Name,
- atomic_concat(First, Second, HREF),
- load_highscores(HREF, Result),
- load_skillnames(Skurl, Skillnames),
- write(Skillnames),
- write('load everything'),
- remember_skill(Result, Skillnames).
- remember_skill([], []).
- remember_skill(_, []).
- remember_skill(X, []).
- remember_skill([H|T], [H1|T1]) :-
- write('remembering a skill'),
- write(H1),
- write(H),
- nth0(1, H, Level),
- process_hsresults(Level, H1),
- remember_skill(T, T1).
- process_hsresults(H, H1) :-
- assert(myskill(H1, H)).
- can_do_quest(Quest, Result) :-
- requires_skill(Quest, Rl, Skill),
- atom_number(Rl, ReqLevel),
- myskill(Skill, Level),
- Level @>= ReqLevel.
- maxed(Skill) :-
- myskill(Skill, Level), Level @>= 99.
- requirements(Quest, PreQ, Lvl, Skill) :-
- requires_quest(Quest, PreQ),
- requires_skill(Quest, Lvl, Skill),
- requirements(PreQ, PreQ, Lvl, Skill).
- requiredtree(X,Y) :-
- requires_quest(X, Y).
- requiredtree(X, Y):-
- requires_quest(X, Z),
- requiredtree(Z, Y).
- skill("Attack").
- skill("Strength").
- skill("Defence").
- skill("Hitpoints").
- skill("Ranged").
- skill("Prayer").
- skill("Magic").
- skill("Cooking").
- skill("Woodcutting").
- skill("Fletching").
- skill("Fishing").
- skill("Firemaking").
- skill("Crafting").
- skill("Smithing").
- skill("Mining").
- skill("Herblore").
- skill("Agility").
- skill("Thieving").
- skill("Slayer").
- skill("Farming").
- skill("Runecraft").
- skill("Hunter").
- skill("Construction").
- quest(heroesquest).
- quest(shieldofarrav).
- quest(lostcity).
- quest(merlinscrystal).
- quest(dragonslayer).
- quest(druidicritual).
- requires_quest(heroesquest, shieldofarrav).
- requires_quest(heroesquest, lostcity).
- requires_quest(heroesquest, merlinscrystal).
- requires_quest(heroesquest, dragonslayer).
- requires_quest(heroesquest, druidicritual).
- requires_quest(druidicritual, herpes).
- requires_skill(heroesquest, '53', "Cooking").
- requires_skill(heroesquest, '53', "Fishing").
- requires_skill(heroesquest, '25', "Herblore").
- requires_skill(heroesquest, '50', "Mining").
- requires_skill(lostcity, '31', "Crafting").
- requires_skill(lostcity, '36', "Woodcutting").
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement