Jump to content

Next version of SCSII


Demivrgvs

Recommended Posts

Posted

Thanks for your reply, I'm glad SCS will handle vorpal and disruption abilities like I would without having me to force such change on all IR players. :D

 

Speaking of SCS + IR, I've few things to ask regarding your Item Tweaks components, though the main question is: could you please add a check for IR? It should be something like you did for SR and SCS's Spell Tweaks, because in this case too we cover the same things.

 

This should also help players to not mess their install with SCS + IR combinations, and it would also make the install process of SCS after IR and/or SR a lot more quick because it would skip tons of redundant "yes or no" components.

 

 

1) Shield of Balduran: I'm going to make it work only against gaze attacks if you think your "drop shield" scripts aren't working as you expected, and in that case this component should be skipped.

 

 

2) Staff of the Magi: If IR is installed skip this component. IR already removes the 'invisibility at will'.

 

 

3) Vhailor's Helm: this is the only tricky one, as you also change Gromnir script based on this if I'm not wrong.

 

In theory I'd prefer him to have barbarian's physical res (20%) and stack it with Roranarch's Horn (10%) and Hardiness (40%)...but for compatibility's sake I can make ihim wear Vhailor's Helm by default with IR (and find a decent place for the barbarian's Horn because with SCS Gromnir has THREE unique items for the helmet slot). In this case if IR is installed SCS should skip this component.

 

NOTE: there's a small bug imo, as with SCSII installed Gromnir's kit is "Kensai" instead of "Barbarian" or "Berserker". He's wearing a full plate and barbarians can't wear it, but he has Barbarian's Rage. Long story short, he's a mess! :)

 

 

4) Cloak of Mirroring: If IR is installed skip this component. I've slightly nerfed it, and I'd like to be able to move it (a demilich with a cloak is silly imo, no offense intended) but I can't because SCS would create a second one.

 

 

5) Robe of Vecna: If IR is installed skip this component. I'd move it to Azamantes by deafault with IR.

 

 

6) Rod of Resurrection: If IR is installed skip this component. IR will already handle this OP item.

 

 

7) Carsomyr: If IR is installed skip this component. IR does the same.

Posted

Hi,

 

I'm happy to check for IR, though in some cases I wouldn't want to do compatibility in quite the way you suggest.

 

A few points of clarification:

 

(i) I don't understand the comment about beholders and the Shield of Balduran. What script isn't working correctly? And why should the component be skipped if IR is installed? (All the component does is remove the item entirely - what's the compatibility issue?)

 

(ii) I'm not sure I see why the Cloak of Mirroring component should be skipped. What about players who want to play IR but are happy with the cloak's current location? (Incidentally, SCS demiliches are based on 3e PNP demiliches, who can gain the protective powers of their equipment without physically wearing it.)

 

(iii) Does IR make exactly the same changes to the Rod of Resurrection? If not, shouldn't I be reverting IR's changes and imposing mine in this component, for players who want to install IR but prefer SCS's way of treating the Rod? (It would be different if IR were modular, of course, but I assume it's not.)

Posted
I'm happy to check for IR, though in some cases I wouldn't want to do compatibility in quite the way you suggest.
Fine with me to discuss how to handle it.

 

