Skip to content

Commit 4ac88c9

Browse files
feribqyte
andauthored
Multi timeline! (only test Retail & SoD lol) (#12)
* fork classic era * fux SetFont arg #3 * Update buttons.lua * add ele * fix warstomp * fix ele * add LightningShield * add resto shamy * test holy * basic holy * add basic balance druid * updated resto shamy * updated readme * test priv warr * test * Actions (#9) * Update README.md * Actions (#10) * add actions * fix typo * fix path * better now? * Update master.yml * cleaned up? * fix Light dir * fix extglob * updated Light mv * hacky fix * updated obf type * fixed * fix curl * fix config and write * fix * fix * test log * test * fix gitmodule * add subs * fix sub ssh key * add PAT token * fix pat * fix * final cleanup? * firt rogue rune :3 * updated rogue for PvP * new rune :3 * add shadowp * add hibernating low mana * Update README.md * smoll changes * Actions (#11) * add actions * fix typo * fix path * better now? * Update master.yml * cleaned up? * fix Light dir * fix extglob * updated Light mv * hacky fix * updated obf type * fixed * fix curl * fix config and write * fix * fix * test log * test * fix gitmodule * add subs * fix sub ssh key * add PAT token * fix pat * fix * final cleanup? * firt rogue rune :3 * updated rogue for PvP * new rune :3 * add shadowp * test multi timeline * fix Retail glow & spell info * fix glow era * updated readme * fix actions --------- Co-authored-by: wildst@r <[email protected]>
1 parent 3e71a37 commit 4ac88c9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+3648
-114
lines changed

.github/workflows/master.yml

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: .NET Build
2+
3+
on:
4+
push:
5+
branches: [ master, classic_era, actions ]
6+
7+
jobs:
8+
build:
9+
10+
runs-on: ubuntu-latest
11+
steps:
12+
13+
- uses: actions/checkout@v3
14+
with:
15+
submodules: recursive
16+
token: ${{ secrets.PAT_TOKEN }}
17+
18+
- name: Install dependencies
19+
run: |
20+
sudo apt-get install jq curl -y
21+
22+
- name: LuaObfuscator on 'private_r37p8j war2'
23+
shell: bash {0}
24+
run: |
25+
curl -X POST https://luaobfuscator.com/api/obfuscator/newscript \
26+
-H "Content-type: text/html" \
27+
-H "apikey: test" \
28+
--data-binary @rotations_vanilla/private_r37p8j/warrior.lua \
29+
| curl -X POST https://luaobfuscator.com/api/obfuscator/obfuscate \
30+
-H "Content-type: application/json" \
31+
-H "apikey: test" \
32+
--data "{\"MinifiyAll\":false,\"Multifile\":true,\"CustomPlugins\":{\"SwizzleLookups\":[100],\"EncryptFuncDeclaration\":[100],\"ControlFlowFlattenV1AllBlocks\":[100],\"JunkifyAllIfStatements\":[100],\"MutateAllLiterals\":[100,40],\"Minifier\":true}}" \
33+
-H "sessionId: $(grep -o -P '(?<="sessionId":").*(?="})')" \
34+
| jq -r ".code" \
35+
> tmp
36+
mv tmp rotations_vanilla/private_r37p8j/warrior.lua
37+
38+
- name: Cleanup root directory
39+
shell: bash {0}
40+
run: |
41+
rm -rf ./img
42+
rm -rf ./docs
43+
rm -rf ./.git
44+
rm -rf ./.github
45+
rm -rf ./.gitignore
46+
rm -rf ./.gitmodules
47+
rm -rf ./.editorconfig
48+
rm -rf ./rotations_vanilla/private_r37p8j/.git
49+
mkdir Light
50+
mv * ./Light || true
51+
52+
- name: Create artifact
53+
uses: actions/upload-artifact@v1
54+
with:
55+
name: Light
56+
path: ./

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "rotations_vanilla/private_r37p8j"]
2+
path = rotations_vanilla/private_r37p8j
3+
url = [email protected]:ferib/PrivateRotations.git

Light.toc

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Interface: 11302
1+
## Interface: 11510
22
## Title: |cffebdec2Light|r
33
## Notes: May the light be with you!
44
## SavedVariablesPerCharacter: Light
@@ -21,4 +21,6 @@ libs\LibDraw-1.0\LibDraw.lua
2121
libs\LibBossIDs-1.0\LibBossIDs-1.0.lua
2222
libs\json\json.lua
2323
libs\lua-multipart\multipart.lua
24+
2425
light.xml
26+
LightVanilla.xml

