Arcane Combat Mod Merge

A place to post your add ons and ideas for them

Moderator: Moderator

Post Reply
Message
Author
silentsnack
Wayist
Posts: 22
Joined: Tue Feb 14, 2017 9:08 pm

Arcane Combat Mod Merge

#1 Post by silentsnack »

Behold! A thing! (spoilers: it's a ToME addon)

Combines multiple good mods that enhance various aspects of Arcane Combat, with some edits to resolve compatibility issues:
* Arcane Combat Tweaks by Zizzo
* Adventurous Arcane Combat by astralInferno
* Arcane Blade Tweaks by grayswandir

Features from the combined mods:
* Allows control over which spells AC will cast when set to 'random'
* Can change spells without resetting AC sustain
* More spells work with AC
* Gives the Arcane Destruction talent more flexibility
* Stat requirements use Str or Dex, whichever is higher
* AC autocast tries to aim spells to hit multiple enemies

Some additions:
* Config panel for all the added options
* Option to enable even more spells/mind/steampowers
* Compatible with AOE spells
* Magical Combat talents work with ranged weapons




Changelog:
0.27 - "Nothing can possibly go wrong with this"
* I gazed on the horrors I have unleashed upon this world, and in unrelated news also uploaded a mod to te4
0.28 - "when Fire doesn't work, use More Fire"
* enabled a lot more talents, including some that really should have already been set (oops)
* switched over the entry on Arcane Blade's auto-learned talent list
* added an optional alternate beam targeter
* spell-debug menu safe/unsafe status fields now show 'nil' if unset, like the other values
* fixed radial-type spells casting when nothing is in range
Last edited by silentsnack on Sat Sep 09, 2017 11:41 am, edited 2 times in total.

chrisrrawr
Low Yeek
Posts: 5
Joined: Sun Aug 13, 2017 10:36 pm

Re: Arcane Combat Mod Merge

#2 Post by chrisrrawr »

Thank you :) Spinning up an AB, will let you know how it goes.

Chronosplit
Archmage
Posts: 312
Joined: Fri Oct 09, 2015 2:27 pm

Re: Arcane Combat Mod Merge

#3 Post by Chronosplit »

This is a pretty useful package of the add ons I pretty used for an AB when I want to mess around, especially on an adventurer. The only one thing is that I have *two* Arcane Combat buttons, and one seems to do the same as the control panel.

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Arcane Combat Mod Merge

#4 Post by Frumple »

Well, I like it. Suggestion/request, though: Maybe make it so there's an option to just... have AC and/or AD? Found myself wanting to not have to bother with the actual tree and just play around, and it'd be pretty nice as an option, imo. Debug option would be fine, really, if it came to that.

... though full disclosure, I just spent like two, three hours trying to figure out how the blazes to do that myself. Well, stick it on something that'd make the player learn it. Scrying orb, base race, couple other things tried. Unfortunately I'm egregiously terrible at coding and all I got from the attempt was a massively painful headache and despair. So... it'd be great if someone with an ounce of competence could try implementing something like that, heh.

silentsnack
Wayist
Posts: 22
Joined: Tue Feb 14, 2017 9:08 pm

Re: Arcane Combat Mod Merge

#5 Post by silentsnack »

Chronosplit wrote:This is a pretty useful package of the add ons I pretty used for an AB when I want to mess around, especially on an adventurer. The only one thing is that I have *two* Arcane Combat buttons, and one seems to do the same as the control panel.
Yeah, there are supposed to be two. At least in the current version.

One is a button to open the menu. It does nothing else and you automatically get it for free when you learn AC. (instant and no cooldown).