(i) I don't understand the comment about beholders and the Shield of Balduran. What script isn't working correctly? And why should the component be skipped if IR is installed? (All the component does is remove the item entirely - what's the compatibility issue?)
Haven't you added a script which makes Beholder remove the Shield of Balduran from targets?

 

If I change it as suggested removing it would actually be "an error" as it won't be an anti-ray item anymore. IR's players may not know it on their first run because I doubt all of them scroll the entire Item List I provide (it's really huge), and install the component on the false assumption it's still needed for "balance anti-beholder purpose".

 

(ii) I'm not sure I see why the Cloak of Mirroring component should be skipped. What about players who want to play IR but are happy with the cloak's current location? (Incidentally, SCS demiliches are based on 3e PNP demiliches, who can gain the protective powers of their equipment without physically wearing it.)
Well, I may live with it (a Demilich under permanent Reflection Image), but in that case I'd still need you to skip the component when IR is installed because else SCS would create a second Cloak of Mirroring.

 

(iii) Does IR make exactly the same changes to the Rod of Resurrection? If not, shouldn't I be reverting IR's changes and imposing mine in this component, for players who want to install IR but prefer SCS's way of treating the Rod? (It would be different if IR were modular, of course, but I assume it's not.)
I was actually nerfing it replacing Resurrection with Raise Dead, but I may as well "stole" your version.

 

 

Regarding IR's modularity we're actually making a lot of changes in this direction:

- Weapon Changes (e.g. greatswords deal 2d6, xbows have +1 thac0, ...) won't be part of Main Component anymore

- Kensai Can Wear bracers won't be part of Main Component anymore

- Thieves Can Use Wands won't be part of Main Component anymore

But I can't make it extremely modular, because one thing is having a few tweaks for 5-10 items, another thing is handling 600+ items.

Posted
(i) I don't understand the comment about beholders and the Shield of Balduran. What script isn't working correctly? And why should the component be skipped if IR is installed? (All the component does is remove the item entirely - what's the compatibility issue?)
Haven't you added a script which makes Beholder remove the Shield of Balduran from targets?

 

Yes - but as far as I know, it works fine.

 

If I change it as suggested removing it would actually be "an error" as it won't be an anti-ray item anymore. IR's players may not know it on their first run because I doubt all of them scroll the entire Item List I provide (it's really huge), and install the component on the false assumption it's still needed for "balance anti-beholder purpose".

 

OK. I'm amenable to having the component skipped on that basis. (I still need to know how to detect IR.) It sounds as if beholders should stop stealing the shield too if IR is installed?)

 

(ii) I'm not sure I see why the Cloak of Mirroring component should be skipped. What about players who want to play IR but are happy with the cloak's current location? (Incidentally, SCS demiliches are based on 3e PNP demiliches, who can gain the protective powers of their equipment without physically wearing it.)
Well, I may live with it (a Demilich under permanent Reflection Image), but in that case I'd still need you to skip the component when IR is installed because else SCS would create a second Cloak of Mirroring.

 

If IR is going to move the cloak to the Demilich, then of course I'm happy to skip this component if IR is installed.

 

(iii) Does IR make exactly the same changes to the Rod of Resurrection? If not, shouldn't I be reverting IR's changes and imposing mine in this component, for players who want to install IR but prefer SCS's way of treating the Rod? (It would be different if IR were modular, of course, but I assume it's not.)
I was actually nerfing it replacing Resurrection with Raise Dead, but I may as well "stole" your version.

 

OK, in that case it's fine for the SCS component to skip.

 

Can I clarify that IR will move both the Helm of Vhailor and the Cloak of Vecna to the same place that SCS moves them? (i.e., Gromnir and Azamantes, respectively?) And am I right that IR won't be adding any scripting to either Gromnir or Azamantes? If so, I think I can sort out compatibility fairly straightforwardly.

 

But I can't make it extremely modular, because one thing is having a few tweaks for 5-10 items, another thing is handling 600+ items.

 

Indeed, and I wasn't arguing for it.

Posted
Haven't you added a script which makes Beholder remove the Shield of Balduran from targets?
Yes - but as far as I know, it works fine.
I'm a little confused then...if the script is there and works, why would you need to remove the Shield of Balduran with the optional component?

 

If I change it as suggested removing it would actually be "an error" as it won't be an anti-ray item anymore. IR's players may not know it on their first run because I doubt all of them scroll the entire Item List I provide (it's really huge), and install the component on the false assumption it's still needed for "balance anti-beholder purpose".
OK. I'm amenable to having the component skipped on that basis. (I still need to know how to detect IR.) It sounds as if beholders should stop stealing the shield too if IR is installed?)
Yep, they should stop. Anyway, I was changing it mainly because of your statement in SCSII's readme "I looked fairly extensively for ways of scripting beholders to deal with the Shield of Balduran without resorting to cheese, or for ways of toning down its powers while keeping it recognisable, but I couldn't find one. Ultimately, the character equipped with the Shield of Balduran is invulnerable to beholders, pretty much irrespective of what strategy they use." Is this still true, or not?

 

To retain a small part of its anti-beholder properties I may add a +2 bonus to saves vs. beholder/gauth's rays (and Elder Orb's spells) while equipped. :)

 

If IR is going to move the cloak to the Demilich, then of course I'm happy to skip this component if IR is installed.

 

...

 

Can I clarify that IR will move both the Helm of Vhailor and the Cloak of Vecna to the same place that SCS moves them? (i.e., Gromnir and Azamantes, respectively?) And am I right that IR won't be adding any scripting to either Gromnir or Azamantes? If so, I think I can sort out compatibility fairly straightforwardly.

Ok, I'll move Cloak of Mirroring, Vhailor's Helm (thus letting me free to move Lavander Ioun Stone and Roranach's Horn) and Robe of Vecna to the very same SCS places. No, I'm not touching any of their scripts.

 

To detect IR I can do something like we did for SR, a 'dvirhere.mrk' file in the override.

Posted
Haven't you added a script which makes Beholder remove the Shield of Balduran from targets?
Yes - but as far as I know, it works fine.
I'm a little confused then...if the script is there and works, why would you need to remove the Shield of Balduran with the optional component?

 

Because (a) the shield-removal component was in place several version before the beholders stole stuff, and I don't see any particular need to remove a perfectly functional component; (b) I don't have any detailed playtest data on how effectively the beholder-stealing does at countering the Shield's effects. (The nice thing about modularity is that you don't need to worry too much about whether or not a given component is necessary.)

 

 

Anyway, I was changing it mainly because of your statement in SCSII's readme "I looked fairly extensively for ways of scripting beholders to deal with the Shield of Balduran without resorting to cheese, or for ways of toning down its powers while keeping it recognisable, but I couldn't find one. Ultimately, the character equipped with the Shield of Balduran is invulnerable to beholders, pretty much irrespective of what strategy they use." Is this still true, or not?

 

It depends if you include the telekinesis trick as a "strategy" - I don't, really. And as I say, I'm far from confident that beholder stealing really succeeds in rebalancing the shield. (I do have testing data supporting the idea that it succeeds in rebalancing the Cloak of Mirroring.)

 

 

 

Ok, I'll move Cloak of Mirroring, Vhailor's Helm (thus letting me free to move Lavander Ioun Stone and Roranach's Horn) and Robe of Vecna to the very same SCS places. No, I'm not touching any of their scripts.

 

Great.

 

To detect IR I can do something like we did for SR, a 'dvirhere.mrk' file in the override.

 

 

Can you go for something that's a bit harder to misread as "dvimhere"? How about "dvitem.mrk"? (Or possibly "dvitem_main.mrk", given that you've got multiple components this time around.)

Posted
Anyway, I was changing it mainly because of your statement in SCSII's readme "I looked fairly extensively for ways of scripting beholders to deal with the Shield of Balduran without resorting to cheese, or for ways of toning down its powers while keeping it recognisable, but I couldn't find one. Ultimately, the character equipped with the Shield of Balduran is invulnerable to beholders, pretty much irrespective of what strategy they use." Is this still true, or not?

 

It depends if you include the telekinesis trick as a "strategy" - I don't, really. And as I say, I'm far from confident that beholder stealing really succeeds in rebalancing the shield. (I do have testing data supporting the idea that it succeeds in rebalancing the Cloak of Mirroring.)

 

Now I don't know what to do...but I'm inclined to think that it would be better if I rebalance the shield myself within IR. I'll discuss this with veteran players asap as v3 is going to be closed this week-end.

 

It sounds as if beholders should stop stealing the shield too if IR is installed?
If I'm going to rebalance it myself and it's not too much work for you I'd prefer it to not be removed by beholder's scripts yes.

 

Regarding the Cloak of Mirroring instead I think I've done a great job but I don't know if you agree. Anyway IR's version shouldn't be an issue for SCS beholder's AI anymore, as 50% of the times the rays would still hit their target, making CoM an outstandingly powerful item, but not cheesy/exploitable. Again I'd prefer such item to not be removed via scripts by beholders.

 

P.S Divination spells do work against it because I've made it "detectable" as an 'illusionary protection'. I may further refine CoM ability making the cloak's illusion not work at all against opponents with True Seeing (I can include it in the next hotfix for SR).

 

 

To detect IR I can do something like we did for SR, a 'dvirhere.mrk' file in the override.

Can you go for something that's a bit harder to misread as "dvimhere"? How about "dvitem.mrk"? (Or possibly "dvitem_main.mrk", given that you've got multiple components this time around.)

