Iridal/Chatoyant Staff

PrBlahBlahtson
Developer
Posts: 539
Joined: Sun Jul 22, 2012 12:17 am

Iridal/Chatoyant Staff

Post by PrBlahBlahtson » Tue Aug 07, 2012 10:48 pm

Another night spent tinkering, another patch that we probably don't need :lol:

Built from r1687

Features:
- Adds Iridal and Chatoyant Staff. These act as catch-all L51 NQ and HQ elemental staves when it comes to accuracy/potency, statistics, and elemental resistance. They're created using Synergy, so players have no way to create them. The AH utility might blindly add them, though.
- Modifies magic.lua and avatar.lua to utilitize these staves, as they'd cancel themselves out otherwise.
- Adds Iridescence as a 33% proc under day/weather bonus, and forces trigger if the appropriate Obi is worn.

Issues (there's always issues with me):
- NPC values are still uncertain, but as good as I can manage.
- Functionality of Iridescence isn't entirely clear. Current implementation will only proc when favorable (per BGWiki.)
- My work around for magic/avatar.lua will stop working if Atmas are ever added. I'm unaware of any non-staff affinity gear.

Fixes in this version:
- Now treated as a staff instead of a sword
- Value
- Brought up to speed with overhaul of magic.lua and addition of perp cost.

Side thought:
Current elemental affinity system uses a catch all value, while retail can have Accuracy affinity, potency affinity, and perpetuation cost affinity.

Edit:
Helps to attach the patch, doofus.

Edit 2:
Okay, according to BGWiki, there is:
- Approx 1/3 chance of weather affecting spell. 10% single, 25% double.
- Approx 1/5 chance of day affecting spell, 10%.
- Disagreement over 25, 30, or 35% cap for those effects. 40% with Twilight cape (only.)

BGWiki indicates the staves proc entirely separately, but can be forced with an elemental obi (not implemented.)
Implementing SCH -storm spells, as well as Obis would probably make coding weather effects a whole lot easier, since you could force the weather and force a proc.

So... no data on frequency of staff proc. I suppose I could do a 1-8 on which weather to proc, and then a 1-3 on whether or not it influences the spell.

Additionally, when did I start pseudo-coding magic.lua in my head? ಠ_ಠ

Edit 3:
item_weapon has skill type set to 3 (sword) instead of 12 (staff.) Fairly easy to correct, but I don't much feel like going to the trouble, since there seems to be no interest.
Attachments
Iridal Staff.patch
v2
(6.03 KiB) Downloaded 416 times
Last edited by PrBlahBlahtson on Fri Aug 31, 2012 7:21 pm, edited 3 times in total.

PrBlahBlahtson
Developer
Posts: 539
Joined: Sun Jul 22, 2012 12:17 am

Re: Iridal/Chatoyant Staff

Post by PrBlahBlahtson » Wed Aug 08, 2012 4:42 pm

I like BGWiki. They cut through the crap.

Adds an additional possible weather proc for 10% bonus. Source 1 + 3 + 4
Can proc independently of weather proc. Source 1 + 3 + 4
"Elemental Obis will force a combined proc." Source 1 + 4
"(Elemental Obis)...guarantee the proc of Iridescence..." Source 2
Iridescence always procs for helix spells, as does weather. Source 5
"Increases the bonus and penalty of weather effects by an additional 10%." Source 6

Source 1: http://wiki.bluegartr.com/bg/Iridescence
Source 2: http://wiki.bluegartr.com/bg/Category:Elemental_Obi
Source 3: http://wiki.bluegartr.com/bg/Weather
Source 4: http://wiki.bluegartr.com/bg/Iridal_Staff
Source 5: http://www.bluegartr.com/threads/108199 ... ost5320350
Source 6: http://wiki.ffxiclopedia.org/wiki/Iridal_Staff

Some hemming and hawing about the staffs and caps here: http://www.bluegartr.com/threads/108199 ... her/page16

So what I'm coming away with from this data is that Iridescence is basically a second weather proc which just falls under the 1/3 rule without an obi, i.e. Fire IV has a 33% chance of a 0.10 bonus from the staff. What that has me coming up with is something along the lines of...

Code: Select all

if main = Iridal or chatoyant
if waist = corresponding obi
damage = damage + 10%
else r 1-3
if r = 3
damage = damage + 10%
end
Would have to be altered and included into whatever code handles weather I imagine. DeVeous mentioned a getWeather function, so running a case on weather code to fill a bonus variable, and just having the staff contribute after weather seems plausible. What throws me is that bit about penalties on ffxiclopedia.

Thoughts? Opinions? Input of any sort?

PrBlahBlahtson
Developer
Posts: 539
Joined: Sun Jul 22, 2012 12:17 am

Re: Iridal/Chatoyant Staff

Post by PrBlahBlahtson » Sun Sep 16, 2012 1:14 am

Per whasf, I'll bump this for chuckles. It's not accessible to players under normal circumstances, and it's honestly hack-job coding at best, so it probably needs... everything. It was built from a (now) old revision, so it probably doesn't even patch properly anymore.

But hey, feedback of any kind would be interesting.

Edit: bump*
Last edited by PrBlahBlahtson on Sun Sep 16, 2012 4:47 pm, edited 1 time in total.

diogee
Posts: 16
Joined: Mon Jul 23, 2012 10:50 pm

Re: Iridal/Chatoyant Staff

Post by diogee » Sun Sep 16, 2012 2:21 am

my personaly feeling on this is keep it out for now since the only way to actually get it is a stocked AH

PrBlahBlahtson
Developer
Posts: 539
Joined: Sun Jul 22, 2012 12:17 am

Re: Iridal/Chatoyant Staff

Post by PrBlahBlahtson » Sun Sep 16, 2012 4:51 pm

Same could be said of Moogle outfits, 9th/10th anniversary outfits, Tidal Talismans, Nightmare, the Twilight armor, all of the AF3 sets, relics/mythics, etc. It's a simple matter of hacking an NPC to sell them, if a server admin wants them available; but I can't deny that you have a valid argument as well.

That's why I say offer the decision to the devs and let it go from there. Functionality is correct, as near as I can tell from the resources available when I was building it.

bluekirby0
Developer
Posts: 707
Joined: Sun Jul 22, 2012 12:11 am

Re: Iridal/Chatoyant Staff

Post by bluekirby0 » Sun Sep 16, 2012 6:02 pm

If functionality is "correct" and not just "as close to correct as you could manage with available functions" then its valid for submission. If you ran into the latter case, tell us what you need (though latents are kind of difficult to handle unless they can safely be evaluated at the time it is equipped).

Metalfiiish
Developer
Posts: 176
Joined: Tue Jul 31, 2012 7:21 am

Re: Iridal/Chatoyant Staff

Post by Metalfiiish » Mon Sep 17, 2012 12:53 pm

Wow, that looks like a sick contribution. I do agree that it's not really logical to add it in as no one can make it yet but I'd be glad to commit it anyways as like you said some admins would like to enable a shop to sell. I just got back on the project though and was given a list of about 20-30 bugs to go check as there was not scripter looking at the bugs recently, and there's a few other posts that are more needed then this. I promise I'll run back later and check this out once those are done. Think of this as a We'll take it but set to low priority ^.^ In the mean time if you can figure out anything that you would need us to implement to get it working 100% toss it in here, though I think you mentioned it all.

PrBlahBlahtson
Developer
Posts: 539
Joined: Sun Jul 22, 2012 12:17 am

Re: Iridal/Chatoyant Staff

Post by PrBlahBlahtson » Mon Sep 17, 2012 4:43 pm

bluekirby0 wrote:If functionality is "correct" and not just "as close to correct as you could manage with available functions" then its valid for submission. If you ran into the latter case, tell us what you need (though latents are kind of difficult to handle unless they can safely be evaluated at the time it is equipped).
As far as I know, I left nothing out. The problem is in the conditional; "as far as I know."

Consider elemental obis. Most pages about them will say that it "forces day/weather bonus" which is positive language. The truth is that it forces the day/weather effect to proc, regardless of positive or negative. The other sources use language that implies positive, but never outright states it.

In this case, five sources brought together implied that it procs 33% of the time, in addition to day/weather, and that it can only be favorable, which was explicitly stated in at least one source. One source states positive or negative. While I still played, BGWiki was usually sound data only, while ffxiclopedia was... whatever someone wanted to post, so I trusted their "positive only" information more than an offhand remark on ffxi.wikia.

Unless one of the pages has changed, I'd honestly have to sign back up, get my hands on a staff, and spam stone on a mob to see if I got a -10% proc, then do a statistically significant number of tests for proc rate. :) But I'm broke, so I can't. Mostly, this ended up being a fun exercise in "finding model ids" and "making new items."

Oh, and there was that little hack job to detect iridal/chatoyant. If element_strong = element_weak or something to that effect. That's kind of going to break if any other elemental affinity mods show up, but the only ones I'm aware of are Abyssea atmas or equipment augments. The alternative was a hard coded itemid.

bluekirby0
Developer
Posts: 707
Joined: Sun Jul 22, 2012 12:11 am

Re: Iridal/Chatoyant Staff

Post by bluekirby0 » Sat Oct 27, 2012 7:47 am

Finally got around to adding this since it was in line with a bunch of other related changes. Had to make a few changes since stuff has moved around, but its up now:
http://code.google.com/p/onetimexi/source/detail?r=1976

PrBlahBlahtson
Developer
Posts: 539
Joined: Sun Jul 22, 2012 12:17 am

Re: Iridal/Chatoyant Staff

Post by PrBlahBlahtson » Sat Oct 27, 2012 2:33 pm

Nice, that behavior should be correct for Iridescence as well. More data had come out, and I forget if I had changed the patch after reading about it.

If I remember right though, Iridal/Chatoyant has item_mod for all 8 affinities, so strongaffinity - weakaffinity will always be 0. I wasn't sure if item-specific checks were the right route, hence my "if strong == weak, then affinity = strong". I'll have to look the logic over later to see if I missed how you approached that one.

Post Reply