[Logo]
 
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Messages posted by: BattleMode  XML
Profile for BattleMode -> Messages posted by BattleMode [120] Go to Page: Previous  1, 2, 3, 4, 5, 6, 7, 8 Next 
Author Message

Kearin wrote:
I like making mods, but getting credit where due is nice as well. 
Completely my mistake, I misunderstood frostbyte. My apologies. I edited my posting now.
Frostbyte has created a custom version of BattleRPG which can be combined with the Invasion mod made by Rodney Powers and with the Galtanor's Invasion mod (which is based on Satore) made by Michael Wells.

In a few days I intend to release BattleRPG P4 (which will have magic weapons and several other improvements) and then I will try to integrate what frostbyte made into my main codebase (if that is possible), he already agreed to help me with that.

The end result of this will be Invasion + RPG for UT3 .
I got the base magic logic working now. Weapons can have magic and can have their name changed according to their magic. I used 2 tricks, sub classing all weapons and using the worldinfo.game.basemutator chain to locate BattleRPG while initializing the weapon.

Next challenge is to get SetOverlayMaterial working for weapons (so they look like magic weapons). Somehow it seems in UT2004 both Pawns and Weapons have this method but in UT3 only Pawns have that method. The source code of SetOverlayMaterial is available but it doesn't look like it would be easy to adapt it for weapons.

Szlat wrote:
Can you clarify if you have say 10 magic types, then you would have 10 subclasses of the flak, and 10 subclasses of the rocket, and 10 subclasses of the link etc? This would get to be a heck of a lot of classes -  
No not at all.

I have one separate class for each weapon type (11 classes) and one separate class for each type of magic (2 at the moment, but this will become more). So 11 weapons and 10 magic types will be 21 classes, not 110.

Each weapon has a magic variable in which an instance of a magic object is stored. So the weapon object has a link to the magic object.

Szlat wrote:
In that case, can you make the magic type classes (e.g. BattleWeaponMagic_IncreasedDamage) have pickups of their own. So on the old invasion monsters could spawn them, as could luck weapons. The player could then pickup the BattleWeaponMagic_IncreasedDamage pickup and choose which weapon to apply it to.
And players would be able to share magic types they didn't want with other players. This would be in addition to the normal random allocation of magic types to weapons on first pickup. 
That is an interesting idea. I think this would be possible (having magic pickups), but I want to start with the standard magic and standard artifacts before I spend time on that.

BTW is there perhaps someone in your community who can make me 3D artifacts for UT3?

Szlat wrote:
Are you having one RPGWeapon subclass of Weapon, with different magic subclasses of it, or are you producing individual classes for a vampire flak, vampire link etc? 
Separate classes for each weapon type (e.g. class BattleWeapon_FlakCannon extends UTWeap_FlakCannon). I do not want to do the pass-through aproach Mysterial made for UT2004 RPG, it's too ugly and has to many fixes for all the side effects.

I will either add a reference to a static class or one to a dynamic class and then probably a pointer back to the weapon, so all the real work will be done in the BattleWeaponMagic class as defined above.
Well I figured out how to override the name (to add the magic specification) now.

It's quite simple, it's a matter of subclassing the weapon (ahum) and creating a new GetHumanReadableName() method. I tried GetItemName (which seemed like the logical choice) and GetLocalString but those don't work.

Since the default GetHumanReadableName does nothing but return Default.ItemName it seems the list with reasons why it has to be a subclass has become 1 bullet longer.

So I will probably stick to my bunch of subclasses aproach. It's bad for compatibility (although it also means RPG will not try to modify weapons it doesn't recognize) but it seem to be good for everything else. 52 classes and counting .

BattleMode wrote:

Szlat wrote:
Can you change the ItemName property? 
I am still trying to figure that part out, the internationalization stuff does things I do not completely get yet. 


Unfortunately the direct aproach of changing ItemName doesn't work: "Error, Can't assign Const variables". So (ab)using it for storing the magic type is out too.

It is declared as a "var databinding localized string ItemName;".

Szlat wrote:
Can you change the ItemName property? 
I am still trying to figure that part out, the internationalization stuff does things I do not completely get yet.

Szlat wrote:
I think keep the weapon magic types in player data rather than attached directly to the weapon. 
That would make it quite tough to keep the magic intact while the weapon switches between players.

Szlat wrote:
Not sure there is one. Weapons do not have an inventory chain. I think you would have to sub-class and add the code yourself. 
Hm, once I subclass the weapon I no longer need to attach any objects :-S

Szlat wrote:
Perhaps we would have to trap the throw weapon command, and somehow change the pickup item so that the magic type etc is defined in it. Perhaps by changing the pickup ItemName to match what the weapon is? Then when the next player picks it up, we can see it is already a magic weapon. 
Abuse the ItemName to define the type of magic, interesting idea, that is worth some experimenting.

Szlat wrote:
Agreed the subclassing method gives less limitations as to what you can achieve, but also may provide more incompatibilities with other mutators. And you will need to put the extra code in for the link gun. 
Agreed, however given the way the scoreboard and some other things work compatibility is quite hard with UT3.

Szlat wrote:
So - what control was it you did not have when you implemented the attached object?  
Well, first on my list is changing the name of the weapons based on their magic. Next is changing theri appearance based on their magic type, e.g. when the player switches between weapons. Also I had some trouble figuring out an efficient way to find objects attached to weapons.

I also prefer the "leave the weapons alone" aproach actually. With the players pawns I succeeded in doing so so far. But I suppose there is a reason UT2004 RPG ended up with subclassing, and if subclassing is needed I prefer straightforward subclassing over the 1 superclass aproach with passing everything through I think.

Perhaps you know this. With a pawn I can add an inventory item and then use FindInventoryType to find it back. What trick would allow something similar with a weapon?

Szlat wrote:
So in GameRules use the OverridePickupQuery call for the weapon, see it is a flak which we haven't picked up before, so select a magic type for it, and display the correct pickup text for it. Then have the netdamage code check the list of magictypes for that weapon for the player and action accordingly. 
In this aproach how would the magic stay on the weapon when it goes from one player to another player? How would you change the pickup text here?

It seems to me you really need to do something with the weapon object (either by subclassing, superclassing (let's call what UT2004 RPG does that) or attaching). I have also thought about just applying everything to the player based on the weapon currently active but it seems to me that would result in all kinds of unwanted limitations.

For now I have chosen to subclass everything. But the actual weapon magic logic is defined separately, so in the future this could be changed without having to re-build the weapon magic classes.
My first idea here was to do the same I did with players. Attach an object to them so I do not need a custom class. This turned out to not give me enough control over the weapons.

Then I investigated how Mysterial solved it for UT2004 RPG. He uses a rather clever trick of defining 1 RPGWeapon class that contains a standard weapon object and passes through all calls to the RPGWeapon to the connected Weapon. Disadvantage is that this has 1001 side effects for which all kinds of hacks are needed to compensate them. Also the UT3 weapon classes are not that clean, so passing through would be quite complicated.

So I am going to do it the old fashioned way instead. Create separate subclasses for all weapons.

Some (not yet working) weapon magic class:
Code:
class BattleWeaponMagic_IncreasedDamage extends BattleWeaponMagic config (BattleRPG);
 
 function DamageToOtherPawn (UTPawn P, int Level, int OriginalDamage, out int Damage, UTPawn InjuredPawn, vector HitLocation, out vector Momentum, class<DamageType> DamageType)
 {
   Damage = Damage * (1.0 + Level * 0.05);
 }
 
 defaultproperties
 {
   MagicName = "of Increased Damage";
   MagicMaxLevel = 10;
   bPositiveMagic = true;
   Overlay = Material'PICKUPS.UDamage.M_UDamage_Overlay';
 }




Dracos wrote:
I see what was my problem now. The effects of the ability purchaces do not take effect till the next life. Everything seems to be working now..... Thanks. I guess thats what i get for not dying when im testing
Yes, more people complained about this. I intend to solve this by killing people who change their build.

Dracos wrote:
Also where do you add the ?mutator for hosting matches. I'm still a bit new at working around all the files and such with Ut3. 
It is something you add to the command line which you use to start the server.

E.g.: UT3 server WAR-Avalanche?GameMode=2?MaxPlayers=32?NumPublicConnections=32?NumOpenPublicConnections=32?numplay=8?botskill=5?Mutator=BattleRPG.BattleRPG -unattended -AdminPassword=*** -login=*** -password=***

Dracos wrote:
I dunno if I missed something or not but it seems to be bugged when I use it. For one, Health Regen, while working, regens all the way to 200 even when i have 0 points in Health bonus 
This is by design, I will probably change the way this works though.

Dracos wrote:
and health bonus didnt seem to add any more life. Ammo Regen did not work along with weapon speed. Also for some reason when i use it, the map in VCTF disappears. 
It seems to work on most servers. How exactly did you test this?

Dracos wrote:
I moved the 3 files where they needed to be but nothing was said for the classes folder that had to be installed or where. 
The ReadMe.txt mentiones that you can ignore those, they contain the source code for those who are interested in that.

Dracos wrote:
Few remarks... Health Regen is powerful in its current form as people said for the default price. 
Agreed, I will change this.

Dracos wrote:
Also the 999 Health once maxxing mana is a way tad on the Op'ed side. In CTF matches, It usually means you will score the flag as 999 health is excessive. 
Agreed, the current Mana bonus is a temporary thing to have some use for Mana while I spend time on artifacts which will use them. It might be a little while before I have added those though, next on my list is magic weapons and artifacts are after that.

Grizzled_Imposter wrote:
I had a chance to play your mod on Slaughters prototype server. I like the way that it integrates with the rest of the game. It is very seamless in that way. 
Thank you.

Grizzled_Imposter wrote:
Just a note on game play. Regeneration is very powerful for the cost. 
I will look into that (btw are you referring to ammo regen or health regen?)

Wail wrote:
Cool work BattleMode. Been meaning to check this out but have been too busy to do much in UE3 lately. Looking good, though, and I like how you've made everything uniformly an "ability." 
Thank you.

Wail wrote:
Quick question: Why the change to ammo regeneration to disallow it for a period of time after being struck? Although I'm not opposed to limitations like that, it does seem a bit odd, since being damaged doesn't seem connected to having ammo, to me. 
Well, to be honest the reason I did it was mainly to test if the underlying RPG core engine could handle that type of logic . I will probably remove it from ammo regeneration, make health regeneration faster and add the logic the health generation. That way you can regenerate health between fights (faster) without becoming invulnerable during those fights.

Wail wrote:
I do like that it only regenerates one weapon at a time, although I'd like to see people able to buy weapon-specific always-on regeneration later. 
Perhaps there should be a more expensive "regenerate all weapons" ability or something like that.

Thank you for your suggestions, I added them to my to do list: http://bigbattleservers.com/forum/viewtopic.php?f=24&t=690

Szlat wrote:
Well done I haven't had chance to look at it yet - too busy because of Christmas - but you have made a good enough start for servers to get up and running.  
Thank you.
 
Profile for BattleMode -> Messages posted by BattleMode [120] Go to Page: Previous  1, 2, 3, 4, 5, 6, 7, 8 Next 
Go to:   
Powered by JForum 2.1.7 © JForum Team