Ok, I'll go with "dvitem_main.mrk". :)
Posted
To detect IR I can do something like we did for SR, a 'dvirhere.mrk' file in the override.

 

 

Can you go for something that's a bit harder to misread as "dvimhere"? How about "dvitem.mrk"? (Or possibly "dvitem_main.mrk", given that you've got multiple components this time around.)

*ahem* If I can interrupt... If you just want to detect a certain component, go with MOD_IS_INSTALLED. The main component will always be detectable with MOD_IS_INSTALLED ~item_rev/item_rev.tp2~ 0, and introducing a file to detect the whole component is unnecessary.

 

If you wanted to introduce something for detecting individual changes from a component (which might be moved into a different component later), then adding something like a "dv_move_items" file for that change would be preferable.

Posted

Regarding Rod of Resurrection, if I'm not wrong it's new Heal charges won't magically appear out of nowhere by themselves.

COPY_EXISTING_REGEXP GLOB ~.*\.are~ override PATCH_IF SOURCE_SIZE>0x11b BEGIN
 CLEAR_ARRAY item GET_OFFSET_ARRAY item 0x78 4 0x76 2 0 0 0x14
 PHP_EACH item AS ind => res BEGIN
READ_ASCII res item (8) NULL
PATCH_IF (~%item%~ STRING_EQUAL_CASE rods03) BEGIN
  WRITE_SHORT res+12 5