Light.xml

-31
Original file line numberDiff line numberDiff line change
@@ -32,35 +32,4 @@
3232
<Script file="system\environment\unit.lua" />
3333
<Script file="system\rotation\rotation.lua" />
3434
<Script file="system\rotation\timer.lua" />
35-
36-
<!-- SPELLBOOKS -->
37-
<Script file="rotations\druid\spellbook.lua" />
38-
<Script file="rotations\priest\spellbook.lua" />
39-
<Script file="rotations\mage\spellbook.lua" />
40-
<Script file="rotations\paladin\spellbook.lua" />
41-
<Script file="rotations\hunter\spellbook.lua" />
42-
<Script file="rotations\rogue\spellbook.lua" />
43-
<Script file="rotations\shaman\spellbook.lua" />
44-
<Script file="rotations\warlock\spellbook.lua" />
45-
<Script file="rotations\warrior\spellbook.lua" />
46-
47-
<!-- ROTATIONS -->
48-
<Script file="rotations\druid\druid.lua" />
49-
<Script file="rotations\priest\priest.lua" />
50-
<Script file="rotations\priest\priest_buddy.lua" />
51-
<Script file="rotations\mage\mage.lua" />
52-
<Script file="rotations\mage\mage_buddy.lua" />
53-
<Script file="rotations\paladin\paladin.lua" />
54-
<Script file="rotations\hunter\hunter.lua" />
55-
<Script file="rotations\rogue\rogue.lua" />
56-
<Script file="rotations\shaman\shaman.lua" />
57-
<Script file="rotations\warlock\warlock.lua" />
58-
<Script file="rotations\warlock\dotlock.lua" />
59-
<!--<Script file="rotations\warlock\furrylock.lua" />-->
60-
<Script file="rotations\warrior\warrior.lua" />
61-
<script file="rotations\deathknight\deathknight_private.lua"/>
62-
63-
<!-- MISC -->
64-
<Script file="system\support\patches.lua" />
65-
<Script file="system\support\ready.lua" />
6635
</Ui>

LightMainline.xml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
2+
..\FrameXML\UI.xsd">
3+
4+
<!-- SPELLBOOKS -->
5+
<Script file="rotations_sl\druid\spellbook.lua" />
6+
<Script file="rotations_sl\priest\spellbook.lua" />
7+
<Script file="rotations_sl\mage\spellbook.lua" />
8+
<Script file="rotations_sl\paladin\spellbook.lua" />
9+
<Script file="rotations_sl\hunter\spellbook.lua" />
10+
<Script file="rotations_sl\rogue\spellbook.lua" />
11+
<Script file="rotations_sl\shaman\spellbook.lua" />
12+
<Script file="rotations_sl\warlock\spellbook.lua" />
13+
<Script file="rotations_sl\warrior\spellbook.lua" />
14+
15+
<!-- ROTATIONS -->
16+
<Script file="rotations_sl\druid\druid.lua" />
17+
<Script file="rotations_sl\priest\priest.lua" />
18+
<Script file="rotations_sl\priest\priest_buddy.lua" />
19+
<Script file="rotations_sl\mage\mage.lua" />
20+
<Script file="rotations_sl\mage\mage_buddy.lua" />
21+
<Script file="rotations_sl\paladin\paladin.lua" />
22+
<Script file="rotations_sl\hunter\hunter.lua" />
23+
<Script file="rotations_sl\rogue\rogue.lua" />
24+
<Script file="rotations_sl\shaman\shaman.lua" />
25+
<Script file="rotations_sl\warlock\warlock.lua" />
26+
<Script file="rotations_sl\warlock\dotlock.lua" />
27+
<Script file="rotations_sl\warrior\warrior.lua" />
28+
29+
<!-- Private, not mine -->
30+
<Script file="rotations_vanilla\private_r37p8j\warrior.lua" />
31+
32+
<!-- MISC -->
33+
<Script file="system\support\patches.lua" />
34+
<Script file="system\support\ready.lua" />
35+
</Ui>

