GithubHelp home page GithubHelp logo

rpherbig / dr-scripts Goto Github PK

View Code? Open in Web Editor NEW
53.0 53.0 175.0 20.2 MB

A series of Lich 5 (https://github.com/elanthia-online/lich-5) scripts for use with DragonRealms (http://www.play.net/dr/). Donations are welcome (http://www.paypal.me/rcuhljr)!

License: GNU General Public License v2.0

Batchfile 0.01% Shell 0.01% Ruby 99.90% Python 0.08%

dr-scripts's People

Contributors

asechrest avatar binudr avatar charleyc-dr avatar dartellum avatar dr-leustyin avatar drboldwin avatar glimmereyes avatar hazado avatar hiinky avatar hwoo79 avatar izawwlgood avatar jandersson avatar jbrock24 avatar kamarcum avatar katoakdr avatar kiriawen avatar mahtradr avatar nyctus avatar odnazvezda avatar raykyn55 avatar rcuhljr avatar robbintt avatar rpherbig avatar sarvatt avatar sekmehtdr avatar skyleronken avatar smaptastic avatar tarhish avatar urbaj-dr avatar vtcifer 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

Watchers

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

dr-scripts's Issues

Make stance syntax more flexible

Make stance syntax (in the setup file) flexible enough that I could say "Weapon" => ["shield"] and it would determine the second defensive skill dynamically

Pick script unlocked a box that was not disarmed, triggering the trap

The relevant log:

[pick: disarm(casket, normal)]
[pick]>disarm my casket normal
You begin work at disarming the casket.
You work with the trap for a while but are unable to make any progress.
You get the distinct feeling your manipulation caused something to shift inside the trap mechanism. This is not likely to be a good thing.
Roundtime: 9 sec.

[pick: disarm(casket, careful)]
[pick]>disarm my casket careful

You carefully work at disarming the casket.
You work with the trap for a while but are unable to make any progress.
Roundtime: 12 sec.

[pick]>disarm my casket analyze
You've already analyzed this trap in preparation for harvesting, there's no need to do so again.

[pick]>disarm my casket harvest
The remnants of this casket's previous trap have already been completely harvested.

[pick]>disarm my casket analyze
You've already analyzed this trap in preparation for harvesting, there's no need to do so again.

[pick]>disarm my casket harvest
The remnants of this casket's previous trap have already been completely harvested.

[pick]>pick my casket ident
The lock is a trivially constructed piece of junk barely worth your time.
However, a misshaped pine casket is not fully disarmed, making any chance of picking it unlikely.
Roundtime: 5 sec.

[pick]>pick my casket quick
You deftly remove a lockpick from the lockpick ring and begin to work at quickly picking open the casket.
You realize very quickly that this was a very bad idea...
You attempt to pull the annoying grinning face from the casket and clumsily shred the fatty bladder behind it in the process.

A black cloud of ash and soot explodes out of the bladder on the pine casket, and you suddenly feel horribly transformed.
You realize that despite this mishap, the casket still has more to torment you with.
You return your lockpick to the lockpick ring.
Roundtime: 6 sec.

Support tie/untie verbs for weapon storage

study tool
You study your toolstrap and think you could potentially PUSH, PULL, FIX, TIE (item) to toolstrap, UNTIE (item) from toolstrap, SHEATHE, and REPAIR in case it gets messed up somehow.
Your toolstrap will accept a total of 1 items. You think you can tie the following items: bow.
Your toolstrap currently has 1 item tied to it. You may LOOK ON toolstrap to see it.

untie bow
You remove a Nisha short bow from your burnished toolstrap.

tie bow to toolstrap
You attach a Nisha short bow to your burnished toolstrap.

Improve logic when bleeding

When bleeding is detected, turn on the tendme script then retreat to a set saferoom.

Experiment with the ordering of retreat, tendme, retreat, walk_to due to roundtime.

Add support for Offhand Weapon charged maneuver

The charged maneuver for the Offhand Weapon skill requires weapons in both hands. However, as currently written the script would attempt to train Offhand Weapon with an empty right hand.

See #1 .

Support a dance weapon that is not in the training list

Some weapons are better than others for parrying, and parrying is partially based on weapon skill, so it's entirely possible that you want to dance with a weapon you are not training (e.g. when backtraining). However, dancing doesn't work if you have it set to a weapon you aren't training.

This is because the script can't translate dance skill into a weapon. If we define dancing in terms of a weapon, we don't have to take that step.

Change ".select.first" pattern to use .find

@rcuhljr - your comment in IRC suggested that this pattern was used in multiple places, but I can only find one occurrence in crossing-training (in method event_loop). Feel free to update the labels if you find more.

Nonspell buffs should support an 'expire' attr

Relevant text to capture:

"You struggle, but find yourself lacking the inner fire to enact such a rage!"

form python
You feel your inner fire cool as you finish practicing the Form of the Python.

berserk avalanche
The ever-building avalanche of rage within you crashes to a sudden halt!

berserk earthquake
An aftershock of rage shudders through you one last time, before your fury crashes to a sudden halt!

weapon training order

when all combat skills are 0/34 offhand is selected before a skill that trains using a main hand weapon resulting in its combat maneuver failing

Add Performance as a trainable skill

We do have "play " and "stop play" bookending a few of the training methods, but sometimes that isn't enough to mindlock Performance before hitting the "skills capped" logic and pausing (or exiting).

Keep the play/stop logic that we have, but the script also needs to be able to train Performance itself.

Detect invasions

How do we detect an invasion?

What do we do if one is detected? Log out if health below 50%?

Script repeatedly tries to train Locksmithing

In this case, I had no boxes and Locksmithing was my lowest skill. The script repeatedly tried to train Locksmithing by calling pick but my Locksmithing did not increase since I had no boxes; so it remained the lowest skill and was then chosen to train again.

Perhaps we need to add a cooldown to Locksmithing?

Track cooldowns better

Track cooldowns in a local var, not UserVars.exp_timers. This localizes their management as well as simplifying the setup file.

Combat-trainer requires common to run first

If you run common first (or have it autostart) then combat-trainer will run.

Output from a clean Lich run:

;combat-trainer
--- Lich: combat-trainer active.
--- Lich: error: uninitialized constant Scripting::SetupProcess::DRC
combat-trainer:20:in <class:SetupProcess>' combat-trainer:19:inscript'
--- Lich: combat-trainer has exited.

Change "exit on skills capped" logic

@rcuhljr - do you make use of the exit-on-skills-capped logic in crossing-training?

If not, I'd like to change it to not-exit and instead pause 30. If you do, then a UserVar to determine which action to take should work.

Sell raw materials

Specifically, I'm interested in selling bars and nuggets.

The rummage action has a /M option:

M = Raw Materials (stone, metal ore, bone, skins, wood)

@rcuhljr suggests using the following code to avoid mistaking bar for bark:

ordinals.each do |ordinal|
        while /you get/i =~ bput("get #{ordinal} bar from my #{UserVars.main_container}", 'what were you referring', 'you get')
                if checkright == "bar"
                    fput("sell bar")
                else
                    fput("put bar in my #{UserVars.main_container}")
                    break
                end
            end
        end

Safety timer for spells

Add a safety net 60 second timer to spell casting.

Handles unknown cases where spell casting fails undetected. (backfires?)

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.