[Logo]
 
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Pinata fix  XML
Forum Index -> Druids RPG Go to Page: 1, 2 Next 
Author Message
BotFodder

Wicked Sick!
[Avatar]

Joined: 01/13/2006 15:23:41
Messages: 1239
Location: Florida
Offline

Attached is a zip file of all classes needed to implement this fix.

Change was made to LoadedInv, adding a bool NoPinata. Default was set to false.

Change was made to DruidArtifactLoaded, where LoadedInv.NoPinata is set to true.

The classes for the following artifacts were changed (created Druid versions - incl. Pickup - if needed): Globe, Triple, Boots, Teleporter, Lightning Rod, ElectroMagnet, and MWM. Added custom DropFrom that checks for NoPinata and Health of Instigator. Less than 0 and NoPinata? Artifact is destroyed instead of dropped.

Tested on a "Listen" server - shouldn't make a difference (my "dedicated" still has wierd weapon problems). Tested both AM (who won't drop on death the artifacts that used to) and WM (who will if they have any).

Also discovered that by moving (or probably just removing) a line in the DropFrom routine, you can "introduce a bug" that results in only the currently shown artifact being dropped for non-AMs.

EDIT: IT's also important to note that three of the artifacts covered are not originally extended in DruidsRPG and utilizing these code changes fully would require changes to the UT2004RPG.INI (I think you'll figure out which ones).

EDIT 8/13/06: Updated Zip file to have "mod neutral" code - in other words, any "DruidsRPG200." prefixes were removed.
 Filename PinataFix.zip [Disk] Download
 Description
 Filesize 9 Kbytes
 Downloaded:  155 time(s)


I use the Futurama Prof. Farnsworth Skin: http://www.disastrousconsequences.com/dcforum/posts/list/1595.page
WM: (DC)BotFodder 170
MM: (DC)BotDoctor 141
AM: (DC)BotBooster 147
http://ericdives.com/ - My DC Newbie FAQ: http://tinyurl.com/lz229
Twitter: http://twitter.com/ericdives
[WWW] aim icon [MSN]
Moof

Wicked Sick!
[Avatar]
Joined: 06/24/2006 19:42:44
Messages: 433
Location: College Park, MD
Offline

What was the problem?

Moof, Scholar of Ni

Moof (W); Dr. Moof (M); Engimoof (E); Moofgineer (E beta)
[Yahoo!] aim icon [ICQ]
BotFodder

Wicked Sick!
[Avatar]

Joined: 01/13/2006 15:23:41
Messages: 1239
Location: Florida
Offline

Dru would prefer that folks with the Loaded Artifacts skills not drop their artifacts when they die. With these changes, Loaded Artifacts people can still voluntarily throw their artifacts, but when they die, their artifacts will not be dropped.

See the thread http://disastrousconsequences.com/dcforum/posts/list/2298.page, particularly Dru's response at the bottom.

This should be an acceptable solution, if the code passes Dru's standards.

I use the Futurama Prof. Farnsworth Skin: http://www.disastrousconsequences.com/dcforum/posts/list/1595.page
WM: (DC)BotFodder 170
MM: (DC)BotDoctor 141
AM: (DC)BotBooster 147
http://ericdives.com/ - My DC Newbie FAQ: http://tinyurl.com/lz229
Twitter: http://twitter.com/ericdives
[WWW] aim icon [MSN]
Moof

Wicked Sick!
[Avatar]
Joined: 06/24/2006 19:42:44
Messages: 433
Location: College Park, MD
Offline

Dropping artifacts...pinata?

i confused.

Anyhow, good work.

Moof, Scholar of Ni

Moof (W); Dr. Moof (M); Engimoof (E); Moofgineer (E beta)
[Yahoo!] aim icon [ICQ]
BotFodder

Wicked Sick!
[Avatar]

Joined: 01/13/2006 15:23:41
Messages: 1239
Location: Florida
Offline

Imagine the monsters in invasion as blindfolded (yet highly accurate) children with bats at a Mexican birthday party.

Introduce an Adrenaline Master without these code changes.

Sit back and watch.

I use the Futurama Prof. Farnsworth Skin: http://www.disastrousconsequences.com/dcforum/posts/list/1595.page
WM: (DC)BotFodder 170
MM: (DC)BotDoctor 141
AM: (DC)BotBooster 147
http://ericdives.com/ - My DC Newbie FAQ: http://tinyurl.com/lz229
Twitter: http://twitter.com/ericdives
[WWW] aim icon [MSN]
320