END
 END
END BUT_ONLY

COPY_EXISTING_REGEXP GLOB ~.*\.cre~ override PATCH_IF SOURCE_SIZE>0x2d3 BEGIN
 CLEAR_ARRAY item GET_OFFSET_ARRAY item 0x2bc 4 0x2c0 4 0 0 0x14
 PHP_EACH item AS ind => res BEGIN
READ_ASCII res item (8) NULL
PATCH_IF ~%item%~ STRING_EQUAL_CASE rods03 BEGIN
  WRITE_SHORT res+12 5
END
 END
END BUT_ONLY

COPY_EXISTING_REGEXP GLOB ~.*\.sto~ override PATCH_IF SOURCE_SIZE>0x9b BEGIN
 CLEAR_ARRAY item GET_OFFSET_ARRAY item 0x34 4 0x38 4 0 0 0x1c
 PHP_EACH item AS ind => res BEGIN
READ_ASCII res item (8) NULL
PATCH_IF ~%item%~ STRING_EQUAL_CASE rods03 BEGIN
  WRITE_SHORT res+12 5
END
 END
END BUT_ONLY

Posted
*ahem* If I can interrupt... If you just want to detect a certain component, go with MOD_IS_INSTALLED. The main component will always be detectable with MOD_IS_INSTALLED ~item_rev/item_rev.tp2~ 0, and introducing a file to detect the whole component is unnecessary.

 

If you wanted to introduce something for detecting individual changes from a component (which might be moved into a different component later), then adding something like a "dv_move_items" file for that change would be preferable.

 

I have a quite strong preference for using marker files because it insulates against compatibility problems caused when a mod rearranges its component order. I admit that's reasonably unlikely to happen with the main component of IR - but on the other hand, marker components are harmless.

Posted
Regarding Rod of Resurrection, if I'm not wrong it's new Heal charges won't magically appear out of nowhere by themselves.

COPY_EXISTING_REGEXP GLOB ~.*\.are~ override PATCH_IF SOURCE_SIZE>0x11b BEGIN
 CLEAR_ARRAY item GET_OFFSET_ARRAY item 0x78 4 0x76 2 0 0 0x14
 PHP_EACH item AS ind => res BEGIN
