New marine profiles

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • L'architecte
    New Member
    • Jun 2007
    • 25

    New marine profiles

    Hi there

    am back to AS after a (very long) while well I had started a few projects in the past, frozen for ages^^
    I have worked alot on usript coding this year and as I still love ASw I think it could be a great idea to bring some new coding things (and maybe a map later...).

    I get a little bored to play ASw with humans againts aliens so I am currently working on a new marine profile : the auxiliary drone. I might start to work later on a new monster with a kind of psionic lightning power (like in HL) and the aiblity of summoning parasites (yummy)

    Well concerning the marine profile : in fact there are two new profiles, the drone itself which is an authentic robot, and a bionical enhanced dolphin (based on the Neofin model).
    Both are used for maintenance, earthworks, mining, mechanical assistance etc and can be only equiped with melee weapons (ie the chainsaw and a new melee weapon I had started to developp : the pneumatic drill).





    New features :
    • 1° bionical enhanced dolphin (aka Flipper)
      bWorker //disallow non melee weapon
      bDolphin // echolocalisation : works as the radar map but applied directly in the map for the dolphin only. That means you can spot any monster around you in your default view radius, even if moving in the dark. At level 5 xp, gains an autoaim ability (yes, for melee weapons)
      Btw melee weapons counts as extra items (with no ammo needed), also the dolphin may carry 2 sentrykit, 2 ammobags or whatever in two exemplary

    • 2° assist drone :
      bWorker
      bRobot // parasites never effect the robot, hostile environnement (no oxygen, toxic atmoshpere...) doesn't affect him
      No special ability for the moment, but I may not continue to work on that profile.
    Coding problems :
    • bRobot means immune to parasites and no need to use oxygen masks. this coding part is horrible to do.
    • bWorker : I dont know at the moment how to prevent players to choose non melee weapons but it doesnt look too hard
    • I tried to compile it in the default AOSoldierProfiles.u file, but even if the compilation (with WotGreal) works and says it is released without any errors, it is not released. Maybe the file is protected ? The best solution could be to add the new profile with a mutator loaded before the game, but I had lots of difficulties with it (i mean with the mutator system)
    Wanna have a look at the code ?

    SoldierProfileFlipper.uc
    Code:
    //-----------------------------------------------------------
    //
    //-----------------------------------------------------------
    #exec OBJ LOAD FILE=AoPrototype.u
    class SoldierProfileFlipper extends AoMarineProfile;
    defaultproperties
    {
    Rank="Worker cyborg"
    MarineName=none
    ShortName="Flipper"
    NickName="Flipper"
    FirstName=none
    Background(0)="A sort of dolphin mated to a hydraulic industrial style robotic arms and legs with jets and and air scoop like a harrier jump jet. Neo is geneticly enginnered to allow him to spend extended amounts of time outside water and he has a neural interface to allow him to control his robotic limbs directly."
    Background(1)="Flipper was an experimental subject for geneboosted life forms associated with bionical systems. These hybrid troops are employed as auxiliary workers and are specifically trained to assist soldiers in the battle. Due to their great armor supplied strenght, they are often equiped with pneumatic machines specifically employed for earthworks, mining and any heavy mechanical assistance a human engineer could'nt afford."
    Portrait=Texture'neofinTex.Portrait'
    BigPortrait=Texture'neofinTex.Portrait'
    Age=0.5
    HealthMax=150
    GroundSpeed=250.000000
    WeaponAccuracy=1
    // bTracker=True
    // bWorker=True // allow only robot tools as weapon (chainsaw, impact hammer)
    // bDolphin=True // Echolocalisation allowing a radarmap-like thing directly implemented in the map !
    MarineIndex=8
    ChatterSelection(0)=Sound'TauntPack.r_got_it'
    ChatterSelection(1)=Sound'TauntPack.r_affirmative'
    ChatterSelection(2)=Sound'TauntPack.r_roger'
    ChatterSelection(4)=Sound'TauntPack.r_I_come_in_peace'
    ChatterSelectionNum=4
    ChatterSelectionWounded(0)=Sound'TauntPack.r_im_hit'
    ChatterSelectionWoundedNum=1
    ChatterUse(0)=Sound'TauntPack.r_im_on_it'
    ChatterUse(1)=Sound'TauntPack.r_in_position'
    ChatterUseNum=2
    ChatterLead(0)=Sound'TauntPack.r_cover_me'
    ChatterLead(1)=Sound'TauntPack.r_i_need_backup'
    ChatterLeadNum=2
    ChatterHold(0)=Sound'TauntPack.r_holdthisposition'
    ChatterHold(0)=Sound'TauntPack.r_in_position'
    ChatterHoldNum=2
    ChatterCompliment(0)=Sound'TauntPack.R_nice'
    ChatterCompliment(1)=Sound'TauntPack.r_ownage'
    ChatterCompliment(2)=Sound'TauntPack.r_ohyeah'
    ChatterCompliment(3)=Sound'TauntPack.r_isthatyourbest'
    ChatterComplimentNum=3
    ChatterFF(0)=Sound'TauntPack.R_youshotmyass'
    ChatterFFNum=1
    ChatterMedic(0)=Sound'TauntPack.r_medic'
    ChatterMedicNum=1
    /*
    ChatterNeedAmmo(0)=Sound'TauntPack.r_i_need_backup'
    ChatterNeedAmmoNum=1
    */
    ChatterIncoming(0)=Sound'TauntPack.r_incoming'
    ChatterIncoming(1)=Sound'TauntPack.r_were_being_overrun'
    ChatterIncoming(2)=Sound'TauntPack.r_searchanddestroy'
    ChatterIncoming(3)=Sound'TauntPack.r_under_heavy_attack'
    ChatterIncomingNum=4
    ChatterIdle(0)=Sound'TauntPack.r_rerouting_critical_systems'
    ChatterIdle(1)=Sound'TauntPack.r_rogue_process_terminated'
    ChatterIdle(2)=Sound'TauntPack.r_area_secure'
    ChatterIdleNum=3
    /*
    ChatterReload(0)=Sound'TauntPack.Conrad.Conrad_rld_1'
    ChatterReload(1)=Sound'TauntPack.Conrad.Conrad_rld_2'
    ChatterReload(2)=Sound'TauntPack.Conrad.Conrad_rld_4'
    ChatterReloadNum=3
    ChatterNoAmmo(0)=Sound'TauntPack.Conrad.Conrad_nam_1'
    ChatterNoAmmo(1)=Sound'TauntPack.Conrad.Conrad_nam_2'
    ChatterNoAmmo(2)=Sound'TauntPack.Conrad.Conrad_nam_4'
    ChatterNoAmmoNum=3
    */
    DefaultPrimary="AoPrototype.AoAmmoBag" // ammo bag, sentry kit, medikit...
    DefaultSecondary="AoPrototype.AoSentryGunCase" // ammo bag, sentry kit, medikit...
    DefaultExtra="AoChainSaw.AoChainSaw" // marteau pneumatique ou tronçonneuse
    VoicePackString="AoSoldierProfiles.AoVoiceFlipper"
    // PawnClass=Class'AoPrototype.AoRobot'
    MarineMesh=SkeletalMesh'Bot.BotB'
    MarineBodyTexture=Texture'PlayerSkins.BotBBodyA'
    MarineHeadTexture=Texture'PlayerSkins.BotBBodyB'
    SpeechVolumeBoost=0.500000
    }
    BackGround(0) is the default model description made by its author (dont have the right inspiration for it now)

    AoVoiceFlipper.uc
    Code:
    //-----------------------------------------------------------
    //
    //-----------------------------------------------------------
    class AoVoiceFlipper extends AoDroneVoicePacks;
    defaultproperties
    {
         TauntSound(0)=Sound'TauntPack.r_area_secure'
         TauntSound(1)=Sound'TauntPack.r_incoming'
         TauntSound(2)=Sound'TauntPack.r_get_open'
         TauntSound(3)=Sound'TauntPack.r_holdthisposition'
         TauntSound(4)=Sound'TauntPack.r_witness_my_perfection'
         TauntSound(5)=Sound'TauntPack.r_in_position'
         TauntSound(6)=Sound'TauntPack.r_searchanddestroy'
         TauntSound(7)=Sound'TauntPack.r_ive_got_your_back'
         TauntSound(8)=Sound'TauntPack.r_rerouting_critical_systems'
         TauntSound(9)=Sound'TauntPack.r_rogue_process_terminated'
         TauntSound(10)=Sound'TauntPack.r_man_down'
         TauntSound(11)=Sound'TauntPack.r_am_on_it'
         TauntSound(12)=Sound'TauntPack.r_affirmative'
         TauntSound(13)=Sound'TauntPack.r_negative'
         TauntSound(14)=Sound'TauntPack.r_nice'
         TauntSound(15)=Sound'TauntPack.r_under_heavy_attack'
         TauntSound(16)=Sound'TauntPack.r_targeteliminated'
         TauntSound(17)=Sound'TauntPack.r_isthatyourbest'
         TauntSound(18)=Sound'TauntPack.r_talktothehand'
         TauntString(0)="Area secure"
         TauntString(1)="Incoming"
         TauntString(2)="Get open"
         TauntString(3)="Hold this position"
         TauntString(4)="Witness my perfection"
         TauntString(5)="In position"
         TauntString(6)="Search and destroy"
         TauntString(7)="I've got your back"
         TauntString(8)="Rerouting critical systems"
         TauntString(9)="Rogue process terminated"
         TauntString(10)="Man down !"
         TauntString(11)="I'm on it"
         TauntString(12)="Affirmative"
         TauntString(13)="Negative"
         TauntString(14)="Nice"
         TauntString(15)="Under heavy attack"
         TauntString(16)="Target eliminated"
         TauntString(17)="Is that your best ?"
         TauntString(18)="Talk to the hand"
         numTaunts=18
    }
    AoDroneVoicePacks
    Code:
    //-----------------------------------------------------------
    //
    //-----------------------------------------------------------
    class AoDroneVoicePacks extends RobotVoice;
    #exec OBJ LOAD FILE=TauntPack.uax
    defaultproperties
    {
         TauntSound(0)=None
         TauntSound(1)=None
         TauntSound(2)=None
         TauntSound(3)=None
         TauntSound(4)=None
         TauntSound(5)=None
         TauntSound(6)=None
         TauntSound(7)=None
         TauntSound(8)=None
         TauntSound(9)=None
         TauntSound(10)=None
         TauntSound(11)=None
         TauntSound(12)=None
         TauntSound(13)=None
         TauntSound(14)=None
         TauntSound(15)=None
         TauntSound(16)=None
         TauntSound(17)=None
         TauntSound(18)=None
         TauntSound(19)=None
         TauntSound(20)=None
         TauntSound(21)=None
         TauntSound(22)=None
         TauntSound(23)=None
         TauntSound(24)=None
         TauntSound(25)=None
         TauntSound(26)=None
         TauntSound(27)=None
         TauntSound(28)=None
         TauntSound(29)=None
         TauntSound(30)=None
         TauntSound(31)=None
         TauntString(0)=
         TauntString(1)=
         TauntString(2)=
         TauntString(3)=
         TauntString(4)=
         TauntString(5)=
         TauntString(6)=
         TauntString(7)=
         TauntString(8)=
         TauntString(9)=
         TauntString(10)=
         TauntString(11)=
         TauntString(12)=
         TauntString(13)=
         TauntString(14)=
         TauntString(15)=
         TauntString(16)=
         TauntString(17)=
         TauntString(18)=
         TauntString(19)=
         TauntString(20)=
         TauntString(21)=
         TauntString(22)=
         TauntString(23)=
         TauntString(24)=
         TauntString(25)=
         TauntString(26)=
         TauntString(27)=
         TauntString(28)=
         TauntString(29)=
         TauntString(30)=
         TauntString(31)=
         TauntAbbrev(24)=
    }
    This does the same thing as AoMArineVoicePacks but it extends RobotVoice and not MaleMercVoice (remember the dolphin is using a bionical microphone that sounds like a robot voice)

    Ok what do you think of all these ideas ?

    ps I need to translate french => english (my english isnt perfect is it)



    edit : compilation problums solved : i got 2 alienswarms.ini files with different editpackages cmd lines^^ see how stupid i can be...
    Last edited by L'architecte; 12 Jun 2008, 01:21 PM.
    More than ever hour after our work is never over.
  • Moses2k
    Member
    • Oct 2004
    • 5674

    #2
    Seen Johnny Mnemonic recently?

    Comment

    • L'architecte
      New Member
      • Jun 2007
      • 25

      #3
      Originally posted by Moses2k View Post
      Seen Johnny Mnemonic recently?
      nope, simply inspired by the model
      More than ever hour after our work is never over.

      Comment

      • L'architecte
        New Member
        • Jun 2007
        • 25

        #4
        ok for the moment marine profile is pretty hard to code, but I ve made it work as NPC.
        Here is a list of the new NPC I have coded (using AOScientist's code) :
        - Worker Drone
        - Worker Cyborg
        - Guerilleros (3 male models)
        - Guerilleros (3 female models)

        I'will add later a few more different ones, I need first to set up a new controller to give to the guerilleros that turn em agressive against both marines players and aliens.
        All the sources are compiled in a new file, so if anyone wants to use it for its map, you dont have to replace any default AS file (easy to use )

        What are the differences between the GM or GF ?
        1° not the same models
        2° Males move a bit slower than females but have a lil more HP
        3° Equipement may vary accoriding to models maybe, or it can be randomly given when spawned ?

        I got troubles :

        => with giving them a weapon (I dont even know if it is possible).

        => there is also a problem with the scientist code : I tell him to follow me, then while he's moving I say hold position, but he continues to move straight in the direction he was moving before. He only stops if he encounters any obstacle (geometry / pawns / whatever)


        Could you please tell me if it is possible to assign any equipement to NPC and how to do it please ?
        More than ever hour after our work is never over.

        Comment

        • Maniac
          Member
          • Aug 2006
          • 46

          #5
          Haha nice ^^
          Game over man... game over!

          Comment

          • Fuzzy Bunny
            Member
            • Sep 2004
            • 4006

            #6
            Originally posted by L'architecte View Post
            Could you please tell me if it is possible to assign any equipement to NPC and how to do it please ?
            Try looking at how it was done for Williams in Ao-Rescue and Ao-EFR2-Trench.
            Based on a true story.
            The prequel.

            Comment

            • L'architecte
              New Member
              • Jun 2007
              • 25

              #7
              Originally posted by Fuzzy Bunny View Post
              Try looking at how it was done for Williams in Ao-Rescue and Ao-EFR2-Trench.
              Well I already had a look at it, but I havnt found anything.
              I my case, I think I should add a function to my marines code that give em any actor to their inventory when they spawn.

              I noticed Lt Williams has no inventory, maybe he is linked to a (ao) scripted sequence that assumes this role ? not sure about this cause I really found nothing

              Concerning the new bots, I can create any kind of bots (it is really easy^^), they can be employed for a lot of differents scenarios. Just imagine the jungle themed campaign I started, where you should infiltrate a rebel base infested with both swarms and rebels
              Or AO-BugCity during a civil war, with human replacing aliens... could be funny, esp if they are equiped with rifles or pistols

              I still need to write the agressive controller making rebels... agressive, but dont expect too much from them^^


              edit : ah Ive just found an actor in EFR2-Trenchwar, the so called AoTelicEquipHelmets_WilliamsSupported. Well I notice its properties looks the same as the alienspawner (in editor). Anyway this actor isnt placed in AO-Rescue, but Williams still gets his weapon I dont understand how...
              Last edited by L'architecte; 15 Jun 2008, 01:43 PM.
              More than ever hour after our work is never over.

              Comment

              • reemulmyu
                Member
                • Jul 2004
                • 587

                #8
                ask the devs try dalai
                also known as mega ,On the internet, everyone can hear you scream - it's just that no-one cares.except moses{also been known to use rapidfire}was also here before fuzzy and moses

                Comment

                • x-newbie
                  Member
                  • Mar 2006
                  • 348

                  #9
                  I blame Donator for that.
                  Could it be relateted to EFR mutator?

                  Comment

                  • Fuzzy Bunny
                    Member
                    • Sep 2004
                    • 4006

                    #10
                    Kind of fumbling about in the dark, but this might help:
                    Code:
                    function BeginPlay()
                    {
                    	Super.BeginPlay();
                    
                    	// when summoned needs to be set up
                    	if ( AoGameInfo(Level.Game) != None )
                    	{
                    		AoGameInfo(Level.Game).SetupNPC(self);
                    		AoGameInfo(Level.Game).AddDefaultInventory(self);
                    	}
                    	// add weapon
                    	Primary=AoGiveWeapon("AoEFRCode.AoDSMG_Conelly");
                    	Secondary=AoGiveWeapon("AoEFRCode.AoDSMG_Conelly");
                        	GiveClips("AoEFRCode.AoDSMG_Conelly", 20);
                    	//GiveSecondaryAmmo("AoTelicBeta.AoDSMG",4);
                    
                    	// bring it up
                    	if ( Primary != None)
                    		SwitchToBestWeapon();
                    }
                    Part of Conelly's code that might be relevant; taken from the AoEFRCode.u file.

                    Code:
                    // class of the current weapon this pawn is using
                    var class<AoWeapon> MarineWeaponClass;
                    
                    // this marine's marineinfo object
                    var AoMarineInfo MarineInfo;
                    
                    // primary and secondary equipment slots
                    var Inventory Primary;
                    var Inventory Secondary;
                    var Inventory Extra;
                    
                    var Actor LastDroppedPickup;	// the last pickup we spawned when dropping an item
                    var int SelectedSlot;       //1=primary 2=secondary 3=extra
                    This is from the AoMarine class, and I think subclasses inherit everything from the original class.



                    My actual knowledge of uscript is a bit sketchy, so I don't really know if this helps or not
                    Based on a true story.
                    The prequel.

                    Comment

                    • lightfoot
                      Member
                      • Oct 2005
                      • 576

                      #11
                      I never had any problem with giving the marines equipment, right from the start.

                      I just had to include stuff into the inventory list, and set bNoDefaultInventory to false.

                      If I remember right.

                      Comment

                      • L'architecte
                        New Member
                        • Jun 2007
                        • 25

                        #12
                        Well I have modified the subclass of my pawns, they extend the xpawn class and no more the aomarinenpc class, it is really easier, especially with scritpted actions^^

                        the main probleme is that the AI marines cant attack agressive xpawns. There wont be any bot support ?

                        Thanks for those parts of code, they may help me
                        More than ever hour after our work is never over.

                        Comment

                        Working...
                        X