Wicked Sick!

Joined: 10/11/2005 21:28:38
Messages: 605
Offline

Moof wrote:
Dropping artifacts...pinata?

i confused.

Anyhow, good work.  


Not trying to jack yo' thread, bot.

I coined the term here:

http://disastrousconsequences.com/dcforum/posts/list/30/1488.page#11744

I honestly really regret doing so. Before that, no one cared about this aspect of the game.
BotFodder

Wicked Sick!
[Avatar]

Joined: 01/13/2006 15:23:41
Messages: 1239
Location: Florida
Offline

320 wrote:
I honestly really regret doing so. Before that, no one cared about this aspect of the game. 

I would say that you're perception may not be 100% correct - Dru has had the setting limiting people to 3 artifacts for a while, and has hinted that he's kept it this way because of the potential for Loaded Artifacts to create an over abundance of artifacts in the game (which, last I saw, is supposed to be limited to a total of 40, if I understand the settings I saw).

It may just be that he's finally gotten around to it on his list, but his initial attempt did not work as desired ...

Also - I thought BigDaddy had been using the term to notify folks that he'd died and his artifacts were available.

I use the Futurama Prof. Farnsworth Skin: http://www.disastrousconsequences.com/dcforum/posts/list/1595.page
WM: (DC)BotFodder 170
MM: (DC)BotDoctor 141
AM: (DC)BotBooster 147
http://ericdives.com/ - My DC Newbie FAQ: http://tinyurl.com/lz229
Twitter: http://twitter.com/ericdives
[WWW] aim icon [MSN]
320

Wicked Sick!

Joined: 10/11/2005 21:28:38
Messages: 605
Offline

BotFodder wrote:

320 wrote:
I honestly really regret doing so. Before that, no one cared about this aspect of the game. 

I would say that you're perception may not be 100% correct - Dru has had the setting limiting people to 3 artifacts for a while, and has hinted that he's kept it this way because of the potential for Loaded Artifacts to create an over abundance of artifacts in the game (which, last I saw, is supposed to be limited to a total of 40, if I understand the settings I saw).

It may just be that he's finally gotten around to it on his list, but his initial attempt did not work as desired ...

Also - I thought BigDaddy had been using the term to notify folks that he'd died and his artifacts were available. 


I don't know if it led to the change or not, only Dru knows that. But I do know that it caused a lot of people to get upset (and is still an issue with some).

This was at the time when uh... spirited debate was taking place claiming LA was too weak and not balanced against LW. The pinata thing was a further piece of evidence that LA players supposedly weren't getting a fair shake. In fact, it was all that which convinced me to make a LA char and find out for myself. Come to find out, not only was LA not weak at all, it was quite powerful.

Anyway, at least with your effort we (hopefully) have an elegant solution that will keep people happy.

BotFodder

Wicked Sick!
[Avatar]

Joined: 01/13/2006 15:23:41
Messages: 1239
Location: Florida
Offline

NOTE: I have updated the PinataFix.zip attached to the first message - it should be easier for Dru to "drop in" to his working code.

320 wrote:
This was at the time when uh... spirited debate was taking place claiming LA was too weak and not balanced against LW. The pinata thing was a further piece of evidence that LA players supposedly weren't getting a fair shake. 

For the record, I was always of the impression (and still am, to a large extent), that AMs at higher levels are a force to be reckoned with - and that a lack of Triples available for WMs at certain levels would have AMs easily outscoring them.

Having played a midbie AM for a while now (trying to get him D3 and Ghost), I can say that at midbie levels they're nothing to shake a stick at - but unless you're Kyreau, they tend to be at a severe disadvantage on higher waves, particularly 12 and 16. Even Kyr dies once in a while on those; he's just managed to get a killer score before that. And he's still sub 50, last I checked.

320 wrote:
Anyway, at least with your effort we (hopefully) have an elegant solution that will keep people happy. 

We'll see. I feel alot better about PinataFix than I do the whole Denial/Ghost/Loaded Weapons triumverate. Though I think I now have a working (but not posted) Denial/LW fix, and am near certain I know how to fix the Denial/Ghost issue.

