Announcement

Collapse
No announcement yet.

Infection Mutator

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

    Infection Mutator

    Hello,
    I wanna release my first mutator here.
    In general it's quite similar to Epic's "Vampire" mutator, BUT it's pretty expanded.
    This gives sth. special to the UT04 gameplay, you have to fight to gain health/shield instead of escaping and hiding to search health/shield.

    What does it do:
    Damaging opponents will heal your health-points by a special amount, the more health you have the fewer health you will gain by damaging opponents. However, you will loose health/shield-points, depending on how many players are playing (spectators are not considered), every 3 second. The amount of damage-points you will suffer also grows every 3 second if you don't damage other players. Anyway this effect is deactivated after spawning and gets activated the first time you hurt an opponent.

    It's fully online/offline compatible and bots also do it well!!
    So, check it out and have fun!!

    Download-mirror:
    Solid-Files (v.1.1b) [outdated!]
    Go here for the final version 1.2

    Future plans:
    - work on the balancings
    - adjust it for gametypes, like AS/ONS, with bigger maps
    - implemening good ideas of yours

    Credits:
    This is all done by myself, but with much help of the "unrealed.de-community", especially Wormbo and Crusha K. Rool.

    #2
    It works perfectly, exactly as you described.
    Along with discouraging players from camping, I guess the timed health decrease would be useful in recycling stuck bots instead of waiting for them to "have an aneurysm".

    You're looking for ideas. Okay, here's one:

    modify your NetDamage() code so that it recognizes headshot damagetype(s)

    __A HEADSHOT SHOULD BE A KILL, PERIOD__

    Code:
    function int NetDamage(int OriginalDamage...) {
    local string killemdead;
    killemdead = string(DamageType.name);
    
    if (
    instigatedBy != None  && injured != None
    &&
    (   killemdead~= "HeadShot"
    ||killemdead== "DamTypeSniperHeadShot"
    || killemdead== "DamTypeClassicHeadshot"
    || killemdead== "DamTypeHeadShot"
    || killemdead== "Decapitated"
    || killemdead== "Headshot"
    || killemdead== "DamTypeIGMercuryAirHeadHit"
    || killemdead== "DamTypeIGMercuryAirPunchThroughHead"
    || killemdead== "DamTypeIGMercuryHeadHit"
    || killemdead== "DamTypeIGMercuryPunchThroughHead"
    || killemdead== "DamTypeMercuryAirHeadHit"
    || killemdead== "DamTypeMercuryAirPunchThroughHead"
    || killemdead== "DamTypeMercuryHeadHit"
    || killemdead== "DamTypeMercuryPunchThroughHead"
    || killemdead== "DamTypeWFMercuryAirHeadHit"
    || killemdead== "DamTypeWFMercuryAirPunchThroughHead"
    || killemdead== "DamTypeWFMercuryHeadHit"
    || killemdead== "DamTypeWFMercuryPunchThroughHead"
    || killemdead== "DamSwishaDeemerHeadShot"
    || killemdead== "DamTypeCBHeadshot"
    || killemdead== "DamTypeCFXHeadShot"
    || killemdead== "DamTypeClassicHeadshot"
    || killemdead== "DamTypeCUTSRHeadShot"
    || killemdead== "DamTypeDigital_Demonz_RifleHeadshot"
    || killemdead== "DamTypeEliteMachineHeadshot"
    || killemdead== "DamTypeHeadShot"
    || killemdead== "DamTypeHeliosHeadShot"
    || killemdead== "DamTypeM40rHeadshot"
    || killemdead== "DamTypePGMHeadshot"
    || killemdead== "DamTypeProSniperHeadshot"
    || killemdead== "DamTypeRipjackRazorHeadshot"
    || killemdead== "DamTypeRobarHeadshot"
    || killemdead== "DamTypeShotgunHeadshot"
    || killemdead== "DamTypeSniperHeadShot"
    || killemdead== "DamTypeSniperHeadShotEX"
    || killemdead== "DamTypeSPECIALheadshot"
    || killemdead== "DamTypeSR25Headshot"
    || killemdead== "DamTypeSteorraHeadShot"
    || killemdead== "DamTypeTDHeadShot"
    || killemdead== "DamTypeThermoBeamHeadShot"
    || killemdead== "DamTypeDiabolicDecap"
    || killemdead== "DamTypeTUCHeadShot"
    || killemdead== "DamTypexClassicHeadshot"
    || killemdead== "DDandOMAHeadShotvA"
    || killemdead== "GODDamnSniperHeadShot"
    || killemdead== "DamTypeSZOsniperHeadshot"
    || killemdead== "DamTypeODCSniperHeadshot"
    || killemdead== "ClanHeadShotvA"
    || killemdead== "DamSA2K4HeadShot"
    || killemdead== "DamType_Headshot"
    || killemdead== "DesintegratorDamTypeHeadShot"
    || killemdead== "M3HeadShotvA"
    || killemdead== "MassDriverHeadShotDamType"
    || killemdead== "SZO_DamTypeHeadshot"
    || killemdead== "DamTypeBerettaHS"
    || killemdead== "DamTypePythonHS"
    || killemdead== "DamTypeRailgunHS"
    || killemdead== "DamTypereaperHS"
    || killemdead== "DDandOMAHeadvA"
    || killemdead== "M3HeadvA"
    )
    &&
    killemdead!= "DamTypeHoverBikeHeadshot"
    &&
    instigatedBy != injured
    ) {
    __A HEADSHOT SHOULD BE A KILL, PERIOD__
    }
    } // end

    Big list, but it's STILL incomplete. I hope anyone reading this will post to add any known "headshot damagetype" reported by other custom weapons. "SuperWeaponsX" and "ArmyWeapons" ("ArmyWeapons2004" ) are already on my todo list for additional weps packages to examine.


    Native UT2004 headshot damtypes:
    DamTypeClassicHeadshot
    DamTypeSniperHeadShot

    BallisticWeapons mut (incl v2, v2.1, BP1-4):
    DT_RSDarkStabHead
    DT_RSNovaStabHead
    DTA73SkrithHead
    DTA73StabHead
    DTA909Head
    DTAM67PistolHead
    DTD49RevolverHead
    DTE23PlasmaHead
    DTEKS43KatanaHead
    DTFifty9BladeHead
    DTFifty9SMGHead
    DTGRS9LaserHead
    DTGRS9PistolHead
    DTleMatrevolverHead
    DTleMatShotgunHead
    DTM290ShotgunHead
    DTM353MGHead
    DTM50AssaultHead
    DTM75RailgunHead
    DTM763HitHead
    DTM763ShotgunHead
    DTM806PistolHead
    DTM925MGHEad
    DTMarlinRifleHead
    DTMRS138ShotgunHead
    DTMRT6ShotgunHead
    DTR78RifleHead
    DTR9RifleHead
    DTRS8PistolHead
    DTSRS900RifleHead
    DTVPRLaserHead
    DTX3KnifeHead
    DTX3KnifeThrownHead
    DTXK2SMGHead
    DTXMV850MGHead
    DTXRS10SMGHead

    YARM
    DamTypeTDHeadShot
    DamTypeSR25Headshot
    DamTypeRobarHeadshot
    DamTypePGMHeadshot
    DamTypeM40rHeadshot

    Unreal4Ever
    DamTypeRailgunHS
    DamTypereaperHS
    DamTypeReaperHS
    DamTypeBerettaHS
    DamTypePythonHS
    DamTypeCBHeadshot

    ArkonWeapons
    DamTypeThermoBeamHeadShot
    DesintegratorDamTypeHeadShot
    MassDriverHeadShotDamType

    TAM / Freon
    DamType_Headshot

    ChaosUT
    DamTypeCUTSRHeadShot

    WildfireRockets
    DamTypeIGMercuryAirHeadHit
    DamTypeIGMercuryAirPunchThroughHead
    DamTypeIGMercuryHeadHit
    DamTypeIGMercuryPunchThroughHead
    DamTypeMercuryAirHeadHit
    DamTypeMercuryAirPunchThroughHead
    DamTypeMercuryHeadHit
    DamTypeMercuryPunchThroughHead
    DamTypeWFMercuryAirHeadHit
    DamTypeWFMercuryAirPunchThroughHead
    DamTypeWFMercuryHeadHit
    DamTypeWFMercuryPunchThroughHead

    Excessive
    DamTypeSniperHeadShotEX

    WoE
    DamTypeCFXHeadShot
    DamTypeHeliosHeadShot
    DamTypeSteorraHeadShot

    Misc (ClanSniperRifle variants)
    ClanHeadShotvA
    DamSA2K4HeadShot
    DamSwishaDeemerHeadShot
    DamTypeDiabolicDecap
    DamTypeDigital_Demonz_RifleHeadshot
    DamTypeEliteMachineHeadshot
    DamTypeHeadShot
    SZO_DamTypeHeadshot
    DamTypeODCSniperHeadshot
    DamTypeProSniperHeadshot
    DamTypeRipjackRazorHeadshot
    DamTypeShotgunHeadshot
    DamTypeSPECIALheadshot
    DamTypeSZOsniperHeadshot
    DamTypeTUCHeadShot
    DamTypexClassicHeadshot
    DDandOMAHeadShotvA
    DDandOMAHeadvA
    GODDamnSniperHeadShot
    M3HeadShotvA
    M3HeadvA

    Comment


      #3
      another idea:
      Because of the trapped bots issue (lost, no enemies in sight, stuck in stakout or camp), I think the mutator ought to exempt bots from the "score-=1" penalty.

      Comment


        #4
        It would be probably A LOT easier to just search for the occurrence of the word "head" in the String: http://udn.epicgames.com/Two/Strings...ipt.html#InStr

        Comment


          #5
          Easier, but unreliable. For example, consider the classnames used for the Unreal4Ever weapons ("...HS..." vs "...head..."). I wouldn't dare to set "HS" as a matching pattern because it would invite false positives.

          The conditional strives to both be all inclusive and not be unnecessarily slow (it matches against the the native damagetypes first).

          Comment


            #6
            Well, you if you really want to cover the Unreal4Ever as well, you can still add them behind the InStr-check (though I wouldn't bother about these.. there is a point where you should stop trying to force everything into compatibility).

            I think the "head" is still faster in most cases than checking individual names.

            Comment


              #7
              Originally posted by melissa_jo View Post
              It works perfectly, exactly as you described.
              Along with discouraging players from camping, I guess the timed health decrease would be useful in recycling stuck bots instead of waiting for them to "have an aneurysm".
              [...]
              That's perfectly what this mutator aims for, I haven't considered the bot issue but you're right.

              Originally posted by melissa_jo View Post
              __A HEADSHOT SHOULD BE A KILL, PERIOD__
              Actually I don't want to make that deep changes, beacuse I want to keep some of the standard UT04 feeling. But headshots normally do more damage, so you also gain more health.

              I updated the mutator and removed some little issues:
              - damaging teamplayers won't start the damage-per-time effect any more
              - already picked up weapons cannot be picked up any more
              - you are not given health/shield when you damage/kill an opponent when you have already died before

              I will upload it soon, maybe tomorrow.

              Comment


                #8
                Final Version 1.2

                The Mutator eventually reached the final stadium.
                Check the "Full Releases" forum for more information.

                Comment

                Working...
                X