LightVanilla.xml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
2+
..\FrameXML\UI.xsd">
3+
4+
<!-- SPELLBOOKS -->
5+
<Script file="rotations_vanilla\druid\spellbook.lua" />
6+
<Script file="rotations_vanilla\priest\spellbook.lua" />
7+
<Script file="rotations_vanilla\mage\spellbook.lua" />
8+
<Script file="rotations_vanilla\paladin\spellbook.lua" />
9+
<Script file="rotations_vanilla\hunter\spellbook.lua" />
10+
<Script file="rotations_vanilla\rogue\spellbook.lua" />
11+
<Script file="rotations_vanilla\shaman\spellbook.lua" />
12+
<Script file="rotations_vanilla\warlock\spellbook.lua" />
13+
<Script file="rotations_vanilla\warrior\spellbook.lua" />
14+
15+
<!-- ROTATIONS -->
16+
<Script file="rotations_vanilla\druid\druid.lua" />
17+
<Script file="rotations_vanilla\priest\priest.lua" />
18+
<Script file="rotations_vanilla\priest\shadow.lua" />
19+
<Script file="rotations_vanilla\priest\holy.lua" />
20+
<Script file="rotations_vanilla\priest\holyd.lua" />
21+
<Script file="rotations_vanilla\priest\priest_buddy.lua" />
22+
<Script file="rotations_vanilla\mage\mage.lua" />
23+
<Script file="rotations_vanilla\mage\mage_buddy.lua" />
24+
<Script file="rotations_vanilla\paladin\paladin.lua" />
25+
<Script file="rotations_vanilla\hunter\hunter.lua" />
26+
<Script file="rotations_vanilla\rogue\rogue.lua" />
27+
<Script file="rotations_vanilla\shaman\shaman.lua" />
28+
<Script file="rotations_vanilla\shaman\elemental.lua" />
29+
<Script file="rotations_vanilla\shaman\restoration.lua" />
30+
<Script file="rotations_vanilla\warlock\warlock.lua" />
31+
<Script file="rotations_vanilla\warlock\dotlock.lua" />
32+
<!--<Script file="rotations_vanilla\warlock\furrylock.lua" />-->
33+
<Script file="rotations_vanilla\warrior\warrior.lua" />
34+
35+
<!-- Private, not mine -->
36+
<Script file="rotations_vanilla\private_r37p8j\warrior.lua" />
37+
38+
<!-- MISC -->
39+
<Script file="system\support\patches.lua" />
40+
<Script file="system\support\ready.lua" />
41+
</Ui>

LightWrath.xml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
2+
..\FrameXML\UI.xsd">
3+
4+
<!-- SPELLBOOKS -->
5+
<Script file="rotations_vanilla\druid\spellbook.lua" />
6+
<Script file="rotations_vanilla\priest\spellbook.lua" />
7+
<Script file="rotations_vanilla\mage\spellbook.lua" />
8+
<Script file="rotations_vanilla\paladin\spellbook.lua" />
9+
<Script file="rotations_vanilla\hunter\spellbook.lua" />
10+
<Script file="rotations_vanilla\rogue\spellbook.lua" />
11+
<Script file="rotations_vanilla\shaman\spellbook.lua" />
12+
<Script file="rotations_vanilla\warlock\spellbook.lua" />
13+
<Script file="rotations_vanilla\warrior\spellbook.lua" />
14+
15+
16+
<!-- MISC -->
17+
<Script file="system\support\patches.lua" />
18+
<Script file="system\support\ready.lua" />
19+
</Ui>

Light_Mainline.toc

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
## Interface: 100206
2+
## Title: |cffebdec2Light|r
3+
## Notes: May the light be with you!
4+
## SavedVariablesPerCharacter: Light
5+
## LoadOnDemand: 0
6+
## DefaultState: enabled
7+
## Version: 1.0.0
8+
9+
libs\LibStub-1.0\LibStub.lua
10+
libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
11+
libs\LibSharedMedia-3.0\LibSharedMedia-3.0.lua
12+
# libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua
13+
libs\DiesalTools-1.0\DiesalTools-1.0.lua
14+
libs\DiesalStyle-1.0\DiesalStyle-1.0.lua
15+
libs\DiesalGUI-1.0\DiesalGUI-1.0.xml
16+
libs\DiesalMenu-1.0\DiesalMenu-1.0.xml
17+
# libs\LibDispellable-1.0-bfa\LibDispellable-1.0.lua
18+
# libs\LibClassicCasterino\LibClassicCasterino.lua
19+
libs\LibDraw-1.0\LibDraw.lua
20+
# libs\LibAddonCompat-1.0\LibAddonCompat-1.0.lua
21+
libs\LibBossIDs-1.0\LibBossIDs-1.0.lua
22+
libs\json\json.lua
23+
libs\lua-multipart\multipart.lua
24+
25+
light.xml
26+
lightMainline.xml

