ToME: the Tales of Maj'Eyal

Everything about ToME
It is currently Thu Oct 18, 2018 7:09 am

All times are UTC




Post new topic Reply to topic  [ 77 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Author Message
PostPosted: Sat Mar 03, 2018 10:03 pm 
Offline
Perspiring Physicist

Joined: Sun Sep 09, 2012 7:43 am
Posts: 5759
The answer to wether anything is going to be a problem? is "it depends..."

_________________
My feedback meter decays into coding. Give me feedback and I make mods.


Top
 Profile  
 
PostPosted: Sun Mar 04, 2018 11:26 am 
Offline
Low Yeek

Joined: Wed May 03, 2017 8:11 pm
Posts: 8
Triple combo still consumes gems by Throw Bombs. May be restore original alchemy gems creation routine? Or make new behaviour optional?
Arcanum Class Pack 2.2.13
Steam-Chemist 1.0.2
Revised Alchemist 0.8.4


Top
 Profile  
 
PostPosted: Sun Mar 04, 2018 6:06 pm 
Offline
Thalore

Joined: Thu Jul 27, 2006 2:50 am
Posts: 157
Roukoru wrote:
Triple combo still consumes gems by Throw Bombs. May be restore original alchemy gems creation routine? Or make new behaviour optional?
Arcanum Class Pack 2.2.13
Steam-Chemist 1.0.2
Revised Alchemist 0.8.4

You don't want to have both Steam-chemist and revised alchemist running at the same time. Revised alchemist is steam-chemist without any EoR requirements.

As far as it goes, arcanum and steam-chemist are probably currently not compatible. There's possibly a work-around with the load order, but I personally do not know what it is or how to do it.


Top
 Profile  
 
PostPosted: Sun Mar 04, 2018 6:26 pm 
Offline
Low Yeek

Joined: Wed May 03, 2017 8:11 pm
Posts: 8
This is bad to hear. :(


Top
 Profile  
 
PostPosted: Mon Mar 05, 2018 5:20 am 
Offline
Thalore

Joined: Thu Jul 27, 2006 2:50 am
Posts: 157
Ok, so I finally cracked open an excel spreadsheet for balance purposes. Basically, a nerf was definitely needed to explosion expert with the gem modifier change. As of 1.0.2 , it looked like 70 spellpower with a diamond could result in a 2694 dmg throw bomb before crit or any damage modifiers (well, really, contained explosion is the only likely place for that to happen, but that's extremely high for my liking). 70 spellpower isn't exactly abnormally high in the late game.

I have thought about taking the damage bonus entirely off of explosion expert - it makes balancing very difficult, and there's really not too much tactical thought to give to it right now. I did think about possibly making it work in inverse fashion - to be better in open areas and worse in closed in areas, as closed areas are very common in ToME while open areas are not. I've settled for just making it not quite as strong for now, though.
Code:
1.0.3-
Explosion expert now maxes out at 60% at talent level 6.5, and 66% at 7.8 if you use additional cat point on it. Contained explosion has been buffed a bit to make up for this difference (now adds 30% extra on top of explosion expert bonus).

Throw bomb, steampowered bombardment formulas changed a bit (overall nerfs - should now deal about 1300 dmg given ~30% bonus from exp expert at 70 spellpower. Is that still too high?).

Defensive posture changed to scale more with talent level and be less of a 1 point wonder.


Code:
0.8.5
Same as steamchemist 1.0.3 changes


Top
 Profile  
 
PostPosted: Sun Mar 11, 2018 2:49 am 
Offline
Thalore

Joined: Thu Jul 27, 2006 2:50 am
Posts: 157
After a lot of thought, I've decided to remove the damage bonus from explosion expert.

Basically, it's to make it so that a player isn't forced to level it up, and to make balancing more straightforward. Throw bomb should do, on average, more damage, but it's not going to "spike" to quite as high of levels as it could, even in vanilla tome.

Reasoning :
Base alchemist has the problem that you need to put 15 class points no matter what into the explosion tree, making their builds have very low variance, which winds up making them unexciting and 1 dimensional. When I removed friendly fire, it was because all it really did was make 5 points into alchemist protection a requirement. When I realized that was my logic, I felt that I should make it so that there was no "must" level skill (throw bomb is somewhat unavoidable). Removing the damage component from explosion expert should hopefully make it no longer a "must" to level. It will now increase aoe, and it will increase the damage of contained explosion still (damage bonus scales differently). Tradeoff is that it will increase mana cost/steam cost with its levels.

While I loved the concept of how it calculated damage, the massive variance was also a large balancing problem, and the fact that it would almost always add a large amount of damage in almost every dungeon made it surprisingly bland, in practice.


So, 1.0.4 :
Code:
1.0.4:
Explosion expert no longer increase the damage of throw bomb. Instead, throw bomb's damage has been somewhat normalized - it should deal a bit more damage than the average explosion bomb, but won't have quite the same ceiling.
Explosion expert now increases the AOE and mana cost of throw bomb. It will still increase contained explosion's damage bonus. This damage bonus has been rescaled a bit to be more valuable at lower levels.

Changed steampowered bombardment formula to vary a bit from the throw power one - its parabolic arc is different, but not massively (starts slightly stronger, scales slightly less). 


Code:
Revised Alchemist
0.8.6
Same as steamchemist 1.0.4

I may consider using a version of explosion expert in the future for something else, that only adds 1-2 radius but has a much larger damage bonus, which would make it require a lot more thought.



edit : second real quick update. I changed the weight so it'll load after arcanum, rather than it being 50/50 as it was before. This should hopefully make it more compatible with housepet's arcanum mod, though I'm not sure if it's 100%. At the very least, throw bomb no longer consumes gems, based on my testing.
so
Code:
Steamchemist 1.0.5 / Revised Alchemist 0.8.7
Arcanum compatibility update


Please let me know if this version of the mod is too weak or too strong or anything along those lines. I think I'm fairly set on the design changes, so it's now more about balance changes.


Top
 Profile  
 
PostPosted: Mon Mar 12, 2018 6:32 pm 
Offline
Thalore

Joined: Thu Jul 27, 2006 2:50 am
Posts: 157
Version 1.0.6/0.88
Code:
Damage of throw bomb/steam bombardment tweaked a bit
Gem quality contributes more to bomb damage
At talent levels > 7 throw bomb and steam bombardment now reduce their CD by 1 (this means an extra cat point in their respective categories results in 3 CD)


Top
 Profile  
 
PostPosted: Thu Mar 15, 2018 4:00 am 
Offline
Thalore

Joined: Thu Jul 27, 2006 2:50 am
Posts: 157
The spreadsheet I made to calculate damage had some parenthesis misplaced and was rather... off. I corrected it and realized throw bomb damage was a bit lower than intended, so went back to the drawing board for the formula.

Currently :
(roughly level 1) 19 spellpower, talent level 1.3 : 35.6 damage
(roughly a naked level 50 alchemist) 41 spellpower, talent level 6.5 : 159.35
Avg t5 gem damage at 41 spellpower/tlevel6.5 : 358.54
diamond at 41 spellpower/tlevel6.5 : 426.41

(this is before infusions or bonuses from staff damage, and 41 spellpower isn't particularly high)



Version 1.0.7/0.8.9
Code:
1.0.7:
Throw bomb and steampowered bombardment will now damage the AAD, giving alchemists an additional useful prodigy. Note: The AAD can damage the golem.
Explosion expert now only adds 4 mana per level to throw bomb's mana cost. (This means that bombs now have a 30 mana cost at max EE)
Smoke bomb now has a static 30 mana cost, and duration of burn increase scales up from 2->4 at raw tlevel 4.
Throw bomb/steampowered bombardment formula rescaled a bit : t1 gems now contribute no additional damage, while stronger gems contribute more (specifically, t5 does +125% damage, t4 +112.5%, t3 +75%, t2 +37.5%)
Defensive Posture altered - now gives 7-14 armor and 7-14% armor hardiness (no longer gives defense)



Smoke bomb is something I'm looking doing a bit more to. It's an odd skill, that can't seem to make up its mind as to what it wants to do. Alchemist's don't have very good burn damage, so extending their duration is somewhat pointless, and the fact the aoe LOS block gets eaten by the duration extension makes it seem like it's in the wrong tree. Possibilities: 1. make it so that it increases both duration AND damage of the burn (probably double). 2. Remove burn duration entirely, lower the CD and make it more of an escape utility spell. 3. Perhaps have it buff defense of those in the cloud?

Steam is refusing to update for alch revision, I'll try on another computer sometime later (te4.org is updated)


Top
 Profile  
 
PostPosted: Thu Mar 15, 2018 10:17 am 
Offline
Higher

Joined: Sun Aug 24, 2014 7:09 am
Posts: 69
Location: A Holding Pattern on the Eidolon Plane
Minor graphical quirk, the steamstaff doesn't line up with the player doll. It floats off to the side. Steam screenshot for reference. I do like the look of the thing though.

Also, the quick description in the first post still says Steamchemists get a golem when they don't.

I'm terrible at alchemist anyway and tend to play heavily-modded, but I'll throw my thoughts in when I get decently far into a game.

Also, sorry if this has already been asked, but are steamstaves craftable like Steamguns and Steamsaws? They're described as "made by steamchemists" in the OP, it'd be kinda weird if steamchemists can't actually make them.


Top
 Profile  
 
PostPosted: Thu Mar 15, 2018 11:21 am 
Offline
Uruivellas

Joined: Mon Sep 21, 2015 8:45 pm
Posts: 656
Location: Middle of Nowhere
Thexare wrote:
Minor graphical quirk, the steamstaff doesn't line up with the player doll. It floats off to the side.


For what it's worth, steamstaves appeared correctly on the doll when I tried it out. Maybe an interaction with another mod, possibly Neka's QoL #7: Visible Size Categories?


Top
 Profile  
 
PostPosted: Thu Mar 15, 2018 9:05 pm 
Offline
Thalore

Joined: Thu Jul 27, 2006 2:50 am
Posts: 157
Thexare wrote:
Minor graphical quirk, the steamstaff doesn't line up with the player doll. It floats off to the side. Steam screenshot for reference. I do like the look of the thing though.

Also, the quick description in the first post still says Steamchemists get a golem when they don't.

I'm terrible at alchemist anyway and tend to play heavily-modded, but I'll throw my thoughts in when I get decently far into a game.

Also, sorry if this has already been asked, but are steamstaves craftable like Steamguns and Steamsaws? They're described as "made by steamchemists" in the OP, it'd be kinda weird if steamchemists can't actually make them.

I tried to do it, but at the end of the day I couldn't make it work to select staves, though that may have been before the whole "command staff element" bug which was causing issues. I also realized I had literally never used the "craft steamgun/steamsaw" ability, since they only make whites, so put it on the bottom of the list of my priorities.

The playerdoll location may vary a bit depending on race, I'm not quite sure how to fix, but it's generally right (I'm unsure as to which races it is incorrect on, and whenever I've checked it's correct)


Top
 Profile  
 
PostPosted: Thu Mar 15, 2018 10:30 pm 
Offline
Uruivellas

Joined: Mon Sep 21, 2015 8:45 pm
Posts: 656
Location: Middle of Nowhere
Crafting Steamsaws and Steamguns does not only produce white items, though the description is misleading. You can use any 1-h weapon/sling to create your new item and it will inherit the properties of the item you put into the recipe. The only exception are unique (fixed artifact) items. I recall the description seeming to suggest that you could not use any artifact, but you actually can use orange (random artifact) items. That being said, I have no idea how complicated it is to add new tinker recipes, so it may still not be worth your effort. The recipes can definitely come in handy, though, especially if you get a nice randart drop that you can convert.


Top
 Profile  
 
PostPosted: Fri Mar 16, 2018 2:32 am 
Offline
Thalore

Joined: Thu Jul 27, 2006 2:50 am
Posts: 157
nsrr wrote:
Crafting Steamsaws and Steamguns does not only produce white items, though the description is misleading. You can use any 1-h weapon/sling to create your new item and it will inherit the properties of the item you put into the recipe. The only exception are unique (fixed artifact) items. I recall the description seeming to suggest that you could not use any artifact, but you actually can use orange (random artifact) items. That being said, I have no idea how complicated it is to add new tinker recipes, so it may still not be worth your effort. The recipes can definitely come in handy, though, especially if you get a nice randart drop that you can convert.

Well, I got back to where I was pretty quickly and I think I might know the problem now?

Problematic bit :
Code:
local saw = game.zone:makeEntity(game.level, "object", {define_as="BASE_STEAMSTAFF"..ml, ignore_material_restriction=true, base_list="mod.class.Object:/data-steamchemist/general/objects/steamstaves.lua", ego_chance=-1000}, nil, true)


When you try to make a steamstaff, it brings up the selection of staffs in your inventory just fine. But when you click on them, literally nothing happens.

changing it to
Code:
local saw = game.zone:makeEntity(game.level, "object", {define_as="BASE_STEAMSTAFF"..ml, ignore_material_restriction=true, base_list="/data-steamchemist/general/objects/steamstaves.lua", ego_chance=-1000}, nil, true)

Throws this lua error when you try to make one:
Code:
error = "Lua Error: /engine/Zone.lua:213: bad argument #1 to 'ipairs' (table expected, got nil)\
  At [C]:-1 \
  At [C]:-1 ipairs\
  At /engine/Zone.lua:213 computeRarities\
  At /engine/Zone.lua:397 makeEntity\
  At /data-steamchemist/tinkers.lua:65 action\
  At /mod/dialogs/ShowEquipInven.lua:243 use\
  At /mod/dialogs/ShowEquipInven.lua:92 fct\
  At /engine/ui/Inventory.lua:136 fct\
  At /engine/ui/ListColumns.lua:463 onUse\
  At /engine/ui/ListColumns.lua:145 \
  At /engine/KeyBind.lua:264 triggerVirtual\
  At /engine/ui/Inventory.lua:174 keyTrigger\
  At ...addons/zomnibus/superload/mod/dialogs/ShowEquipInven.lua:34 on_input\
  At /engine/KeyCommand.lua:71 receiveKey\
  At /engine/ui/Dialog.lua:774 keyEvent\
  At /engine/ui/Dialog.lua:487 "


I may be way off. It's not something I think I'll figure out on my own, and I'm reluctant to keep spamming the dev forum for help with my add-on.

Here's the full text of the code I'm trying :
Code:
newRecipe{ id = "STEAMSTAFF",
   name = "Steamstaff", icon = "shockbolt/object/quarterstaff.png",
   desc = "Dismantle any staff, add some amazing steampower to it and make steamstaff to bash foes",
   base_ml = 1, max_ml = 5,
   base_category = 'smith',
   random_schematic = {level=1, rarity=30, cost=80},
   talents = {
      T_SMITH = 2,
      T_MECHANICAL = 1,
   },
   ingredients = {
      LUMP_ORE = 7,
   },
   fake_slot = "WEAPON",
   special = {
      {desc="a staff (not unique, without a special damage type)", cond=function(tdef, party, actor)
         local found = false
         actor:inventoryApply(actor:getInven(actor.INVEN_INVEN), function(inven, item, o) if tdef.object_filter(o) then found = true end end)
         return found
      end},
   },
   object_filter = function(o)
      if o.type == "weapon" and (o.subtype == "staff") and
         not o.quest and not o.special and (not o.unique or o.randart)  and o.combat  then
         return true
      end
   end,
   create = function(tdef, party, actor, ml, silent, onend)
      actor:showEquipInven("Convert which weapon?", tdef.object_filter, function(o, inven, item)
         if not o then return end
         local saw = game.zone:makeEntity(game.level, "object", {define_as="BASE_STEAMSTAFF"..ml, ignore_material_restriction=true, base_list="mod.class.Object:/data-steamchemist/general/objects/steamstaves.lua", ego_chance=-1000}, nil, true)
         if not saw then return end
         local basename = saw.name

         actor:removeObject(inven, item, true)

         if o.ego_list then game.zone:setEntityEgoList(saw, o.ego_list) end
         saw:resolve()
         saw:resolve(nil, true)
         saw:identify(true)

         if o.randart or o.rare then
            saw.randart = o.randart
            saw.rare = o.rare
            if o.namescheme and o.unided_namescheme then
               saw.unided_name = o.unided_namescheme:format(saw.unided_name or basename)
               saw.name = o.namescheme:format(basename)
               if o.randart then saw.unique = o.namescheme:format(basename) end
            end
            saw.no_unique_lore = true
         end

         actor:addObject(inven, saw)
         game.zone:addEntity(game.level, o, "object")
         actor:sortInven()
         game.log("Converted %s into %s", o:getName{do_color=true}, saw:getName{do_color=true})

         onend(true)
         return true
      end)
   end,
}


Top
 Profile  
 
PostPosted: Fri Mar 16, 2018 10:50 pm 
Offline
Uruivellas

Joined: Mon Sep 21, 2015 8:45 pm
Posts: 656
Location: Middle of Nowhere
I haven't dug into Tinkers at all myself, but I am interested in them. I'll probably poke around at it a bit if I have some time. No promises, though. I'm probably more of an amateur than you, considering how quickly and thoroughly you've developed this add on.

I just rememebered that Zizzo has an add on which implements at least one or two new tinker recipes. It's called Tinker Tinkering, iirc. You might gain some insight from digging into that. Although, the more I think on it, the problem is likely to do with the double-whammy of adding a new tinker to create a whole new item type which you've also added. As far as I know, no one has yet done the same, so probably won't be able to find an ideal example to look at. Then again... all of the steam things are new item types that are added by EoR, which itself functions as an add on. Guess I'm just going in circles now...

Well, anyhow, I'll give it a prod when I have the time and maybe I'll notice something you overlooked.

Also, I can definitely see from the code why you might have thought you couldn't put rare or randarts into the recipe for saw and gun tinkers. At least, assuming you copied the code from the steam saw recipe, it certainly looks like there's a check in the item filter to exclude them. I know for a fact I've made a randart axe into a steamsaw, though. I have a toon wielding one right now. Weird.


Top
 Profile  
 
PostPosted: Sat Mar 17, 2018 12:09 am 
Offline
Thalore

Joined: Thu Jul 27, 2006 2:50 am
Posts: 157
nsrr wrote:
I haven't dug into Tinkers at all myself, but I am interested in them. I'll probably poke around at it a bit if I have some time. No promises, though. I'm probably more of an amateur than you, considering how quickly and thoroughly you've developed this add on.

I just rememebered that Zizzo has an add on which implements at least one or two new tinker recipes. It's called Tinker Tinkering, iirc. You might gain some insight from digging into that. Although, the more I think on it, the problem is likely to do with the double-whammy of adding a new tinker to create a whole new item type which you've also added. As far as I know, no one has yet done the same, so probably won't be able to find an ideal example to look at. Then again... all of the steam things are new item types that are added by EoR, which itself functions as an add on. Guess I'm just going in circles now...

Well, anyhow, I'll give it a prod when I have the time and maybe I'll notice something you overlooked.

Also, I can definitely see from the code why you might have thought you couldn't put rare or randarts into the recipe for saw and gun tinkers. At least, assuming you copied the code from the steam saw recipe, it certainly looks like there's a check in the item filter to exclude them. I know for a fact I've made a randart axe into a steamsaw, though. I have a toon wielding one right now. Weird.

That's what I thought at first too, about the randarts, but there's parts later on in the code that specifically handle randarts. Also, the code reads like it doesn't permit them at a glance, but closer reading showed that it did.

Pertinent line is here :
Code:
         not o.quest and not o.special and (not o.unique or o.randart)  and o.combat  then

I think this actually means to forbid a unique, unless it's a randart.

to forbid randarts it'd be
Code:
not o.quest and not o.special and (not o.unique and not o.randart)



I used Zizzo's tinker mod to design a new tinker recipe for steam staves, a steam coil - getting mana coil to attach was too complicated, and it didn't give perfect stats for a steamchemist anyways so I made a new one that gave some steam regen as well. The function to create new weapons is handled very different from the other tinkers, though, and I couldn't find any mods that did that yet.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 77 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group