READ_ASCII res item (8) NULL
PATCH_IF (~%item%~ STRING_EQUAL_CASE rods03) BEGIN
  WRITE_SHORT res+12 5
END
 END
END BUT_ONLY

COPY_EXISTING_REGEXP GLOB ~.*\.cre~ override PATCH_IF SOURCE_SIZE>0x2d3 BEGIN
 CLEAR_ARRAY item GET_OFFSET_ARRAY item 0x2bc 4 0x2c0 4 0 0 0x14
 PHP_EACH item AS ind => res BEGIN
READ_ASCII res item (8) NULL
PATCH_IF ~%item%~ STRING_EQUAL_CASE rods03 BEGIN
  WRITE_SHORT res+12 5
END
 END
END BUT_ONLY

COPY_EXISTING_REGEXP GLOB ~.*\.sto~ override PATCH_IF SOURCE_SIZE>0x9b BEGIN
 CLEAR_ARRAY item GET_OFFSET_ARRAY item 0x34 4 0x38 4 0 0 0x1c
 PHP_EACH item AS ind => res BEGIN
READ_ASCII res item (8) NULL
PATCH_IF ~%item%~ STRING_EQUAL_CASE rods03 BEGIN
  WRITE_SHORT res+12 5
END
 END
END BUT_ONLY

 

Good point, thanks.

Posted
*ahem* If I can interrupt... If you just want to detect a certain component, go with MOD_IS_INSTALLED. The main component will always be detectable with MOD_IS_INSTALLED ~item_rev/item_rev.tp2~ 0, and introducing a file to detect the whole component is unnecessary.

 

If you wanted to introduce something for detecting individual changes from a component (which might be moved into a different component later), then adding something like a "dv_move_items" file for that change would be preferable.

 

I have a quite strong preference for using marker files because it insulates against compatibility problems caused when a mod rearranges its component order. I admit that's reasonably unlikely to happen with the main component of IR - but on the other hand, marker components are harmless.

We are using DESIGNATED component numbers, so the main component (whatever that might include) will always be component 0 and a "main component" flag will provide no additional information. We're at the point in the conversation where talking about it has taken longer than doing anything about it (aka "caving") would have, but it's not every day people want to discuss mod organisation philosophy.

 

I think we settled on adding a flag in the component to indicate that the bonus merchants have had their inventories reallocated, which will still be useful in the (unlikely) event that we decide to move that out of the main component some time in the future.

Posted

OK, I'm mostly discussing this now as a point of interest, but: even with DESIGNATED, people sometimes end up changing the numbering. (I've ended up having to do this several times with SCS, mostly when I've had to change the install order for some reason.) As a matter of logic, being able to identify components via some flag necessarily connected to the component rather than just contingently so connected seems better. I acknowledge freely that it's highly unlikely in practice that component 0 of IR will ever change; I don't hugely object to using MOD_IS_INSTALLED if for whatever reason you/Demi have strong objections to adding a flag file.

Posted
OK, I'm mostly discussing this now as a point of interest, but: even with DESIGNATED, people sometimes end up changing the numbering. (I've ended up having to do this several times with SCS, mostly when I've had to change the install order for some reason.)

I think install order is determined by the ordering of components in the .tp2, regardless of what number the components have been designated as. I had to test this when we decided to retroactively DESIGNATE our components, and I wanted to make sure I could still slip new things in between old components. I guess a marker for each component could be useful if you decided to merge components later and preserve the original markers, but I can't see this happening with IR. For now, I'll stick with using MOD_IS_INSTALLED to detect whole components and only adding flags for detecting specific changes that might be moved around, removed, or duplicated later.

 

As a matter of logic, being able to identify components via some flag necessarily connected to the component rather than just contingently so connected seems better. I acknowledge freely that it's highly unlikely in practice that component 0 of IR will ever change; I don't hugely object to using MOD_IS_INSTALLED if for whatever reason you/Demi have strong objections to adding a flag file.

Component 0 will always hold the main component, but what the main component holds may change (e.g. we're moving most of the separable stuff out currently). The bonus merchant changes will probably be there forever, but we can add a flag for them just in case.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...