Light_Vanilla.toc

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
## Interface: 11510
2+
## Title: |cffebdec2Light|r
3+
## Notes: May the light be with you!
4+
## SavedVariablesPerCharacter: Light
5+
## LoadOnDemand: 0
6+
## DefaultState: enabled
7+
## Version: 1.0.0
8+
9+
libs\LibStub-1.0\LibStub.lua
10+
libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
11+
libs\LibSharedMedia-3.0\LibSharedMedia-3.0.lua
12+
# libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua
13+
libs\DiesalTools-1.0\DiesalTools-1.0.lua
14+
libs\DiesalStyle-1.0\DiesalStyle-1.0.lua
15+
libs\DiesalGUI-1.0\DiesalGUI-1.0.xml
16+
libs\DiesalMenu-1.0\DiesalMenu-1.0.xml
17+
# libs\LibDispellable-1.0-bfa\LibDispellable-1.0.lua
18+
# libs\LibClassicCasterino\LibClassicCasterino.lua
19+
libs\LibDraw-1.0\LibDraw.lua
20+
# libs\LibAddonCompat-1.0\LibAddonCompat-1.0.lua
21+
libs\LibBossIDs-1.0\LibBossIDs-1.0.lua
22+
libs\json\json.lua
23+
libs\lua-multipart\multipart.lua
24+
25+
light.xml
26+
LightVanilla.xml

Light_Wrath.toc

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
## Interface: 30403
2+
## Title: |cffebdec2Light|r
3+
## Notes: May the light be with you!
4+
## SavedVariablesPerCharacter: Light
5+
## LoadOnDemand: 0
6+
## DefaultState: enabled
7+
## Version: 1.0.0
8+
9+
libs\LibStub-1.0\LibStub.lua
10+
libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
11+
libs\LibSharedMedia-3.0\LibSharedMedia-3.0.lua
12+
# libs\LibRangeCheck-2.0\LibRangeCheck-2.0.lua
13+
libs\DiesalTools-1.0\DiesalTools-1.0.lua
14+
libs\DiesalStyle-1.0\DiesalStyle-1.0.lua
15+
libs\DiesalGUI-1.0\DiesalGUI-1.0.xml
16+
libs\DiesalMenu-1.0\DiesalMenu-1.0.xml
17+
# libs\LibDispellable-1.0-bfa\LibDispellable-1.0.lua
18+
# libs\LibClassicCasterino\LibClassicCasterino.lua
19+
libs\LibDraw-1.0\LibDraw.lua
20+
# libs\LibAddonCompat-1.0\LibAddonCompat-1.0.lua
21+
libs\LibBossIDs-1.0\LibBossIDs-1.0.lua
22+
libs\json\json.lua
23+
libs\lua-multipart\multipart.lua
24+
25+
light.xml
26+
LightVanilla.xml

README.md