The other is the core Arcane Combat talent which works like the original version: "sustained" talent that uses stamina, instant to activate, 5 turn cooldown, pops up a menu when you activate it (but there's an option to turn that off)
Frumple wrote:Well, I like it. Suggestion/request, though: Maybe make it so there's an option to just... have AC and/or AD? Found myself wanting to not have to bother with the actual tree and just play around, and it'd be pretty nice as an option, imo. Debug option would be fine, really, if it came to that.

... though full disclosure, I just spent like two, three hours trying to figure out how the blazes to do that myself. Well, stick it on something that'd make the player learn it. Scrying orb, base race, couple other things tried. Unfortunately I'm egregiously terrible at coding and all I got from the attempt was a massively painful headache and despair. So... it'd be great if someone with an ounce of competence could try implementing something like that, heh.
A lot of the time when coding/testing this mod, I just use the lua console commands to get the skills I want to test instead of slogging through the levelup menu

If I'm reading your suggestion correctly, you're basically asking for a way to do debug-mode things like disregarding the requirements and bypassing having to click the raise stat button a billion times but instead just "learn X skill" --> "okay *bam* done!" ... or... "Put all my spare points into Mag" --> "ding, hooray" without having to memorize how the game's internals work and even then having to look things up and try to decipher the underlying code because there's no documentation? Yeah, after about the fifty-thousandth time of typing game.player:learnTalent("T_MANATHRUST",true) I can definitely see where you're coming from. It would actually probably be better to make a separate universal mod that makes debug-mode easier to use, for people who want to try things out without having to do all that crap.


...heh, I had my own headaches a few months ago when I made a mod that adds an item to the starting inventory (coincidentally it was a token item that lets you buy the combat/staff/mindstar categories without having to go to the towns, etc) but ended up forgetting that unfinished mod because trying to figure out how to get a multi-button-popup-dialog to work was absurdly irritating. Kindof nostalgic to remember that now, after making the menus for this mod.

If all you want is to test things out, just paste this example into the console and you'll get Arcane Combat/Destruction level 5, plus a couple of attacks

Code: Select all

for i=1,5 do
game.player:learnTalent("T_ACMM_AC",true)
game.player:learnTalent("T_ACMM_IAD",true)
game.player:learnTalent("T_DUST_TO_DUST",true)
game.player:learnTalent("T_GRAVITY_SPIKE",true)
game.player:learnTalent("T_ILLUMINATE",true)
game.player:learnTalent("T_CORROSIVE_BREATH",true)
end
You can add whatever talents you like if you know the talent's ID, which is usually T_[x] where [x] is the name in allcaps, but there are cases that someone codes a separate ID, like I did in order to create a new talent called "Arcane Combat" while leaving the original one for NPCs to use.

Haven't tried it, but if you want to add an item to the player's inventory at character creation that gives 5 levels of both talents, it would go something like this:


hook to load the item, but this is really not the most efficient way to do it

Code: Select all

class:bindHook('Entity:loadList', function(self, data)
   if data.file == '/data/general/objects/quest-artifacts.lua' then
      self:loadList('/data-generic-weapons/doodad.lua', data.no_default, data.res, data.mod, data.loaded)
   end
end)
and add it to the player's starting inventory

superload data/birth/worlds.lua

Code: Select all

local _M = loadPrevious(...)

getBirthDescriptor("world", "Maj'Eyal").copy = getBirthDescriptor("world", "Maj'Eyal").copy or {}
table.insert(getBirthDescriptor("world", "Maj'Eyal").copy, resolvers.inventorybirth{id=true, {defined="DOODAD_OF_MARTIAL_KNOWLEDGE"}})

return _M
And here's the item itself with the original script removed due to being a heinous crime against game modding

data /doodad.lua

Code: Select all

newEntity{ base = "BASE_ROD",
   power_source = {unknown=true},
   define_as = "DOODAD_OF_MARTIAL_KNOWLEDGE",
   unided_name = "very strange thing", image = "object/wand_dragonbone.png",
   name = "Doodad of Martial Knowledge", 
   color=colors.LIGHT_BLUE, 
   identified=true, no_unique_lore=true,   
   unique=true,
   desc = [[A bizarre device that can grant you new abilities.]],
   cost = 0,
   encumber = 0,
   elec_proof = true,
   max_power = 24, power_regen = 1,    
   use_no_energy = true,     
   use_power = { name = "learn a new talent or category", power = 1,
      use = function(self, t, kind)
         --script goes here
      end,
   },
}

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Arcane Combat Mod Merge

#6 Post by Frumple »

... yeah, it's four in the morning and I can't parse much of that, ha. Think I get the general idea and it's pretty definitely a better idea than the thing I just finished kicking into base functionality, though.

That said, I did get something sorta' functioning -- very, very poorly, with terrible decisions so far as stuff like superloading is concerned, probably a whole bucketload of mod incompatibilities, and a complete disregard for the DLCs. All I was really looking for was a way to start with arcane combat. No muss, no fuss, whatever class, have it from level 1 and figure out what you want to do talent wise elseways on your own. So... I gave most of the races a punch orb that grants (your mod's) arcane combat at level 5 when carried and am calling it a night, heh.