The key here is that I'm not 100% sure it fixes things the way Dru wanted them fixed. Any of the 7 pinata artifacts addressed by these fixes will *never* be dropped by an AM, even if the AM drops his original one and picks another up.

This is not so much a bad thing I think.

The only thing that would be spilled from a dying AM now would be (if they had one) the Summon Charm (I did not add the necessary code to it, as it's not one of the ones an AM starts with).

I use the Futurama Prof. Farnsworth Skin: http://www.disastrousconsequences.com/dcforum/posts/list/1595.page
WM: (DC)BotFodder 170
MM: (DC)BotDoctor 141
AM: (DC)BotBooster 147
http://ericdives.com/ - My DC Newbie FAQ: http://tinyurl.com/lz229
Twitter: http://twitter.com/ericdives
[WWW] aim icon [MSN]
kyraeu

Rampage
[Avatar]

Joined: 08/20/2005 18:13:53
Messages: 110
Location: Edmonds, WA
Offline

Musta checked a while ago - haven't played much in the last week and I'm 57 now!

PS You spelled my name wrong like most people do!

On the subject of pinata... I would like this as it makes me, as an LA, more powerful... but I think we're coming to a point where LA might become too powerful.

Sure, give an LW a triple and he'll do better - but as much as a person with surge? Nah. It will make him better... but if it turns into a triple war, as long as the LA can survive, the LW isn't gonna be able to do anything about it since he can't run the triple as well or as long. The key thing in there is "as long as the LA can survive", which isn't really assured at all.

It's an iffy thing. Pinata or no? I'm not sure I really care either way being an LA. But really it seems like if LA is already > LW... making LW have a little bit harder time seems like it might not be the best idea.

My Players: Junkie: Kyraeu 85 -- Medic: Excuses 68 -- Weapon: Fyruse 40
Saving for: Ghost 1, 2, 3, then adren skills -- Ghost 3 -- max DB, then some HB
320

Wicked Sick!

Joined: 10/11/2005 21:28:38
Messages: 605
Offline

kyraeu wrote:


Sure, give an LW a triple and he'll do better - but as much as a person with surge? Nah. It will make him better... but if it turns into a triple war, as long as the LA can survive, the LW isn't gonna be able to do anything about it since he can't run the triple as well or as long. The key thing in there is "as long as the LA can survive", which isn't really assured at all.

 


LW has nice combo ability and weapons like the avril, mines and deemer that can help balance the equation if people use them to full effect. They can also play more aggresively in most scenarios.

But, if you take two level 75 players, one LA and the other LW, who prefer a particular weapon such as the flak (a one-weapon-wonder), in the end, the LA player will typically do better by virtue of the triple.
TheDruidXpawX

Wicked Sick!
[Avatar]

Joined: 12/19/2004 18:32:13
Messages: 1946
Offline

Bot. I know you're going to hate this, but...

I think I know how to do this without overriding all the artifacts we may or may not have.

The Loaded Artifacts class could have an additional method added on PreventDeath (which would have to first call super.PreventDeath and bail if death is prevented)

Then when this is called, and super returns false, this runs through their inventory and sets all artifacts spawn classes to none.

This would prevent the artifacts from dropping in an extensible manner.

Dru.

Skin download: http://www.disastrousconsequences.com/dcforum/posts/list/1189.page

The fundamental problem is this: The first word we learn as children is NO. From that point forward society teaches women that saying no isn't polite, and society teaches men to respect those who wont take no for an answer.

The world is what you make of it, my friend. If it doesn't fit, you make alterations. -- Stella, The Morning Star
BotFodder

Wicked Sick!
[Avatar]

Joined: 01/13/2006 15:23:41
Messages: 1239
Location: Florida
Offline

TheDruidXpawX wrote:
Bot. I know you're going to hate this, but... 

Bah - you give me so little credit ...

TheDruidXpawX wrote:
I think I know how to do this without overriding all the artifacts we may or may not have. 

Which I understand would be much more preferred.

TheDruidXpawX wrote:
The Loaded Artifacts class could have an additional method added on PreventDeath (which would have to first call super.PreventDeath and bail if death is prevented)

Then when this is called, and super returns false, this runs through their inventory and sets all artifacts spawn classes to none.

This would prevent the artifacts from dropping in an extensible manner. 

Ah - what I think you actually want to do is not call super.PreventDeath (which has a slightly different format than Mysterial's PD for the Abilities, if I understand correctly - because Mysterial's calls super.PreventDeath after figuring out if death really does need to be prevented, IIRC), but figure out a way for any PD in the LA class to make sure all the other PDs have run first. Really, the only "Ability" so far that has a PD that actually does prevent death is Ghost, so coding for that single case is easy ... but preparing for other potential PD cases that would prevent death would not be so easy ...

I'll take a look at the code to see how feasable this idea is, and if I spot any (other) gotchas, I'll let you know.

I'll probably not code this kind of solution any time soon though - I'm not yet savvy enough to do the inventory run of the artifacts and play with their spawn classes.

I use the Futurama Prof. Farnsworth Skin: http://www.disastrousconsequences.com/dcforum/posts/list/1595.page
WM: (DC)BotFodder 170
MM: (DC)BotDoctor 141
AM: (DC)BotBooster 147
http://ericdives.com/ - My DC Newbie FAQ: http://tinyurl.com/lz229
Twitter: http://twitter.com/ericdives
[WWW] aim icon [MSN]
KohanX

Godlike

Joined: 03/04/2006 13:40:23
Messages: 350
Offline

No, I'm pretty sure PreventDeath happens every time you die. Last time I saw it in code it said that, and it would make more sense anyway (a general use [every death] instead of a specific one [every death that passes as okay through a function that would have already been like the first function]). Wow, that was confusing...
BotFodder

Wicked Sick!
[Avatar]

Joined: 01/13/2006 15:23:41
Messages: 1239
Location: Florida
Offline

KohanX wrote:
No, I'm pretty sure PreventDeath happens every time you die. 

I do not think you understand what I'm saying ...

PreventDeath (PD) does run every time you "die" but there are three PD's in discussion here:

One in Mysterial's core "RPGRules"
A reference to "Super.PreventDeath" at the start of "RPGRules"
One that can be in individual "abilities" and is called by "RPGRules"

All three take different arguements. The ones in abilities can be fed bAlreadyPrevented (bAP).

All return a bool value; the "Super.PD" return sets bAP to start, but then if any of the Ability PD's returns true, bAP always becomes true - and if it is, eventually RPGRules.PD returns true.

As an example, let's look at Ghost under ideal circumstances. I'm guessing that somewhere along the line, RPGRules.PD is called. It checks Super.PD - how it really decides true or false, I don't know. Let's assume false. RPGRules.PD gets the RPGStatsInv for the dying person, and loops through their abilities, calling Ability.PD - passing bAP (which right now is false). Ghost's so far is the only one I'm aware of in use that might actually return "true", and when the loop triggers Ghost's PD, and Ghost returns true, bAP becomes "always" true, and all further Ability.PD's are fed the now true bAP. Then RPGRules.PD returns true (as bAP is true; if bAP is false at this point, RPGRules.PD does some other stuff).

This changing of bAP based on an Ability's PD can become a problem if something before Ghost in a victim does something and assumes that since bAP is false, the person *will* die. In an ideal universe, Ghost's PD (or any other Ability that might actually return true, if the person has it) should always be called first. And every PD should simply return something (true or false, really doesn't matter) if bAP is true (unless you want to do something fancy - beyond the scope of this discussion though).

Right now a solution for a Ghost/Denial order issue I've worked on requires Denial to check for ghost (and itself), and, if Ghost.PD hasn't run yet, run it from within Denial, and then do stuff based on Ghost.PD's return. But what if Dru (or an extender) comes up with something else that might return true to Ability.PD?

I have an idea or two about how to ensure skills are called in the right order (not only for PD, but for ModifyPawn, which is called in every ability when you spawn), but I'll admit the idea may be flawed - so I'm still thinking it through.

I use the Futurama Prof. Farnsworth Skin: http://www.disastrousconsequences.com/dcforum/posts/list/1595.page
WM: (DC)BotFodder 170
MM: (DC)BotDoctor 141
AM: (DC)BotBooster 147
http://ericdives.com/ - My DC Newbie FAQ: http://tinyurl.com/lz229
Twitter: http://twitter.com/ericdives
[WWW] aim icon [MSN]
 
Forum Index -> Druids RPG Go to Page: 1, 2 Next 
Go to: