<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "DruidRPGGameRules fix"]]></title>
		<link>https://www.disastrousconsequences.com/dcforum/posts/list/20.page</link>
		<description><![CDATA[Latest messages posted in the topic "DruidRPGGameRules fix"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>DruidRPGGameRules fix</title>
				<description><![CDATA[ Dru, there is a compile error in this file on lines 41 and 52. AbilityLevel, the 5th parameter, is undefined. It should be located in DeathAbility's parent class, RPGAbility, but I don't know how to access a super property of a class in UnrealScript. (Why doesn't it work like C++, where it's just available? *annoyed*)]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22095</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22095</link>
				<pubDate><![CDATA[Sun, 15 Oct 2006 20:00:58]]> GMT</pubDate>
				<author><![CDATA[ Moof]]></author>
			</item>
			<item>
				<title>Re:DruidRPGGameRules fix</title>
				<description><![CDATA[ You sir, are incorrect.  But then Dru probably is, too somewhere along the line.

I think anyway.

I don't have access to code right this second - I'm at work - but something clicked ...

An ability class does not have direct access to its AbilityLevel, IIRC.  In fact, a lot of that info is usually passed to it, IE, in RPGRule's ModifyPawn or PreventDeath routines, it pulls AbilityLevel from the AbilityLevel array (remember, there are effectively two arrays, Ability and AbilityLevel, where the index value of each indicates what level goes with what ability) and passes AbilityLevel as a ... well, passed variable.

So the compile error in DruidRPGGameRules is probably because either Dru forgot about Ability and AbilityLevel actually being quite separate (object wise - only being paired through common array index values), or AbilityLevel is being incorrectly referenced.

In code terms, it's not: Ability.AbilityLevel == <the level for Ability>

It's actually:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
Ability&#91;x&#93; == &lt;the object representing the ability in an array of abilities&gt;
AbilityLevel&#91;x&#93; == &lt;the level of the ability Ability&#91;x&#93; in an array of levels - or more primitively, integers&gt;
</pre>
		</div>

Note that I can easily be way off base here because I'm going stream of concious without any access to code whatsoever.

I plan on looking at this when I get home this afternoon and seeing what Dru destroyed with his mucking about. ;)  Once I see that it's working properly, I'll start with DruidArtifactLoaded and make an effort at converting stuff to the new death system.

Mind you, DAL will be easy.  I think DruidNoWeaponDrop is going to be a PITA and DruidGhost is going to be worse.  Mainly because of vehicles; I don't think I quite have a handle on when I can refer to certain things, and when, say, Killed.Health is the health of the Vehicle or the health of the Player.]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22112</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22112</link>
				<pubDate><![CDATA[Mon, 16 Oct 2006 08:00:23]]> GMT</pubDate>
				<author><![CDATA[ BotFodder]]></author>
			</item>
			<item>
				<title>Re:DruidRPGGameRules fix</title>
				<description><![CDATA[ if(Killed.isA('Vehicle'))
  Killed = Vehicle(Killed).driver();
if(Killed == None)
  return; //or some such

You may want to check for it almost anywhere.]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22119</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22119</link>
				<pubDate><![CDATA[Mon, 16 Oct 2006 08:36:15]]> GMT</pubDate>
				<author><![CDATA[ TheDruidXpawX]]></author>
			</item>
			<item>
				<title>DruidRPGGameRules fix</title>
				<description><![CDATA[ <p></p>

		<cite>Moof wrote:</cite><br>
		<blockquote>Dru, there is a compile error in this file on lines 41 and 52. AbilityLevel, the 5th parameter, is undefined. It should be located in DeathAbility's parent class, RPGAbility, but I don't know how to access a super property of a class in UnrealScript. (Why doesn't it work like C++, where it's just available? *annoyed*)&nbsp;
		</blockquote>

I fix.

The AbilityLevel isn't available from anywhere because it's not actually available anywhere. I was supposed to be StatsInv.DataObject.AbilitiyLevels[x]

If you need access to a default config variable value from a static context you use default.Variable, or class'someclass'.default.Variable]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22120</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22120</link>
				<pubDate><![CDATA[Mon, 16 Oct 2006 08:38:38]]> GMT</pubDate>
				<author><![CDATA[ TheDruidXpawX]]></author>
			</item>
			<item>
				<title>Re:DruidRPGGameRules fix</title>
				<description><![CDATA[ <p></p>

		<cite>TheDruidXpawX wrote:</cite><br>
		<blockquote>if(Killed.isA('Vehicle'))
  Killed = Vehicle(Killed).driver();&nbsp;
		</blockquote>
Yeah but I'd swear I came across a situation to where after this line, Killed.Health was still operating on the Vehicle's health.  I'll have to play with it some day.

<p></p>

		<cite>TheDruidXpawX wrote:</cite><br>
		<blockquote>if(Killed == None)
  return; //or some such

You may want to check for it almost anywhere.&nbsp;
		</blockquote>
Having run into that while using some debugging lines, I wholeheartedly agree.]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22122</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22122</link>
				<pubDate><![CDATA[Mon, 16 Oct 2006 09:14:32]]> GMT</pubDate>
				<author><![CDATA[ BotFodder]]></author>
			</item>
			<item>
				<title>Re:DruidRPGGameRules fix</title>
				<description><![CDATA[ Thanks guys :)

Was just tryin to help!]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22131</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22131</link>
				<pubDate><![CDATA[Mon, 16 Oct 2006 16:12:20]]> GMT</pubDate>
				<author><![CDATA[ Moof]]></author>
			</item>
			<item>
				<title>Re:DruidRPGGameRules fix</title>
				<description><![CDATA[ <p></p>

		<cite>BotFodder wrote:</cite><br>
		<blockquote>Yeah but I'd swear I came across a situation to where after this line, Killed.Health was still operating on the Vehicle's health.  I'll have to play with it some day.&nbsp;
		</blockquote>

It really shouldn't...]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22136</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22136</link>
				<pubDate><![CDATA[Mon, 16 Oct 2006 18:36:25]]> GMT</pubDate>
				<author><![CDATA[ TheDruidXpawX]]></author>
			</item>
			<item>
				<title>Re:DruidRPGGameRules fix</title>
				<description><![CDATA[ <p></p>

		<cite>TheDruidXpawX wrote:</cite><br>
		<blockquote>It really shouldn't...&nbsp;
		</blockquote>
Ah okay I figured out what I saw and why I was confused.  Everywhere else we have:
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
if&#40;Killed.isA&#40;'Vehicle'&#41;&#41;
Killed = Vehicle&#40;Killed&#41;.driver&#40;&#41;; 
</pre>
		</div>
But that snippet isn't actually in Ghost (it's done differently and there's never any actual reassignment of Killed).  So when Killed.Health is referenced, it is appropriately referring to the Vehicle at that point, not the driver.

So you're right.  So far, it doesn't.]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22137</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22137</link>
				<pubDate><![CDATA[Mon, 16 Oct 2006 19:31:49]]> GMT</pubDate>
				<author><![CDATA[ BotFodder]]></author>
			</item>
			<item>
				<title>Re:DruidRPGGameRules fix</title>
				<description><![CDATA[ Okay - CVS at this point compiles, and a perfunctory test of things like Ultima, Pinata, Ghost ... all seem to work as before, but now with RPGDeathAbility. :)]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22161</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22161</link>
				<pubDate><![CDATA[Tue, 17 Oct 2006 16:04:41]]> GMT</pubDate>
				<author><![CDATA[ BotFodder]]></author>
			</item>
			<item>
				<title>Re:DruidRPGGameRules fix</title>
				<description><![CDATA[ <p></p>

		<cite>BotFodder wrote:</cite><br>
		<blockquote>Okay - CVS at this point compiles, and a perfunctory test of things like Ultima, Pinata, Ghost ... all seem to work as before, but now with RPGDeathAbility. :)&nbsp;
		</blockquote>

Excellent! Thanks for the assist!]]></description>
				<guid isPermaLink="true">https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22163</guid>
				<link>https://www.disastrousconsequences.com/dcforum/posts/list/2585.page#22163</link>
				<pubDate><![CDATA[Tue, 17 Oct 2006 18:51:15]]> GMT</pubDate>
				<author><![CDATA[ TheDruidXpawX]]></author>
			</item>
	</channel>
</rss>