If for some reason you want to gaze upon its terribleness, I've attached it below.

E: Ah, that said, but it kinda' looks like the updated sunpa talents aren't in the allowed list? Some old ones (sun flare, matyrdom) seem to be, but the newer ones not so much. Would probably see sun ray, path of the sun, wave of power, and mark of the light as normal options. Sun cloak, brandish, flash of the blade, absorption strike, crusade, and maybe judgement as less normal.
Attachments
tome-punch_orb.zip
(20.25 KiB) Downloaded 103 times

silentsnack
Wayist
Posts: 22
Joined: Tue Feb 14, 2017 9:08 pm

Re: Arcane Combat Mod Merge

#7 Post by silentsnack »

Frumple wrote:
E: Ah, that said, but it kinda' looks like the updated sunpa talents aren't in the allowed list? Some old ones (sun flare, matyrdom) seem to be, but the newer ones not so much. Would probably see sun ray, path of the sun, wave of power, and mark of the light as normal options. Sun cloak, brandish, flash of the blade, absorption strike, crusade, and maybe judgement as less normal.
Yeah, a lot of talents are left out because letting it cast anything that triggers a weapon/shield/ranged attack leads to infinite attack loops, which results in this:

Image

Image

...why yes, I did indeed kill both final bosses in one turn, just as an example of how ridiculously overpowered it is. Tried to use a similar setup on training dummies, but it generated so many explosions that the game ran out of memory and quit. As fun as it is, it's also the reason why the feature to use absolutely any (active) talent is restricted to debug-mode, and why most Warden/Reaver/Paladin/Mindslayer spell-attack talents are excluded. Am I being too pedantic about this?


Also: having taken a closer look at it, Judgement should be allowed. Thanks for pointing that one out. It'll need a very minor hack to make it work correctly. Right now it *thinks* it is a spell that can be targeted at range, so it will try to cast even if it can't actually hit anything. Which makes me glad I rewrote the targeting code (yet again) to include a way to set an exception for specific talents, to handle such a situation.

I'm not sure how Path of the Sun would/should work. Just ignore the movement effect and cast it like a damage beam?

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Arcane Combat Mod Merge

#8 Post by Frumple »

Yeah, sounds about right. Path does do damage, heh, and it's a beam. Usually isn't used that way because it's the sunpa's built-in escape (or approach) talent, but it can be.

Sun ray looks like it should be okay, too, though (the older, differently named, version is actually allowed, oddly enough). Mark of Light would probably be alright... neither cause weapon/etc. attacks, near as I can tell. Technically the mark doesn't do any damage at all, ha. Wave is definitely an issue if that sort of loop is possible, though, aye.

