Announcement

Collapse
No announcement yet.

Poison Bolts Mutator

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Poison Bolts Mutator

    At the behest of Apache, I've created a mutator for thievery that adds a new type of bolt, the Poison Bolt (or Spider Venom bolt, whatever) to the game. This bolt is added directly the Guard Shop at 50 loot a bolt. It does a small amount of damage when it hits, but then continues to do damage for 10 - 20 seconds afterwards.

    At any rate I have a suggestion for the devs:

    Could you also make it so if a player has multiple types of bolts/arrows sharing the same ID, that pressing that key switches between them? This would allow me or anyone else to create a series of mutators to add new projectiles without having to worry about them being incompatible.
    Immortius' Forge

  • #2
    That's strange. I've used the item categoryfor my bow upgrade, and it shows up just fine on clients, even tho it's not listed in replication either. I think I read somewhere that UT replicates all variables anyway.
    ]V[]V[

    Comment


    • #3
      I've found (while being a loser and summoning things on my own server) that you can have an unlimited amount of weapons per slot. Par example:

      Slot 1:

      ratclaws
      translocator
      chainsaw
      nothing
      fists
      "Just off the border of your waking mind there lies another time, where darkness and light are one. As you tread the halls of sanity, you feel so glad to be unable to go beyond. I have a message from another time."

      Comment


      • #4
        I think I really am losing my skull...
        ]V[]V[

        Comment


        • #5
          Originally posted by Radamanthus
          I've found (while being a loser and summoning things on my own server) that you can have an unlimited amount of weapons per slot. <Insert Example Here>
          fists
          This is all very good for normal weapons but Thievery missile weapons work differently, with different keys selecting different ammo based on an ID number set in the ammo properties. The actual code detects when you press the key, and searches through your inventory until it finds an ammo type with the matching ID number. If you have more than 1 ammo of that type then it is selected. The thing is, it only looks for the first ammo matching that number. For instance, if I set the poison bolts to ID 6, the same as parabolts, then it will select only parabolts or poisonbolts, depending on which is first in your inventory. This is a special case for bolts and arrows only - melee weapons and standard UT weapons don't have this problem.

          Oh and MortalMonkey, I fixed that little problem and edited it out of my post - apparently at the same time you were replying. :lol:
          Immortius' Forge

          Comment


          • #6
            Is Apache working on a new version of Arachnophobia ? This addition would make the thieve's job even harder... as if thoses freaking crystal spiders weren't enough...

            Comment


            • #7
              Originally posted by immortius
              This is all very good for normal weapons but Thievery missile weapons work differently, with different keys selecting different ammo based on an ID number set in the ammo properties.
              [snip]
              But can't you use a thief arrow slot or just a new slot?
              ]V[]V[

              Comment


              • #8
                There are 3 unused slots for guard bolts, and about 0 for thievies. There are only 3 unused slots beause the slots are set to be between 4 and '10' - the zero key on keyboard. 11 and above wouldn't work. The store can fit 15 different ammo types. The weapons themselves can be linked to 16 different ammo types. At the moment the limit to the number of extra bolts is basically 3 rather than the possible 11 extra buyable bolts. Futhermore, if I made more than 3 extra bolt mutators (I've been asked to make 2), then which of the slots should it use up? The forth mutator would have to be incompatible with one of the other three mutators, or else with an existing ammo type. Plus with every thief arrow slot used up, I can't even make a single one without problems in either normal guards vs. thieves or else thiefmatch.

                This is not a problem with the Poison Bolt Mutator (which works just fine using slot 8), but with expandablility.
                Immortius' Forge

                Comment


                • #9
                  Hmm, interesting problem, I've been trying to custom arrow types myself, but Dalai keeps having a go at me for making things more complicated.

                  I'll try to find out a way to have more than one arrow in the same slot, and see if I can get that into a future patch.

                  Comment


                  • #10
                    Thanks.

                    Introducing new bolts and arrows through mutators is probably not a bad idea - it keeps 'pure' thievery that much more simple, while allowing servers to experiment with new weapons on a case by case basis. Plus it allows you to make some weapons while are insanely unbalanced - like Redeemer Bolts. .

                    If it is any use to you, or anyone else, the base mutator I'm using to add bolts and arrows is as follows:

                    [code:1:400c134e4c]//================================================== ===
                    // ThAddAmmoClass - By Immortius
                    //================================================== =======
                    class ThAddAmmoClass expands Mutator;

                    var&#40;&#41; class&lt;ThieveryAmmo&gt; AmmoClass; // The ammo type to add
                    var&#40;&#41; int Cost; // The cost of the ammo
                    var bool OutOfRoomError; // No more room for this weapon!
                    var ThieveryShop Shop;

                    replication &#123;
                    reliable if &#40;Role == ROLE_Authority && !OutOfRoomError&#41;
                    Shop;
                    &#125;

                    event BeginPlay&#40;&#41; &#123;
                    local bool ShopUpdated;
                    local int i;

                    // Adds the correct ammo to the correct shop
                    foreach AllActors&#40;class'ThieveryShop', Shop&#41; &#123;
                    if&#40;Shop.IsA&#40;'ThieveryShopThieves'&#41; && AmmoClass.default.bFromBow && !ShopUpdated&#41; &#123;
                    //Checks that the shop doesn't already have this weapon...
                    for&#40;i=0;i&lt;ArrayCount&#40;Shop.Ranged&#41; && Shop.Ranged&#91;i&#93;.Item != none; i++&#41; &#123;
                    if&#40;Shop.Ranged&#91;i&#93;.Item == AmmoClass&#41; ShopUpdated = true;
                    &#125;
                    if &#40;!ShopUpdated && i&lt;ArrayCount&#40;Shop.Ranged&#41;&#41; &#123;
                    Shop.Ranged&#91;i&#93;.Item = AmmoClass;
                    Shop.Ranged&#91;i&#93;.Cost = Cost;
                    Shop.Ranged&#91;i&#93;.Quantity = 1;
                    ShopUpdated = true;
                    &#125;
                    if &#40;i==ArrayCount&#40;Shop.Ranged&#41;&#41; &#123;
                    ShopUpdated = true;
                    OutOfRoomError = true;
                    &#125;
                    &#125;
                    else if&#40;Shop.IsA&#40;'ThieveryShopGuards'&#41; && AmmoClass.default.bFromCrossbow && !ShopUpdated&#41; &#123;
                    for&#40;i=0;i&lt;ArrayCount&#40;Shop.Ranged&#41; && Shop.Ranged&#91;i&#93;.Item != none; i++&#41; &#123;
                    if&#40;Shop.Ranged&#91;i&#93;.Item == AmmoClass&#41; ShopUpdated = true;
                    &#125;
                    if &#40;!ShopUpdated && i&lt;ArrayCount&#40;Shop.Ranged&#41;&#41; &#123;
                    Shop.Ranged&#91;i&#93;.Item = AmmoClass;
                    Shop.Ranged&#91;i&#93;.Cost = Cost;
                    Shop.Ranged&#91;i&#93;.Quantity = 1;
                    ShopUpdated = true;
                    &#125;
                    if &#40;i==ArrayCount&#40;Shop.Ranged&#41;&#41; &#123;
                    ShopUpdated = true;
                    OutOfRoomError = true;
                    &#125;
                    &#125;
                    &#125;
                    // No existing shop, so spawn one!
                    if&#40;!ShopUpdated && !OutOfRoomError&#41; &#123;
                    if&#40;AmmoClass.default.bFromBow&#41; &#123;
                    Shop = Spawn&#40;class'ThieveryShopThieves',,,location,ro tation&#41;;
                    &#125;
                    else &#123;
                    Shop = Spawn&#40;class'ThieveryShopGuards',,,,&#41;;
                    &#125;
                    for&#40;i=0;i&lt;ArrayCount&#40;Shop.Ranged&#41; && Shop.Ranged&#91;i&#93;.Item != none; i++&#41; &#123;
                    if&#40;Shop.Ranged&#91;i&#93;.Item == AmmoClass&#41; ShopUpdated = true;
                    &#125;
                    if &#40;!ShopUpdated && i&lt;ArrayCount&#40;Shop.Ranged&#41;&#41; &#123;
                    Shop.Ranged&#91;i&#93;.Item = AmmoClass;
                    Shop.Ranged&#91;i&#93;.Cost = Cost;
                    Shop.Ranged&#91;i&#93;.Quantity = 1;
                    ShopUpdated = true;
                    &#125;
                    if &#40;i==ArrayCount&#40;Shop.Ranged&#41;&#41; &#123;
                    ShopUpdated = true;
                    OutOfRoomError = true;
                    &#125;
                    &#125;
                    if&#40;OutOfRoomError&#41;&#123;&#125;
                    Super.BeginPlay&#40;&#41;;
                    &#125;[/code:1:400c134e4c]
                    Immortius' Forge

                    Comment


                    • #11
                      I dunno if spawning a shop is such a good idea, because there must be a shop there for people to buy stuff, and not being able to buy stuff is a rather uncommon problem AFAIK. So if you ever spawn a shop yourself, I dunno what would happen.
                      What I have used to make sure a shop is spawned is to start a 2 second timer in PostBeginPlay, and the timer function then runs thru the code.


                      Ah, here it is.


                      Hmm, I think my code could use a bit of tweaking...
                      ]V[]V[

                      Comment


                      • #12
                        Loadout WORM would do the job sooo much better

                        Comment


                        • #13
                          Yeah, too bad I can't find any links to D/L it from.
                          Or are you still working on it?

                          Besides, it's a matter of integration. You don't want a mutator that tells you it only works in conjunction with 10 others.
                          ]V[]V[

                          Comment


                          • #14
                            Well actually, most levels don't have a thievery shop. What happens is when a player goes to buy their equipment one is spawned if there isn't one already. In these cases my code spawns a shop first so that when a player goes to buy equipment they get the modified shop. If there is already a shop in the level, then the stuff is justed added to it.
                            Immortius' Forge

                            Comment


                            • #15
                              That's weird, my code has never failed me.
                              ]V[]V[

                              Comment

                              Working...
                              X