+38-14
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# 💡 LightRotations
1+
# 💡 LightRotations - SoD
2+
3+
[![.NET Build](https://github.com/ferib/LightRotations/actions/workflows/master.yml/badge.svg?branch=classic_era)](https://github.com/ferib/LightRotations/actions/workflows/master.yml)
24

35
[LightRotations](https://github.com/ferib/LightRotations) is a combat rotations framework based on [DarkRotations](https://gitlab.com/dark_rotations).
46

@@ -10,7 +12,7 @@ The purpose of the framework is similar to something like WeakAuras2 as its goal
1012
### Example Use
1113
![in-game AddOn on a Rogue](./img/demo_rogue.jpg)
1214

13-
The UI prompts which spells to cast in the UI as well as highlights the spells in your action bars _(if found, does __not work with macros!__)_
15+
The UI prompts which spells to cast in the UI as well as highlight the spells in your action bars _(if found, does __not work with macros!__)_
1416

1517
## in-game commands
1618

@@ -27,20 +29,37 @@ The UI prompts which spells to cast in the UI as well as highlights the spells i
2729

2830
## ⚔️ Combat Rotations
2931

30-
The current rotations included are a work in progress as I only recently picked TBC back up, however, I tend to update these as I go.
32+
For the time being, only Classic Era _(including SoD)_ has spellbooks and such. WotLK ain't even tested yet as we wait in Cata for MoP to drop.
33+
34+
### Retail
35+
36+
| Name | Class | Type | Dev | Status |
37+
|------|-------|------|-----|--------|
38+
| `shaman` | Shaman | test | | Used for testing lol |
39+
40+
### WotLK
3141

3242
| Name | Class | Type | Dev | Status |
3343
|------|-------|------|-----|--------|
34-
| Druid | Druid | | | 🔴 TODO |
35-
| Hunter | Hunter | | | 🔴 TODO |
36-
| Mage | Mage | | | 🔴 TODO |
37-
| Paladin | Paladin | | | 🔴 TODO |
38-
| Priest | Priest | | | 🔴 TODO |
39-
| [Rogue](rotations/rogue/rogue.lua) | Rogue _(Low lvl)_ | Basic | [ferib](https://github.com/ferib) | 🟠 Lvl 1-10 |
40-
| Shaman | Shaman | | | 🔴 TODO |
44+
| N/A | N/A | N/A | N/A | N/A |
45+
46+
### Classic Era
47+
48+
| Name | Class | Type | Dev | Status |
49+
|------|-------|------|-----|--------|
50+
| `druid` | Druid | SoD 25 | [ferib](https://github.com/ferib) | 🟢 Balance SoD |
51+
| `hunter` | Hunter | | | 🔴 TODO |
52+
| `mage` | Mage | | | 🔴 TODO |
53+
| `paladin` | Paladin | | | 🔴 TODO |
54+
| `priest` | Priest | 25 SoD | [ferib](https://github.com/ferib) | 🟠 Lvl 30 Holy SoD |
55+
| `priest` | Priest | 40 SoD | [ferib](https://github.com/ferib) | 🟠 Shadow, Leveling 10-35 |
56+
| [Rogue](rotations/rogue/rogue.lua) | Rogue | Basic | [ferib](https://github.com/ferib) | 🟠 Lvl 1-10 |
57+
| `shaman` | Shaman | | | 🔴 TODO |
58+
| `resto` | Shaman | SoD 25 | [ferib](https://github.com/ferib) | 🟢 Lvl 25 Restoration SoD |
59+
| `ele` | Shaman | SoD 25 | [ferib](https://github.com/ferib) | 🟢 Lvl 25 Elemental SoD |
4160
| ~~Warlock~~ | Warlock | Basic | [ferib](https://github.com/ferib) | 🔴 TODO _(58+ leveling build)_ |
42-
| [Dotlock](./rotations/warlock/) | Warlock _(affliction)_ | Advanced | [ferib](https://github.com/ferib) | 🟢 Lvl 80 |
43-
| Warrior | Warrior | | | 🔴 TODO |
61+
| ~~[Dotlock](./rotations/warlock/)~~ | ~~Warlock _(affliction)_~~ | ~~Advanced~~ | [ferib](https://github.com/ferib) | ~~🟢 Lvl 80~~ |
62+
| `warrior` | Warrior | | | 🔴 TODO |
4463

4564

4665
# ℹ How to install
@@ -55,10 +74,15 @@ Advanced installation for git users:
5574

5675
```bash
5776
cd C:\Program Files (x86)\World of Warcraft\_classic_\Interface\AddOns\
58-
git clone https://github.com/ferib/LightRotations
59-
mv LightRotations Light
77+
git clone https://github.com/ferib/LightRotations Light
78+
cd Light
79+
git checkout classic_era
6080
```
6181

82+
### Bonus
83+
84+
For windows users, you can `mklink /d SourcePath DestPath` to create symbolic links to all timelines of the game!
85+
6286
### 🔐 PROTECTED Lua and Vanilla Wow
6387
Wow introduced protected Lua somewhere around patch 2.x, __LightRotations does NOT support PROTECTED Lua APIs__, however, we provide a way to [downgrade to Vanilla Wow](./docs/vanilla_wow.md).
6488

rotations_cata/readme.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# MoP Waiting Room! 🤩
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

rotations_sl/shaman/shaman.lua

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
local addon, light = ...
2+
3+
local function combat()
4+
-- combat
5+
end
6+
7+
local function resting()
8+
if target.exists and target.enemy and target.alive then
9+
local LightningBolt = 188196 -- TODO: Update spellbooks!
10+
if castable(LightningBolt, target) then
11+
return cast(LightningBolt)
12+
end
13+
end
14+
end
15+
16+
light.rotation.register({
17+
class = light.rotation.classes.shaman,
18+
name = 'shaman',
19+
label = 'Bundled Shaman',
20+
combat = combat,
21+
resting = resting
22+
})
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)