Also nah, being pedantic about recursion loops when you're tooling around with arcane combat generally isn't a bad thing. The proc limit helps with that, I think, but as you note if things get silly enough the game flat lining your memory and/or crashing starts being a thing. Usually that's not a problem outside of stuff like the combat dummies, but every once in a blue moon you'll get a randboss or somethin' that just happens to heal more from your hits than you can cause (or just not take damage), not really notice what's going on until you hit an indefinitely triggering talent, and get stuck.

E: Though, if doesn't-use-weaponetc.-attack is the primary filter, some for mindslayer that are ranged or self-centered AoE, that don't involve such: Pyrokinesis, brainstorm, implode, thermal balance, static net, and probably mind hook. They've actually got a lot of stuff these days that are caster-y.

The leeches, I noticed, were in autoallow but shouldn't in the load.lua, and... could probably stand to just be allowed? In the auto-allow, anyway, since they are AoE. They don't involve potential loops, as far as I'm aware, and a few other resource generating talents are in the OK list. Heat shift's in there, too, which seems odd since it's just a ranged AoE with pin/disarm/debuff.

Also noticed kinetic surge is in that set, too, which... I gotta' try out, 'cause how that even works with arcane combat and targeting strikes me as either broken in the non-functioning sense or hilarious. Though, that said, technically it's a melee-ranged attack at core... if you wanted to make it functional for allow-all, not having an adjacent enemy target ('cause the initial hits killed them or whatever) could default to launching the player at/towards a nearby enemy.

The strikes (thermal/kinetic/charged) are in there as well, but they pretty definitely shouldn't be -- not only are they (mostly) melee, they're all weapon attacks with the noted loop potential.

... also, I have to ask, but have you considered giving the summoner's summon talents the go ahead? AC targeting would probably just stick them besides an enemy, but it could be fairly amusing, and the cunning limit and relatively mindless aim would keep it from getting out of hand otherwise. Melee summoners would love that, ehehe.

astralInferno
Uruivellas
Posts: 757
Joined: Mon Jan 27, 2014 10:40 am

Re: Arcane Combat Mod Merge

#9 Post by astralInferno »

Guh

You specifically set T_DIG to not be a valid target. Which would make sense, except that T_DIG is actually the shortname for Pulverising Auger.

Guess what talent my Ancient Primal Chosen wanted to arcane combat. Go on, guess. I betcha can't guess. :wink:

(That's right, it's Earthern Missiles! I guess I'll have to wait for the next cat point.)

Nice work tho I can barely follow my own code let alone this triple mashup abomination.

silentsnack
Wayist
Posts: 22
Joined: Tue Feb 14, 2017 9:08 pm

Re: Arcane Combat Mod Merge

#10 Post by silentsnack »

Chronosplit wrote:This is a pretty useful package of the add ons I pretty used for an AB when I want to mess around, especially on an adventurer. The only one thing is that I have *two* Arcane Combat buttons, and one seems to do the same as the control panel.
Oh, I finally noticed what happened here. Should be fixed in 0.28
Frumple wrote:E: Though, if doesn't-use-weaponetc.-attack is the primary filter, some for mindslayer that are ranged or self-centered AoE, that don't involve such: Pyrokinesis, brainstorm, implode, thermal balance, static net, and probably mind hook. They've actually got a lot of stuff these days that are caster-y.

The leeches, I noticed, were in autoallow but shouldn't in the load.lua, and... could probably stand to just be allowed? In the auto-allow, anyway, since they are AoE. They don't involve potential loops, as far as I'm aware, and a few other resource generating talents are in the OK list. Heat shift's in there, too, which seems odd since it's just a ranged AoE with pin/disarm/debuff.

Also noticed kinetic surge is in that set, too, which... I gotta' try out, 'cause how that even works with arcane combat and targeting strikes me as either broken in the non-functioning sense or hilarious. Though, that said, technically it's a melee-ranged attack at core... if you wanted to make it functional for allow-all, not having an adjacent enemy target ('cause the initial hits killed them or whatever) could default to launching the player at/towards a nearby enemy.

The strikes (thermal/kinetic/charged) are in there as well, but they pretty definitely shouldn't be -- not only are they (mostly) melee, they're all weapon attacks with the noted loop potential.

... also, I have to ask, but have you considered giving the summoner's summon talents the go ahead? AC targeting would probably just stick them besides an enemy, but it could be fairly amusing, and the cunning limit and relatively mindless aim would keep it from getting out of hand otherwise. Melee summoners would love that, ehehe.
Whoops, didn't get a notification that there was another post, but I've been either busy or brainfried lately so I couldn't really have gotten much done even if I had noticed... but now I've got a pot of coffee on Friday night and I'm taking a break from harassing my professors about term papers, so let's get crazy and do some modding.

Most of the allow/block code in load.lua is left over from a (very) early version of this mod, and it was mainly to keep deprecated and NPC-only talents from cluttering up the list, and things that either didn't make sense (non-attack debuffs, etc) or didn't work correctly; but that was several months ago, before I decided to make the targeting/etc more robust and allow any non-looping talent (even if it's a bad idea) rewrote basically the entire mod three or four times, except for that part... so I guess I'll need to revisit the logic/list.

Kinetic Surge fails when AC tries to cast it, probably because it calls self:getTarget() twice, when apparently the self:forceUseTalent(...,force_target={foo},...) method only gives it a single target the first time it calls, and I don't know if there's a way to queue another faked input so it designates a second target after the talent.action() is already running.

Found out why Mark of Light and a few other talents didn't work even when enabled: most talents only need an x,y coordinate and let you cast at an empty tile, but some want target={} to be an actual actor... at least it was an easy fix.

Summons are allowed and seem to work fine. And a bunch of other things including Dark Portal and Cease to Exist, because hey why not.
astralInferno wrote:Guh

You specifically set T_DIG to not be a valid target. Which would make sense, except that T_DIG is actually the shortname for Pulverising Auger.

Guess what talent my Ancient Primal Chosen wanted to arcane combat. Go on, guess. I betcha can't guess. :wink:

(That's right, it's Earthern Missiles! I guess I'll have to wait for the next cat point.)

Nice work tho I can barely follow my own code let alone this triple mashup abomination.
:facepalm: Yeah, sorry about that. Seeing that Pulverizing Auger was blocked did give me a triple-wtf moment while I was working on this update. Guess I should actually upload it once I finish adding yet another option.

At some point I may be eaten by a sapient mass of feature creep.



Edit: just noticed Arcane Destruction description still refers to the old method of changing its type. Kinda trivial so it'll go in with the 0.29 "what did I - up this time?" fix.

chrisrrawr
Low Yeek
Posts: 5
Joined: Sun Aug 13, 2017 10:36 pm

Re: Arcane Combat Mod Merge

#11 Post by chrisrrawr »

I've been playing a lot of Multi-class // RandBoss challenge and would not take AB without this mod. The difference it makes is phenomenal. I've actually run out of resources! I know, it sounds preposterous, but there you go!

Edrein
Posts: 3
Joined: Tue Oct 06, 2020 7:13 pm

Re: Arcane Combat Mod Merge

#12 Post by Edrein »

A couple years late to the party; but is there any chance this might get updated or continued by someone else? This seemed to be the comprehensive Arcane Combat mod and it's a shame it no longer works. :(

silentsnack
Wayist
Posts: 22
Joined: Tue Feb 14, 2017 9:08 pm

Re: Arcane Combat Mod Merge

#13 Post by silentsnack »

Edrein wrote:A couple years late to the party; but is there any chance this might get updated or continued by someone else? This seemed to be the comprehensive Arcane Combat mod and it's a shame it no longer works. :(
I actually updated a version that worked in testing... about a year ago (Tome1.6.0) but forgot to finish/upload it. Whoops.

Guess I'll need to dust off my lua brain a bit and see about resolving those unfinished bits.

Post Reply