Show: Today's Messages :: Unanswered Messages :: Polls :: Message Navigator

1.13 Xml Editing

Fri, 09 September 2005 03:56

Post all your 1.13 mod xml usage and editing questions here, along with any instructions and hints for editing, or any neat things you've figured out how to do.

Once there are enough, we can create a nice FAQ document or something. :animread:

If you know of a good, free XML editor, you can post a link for that here too.



v1.13 XML Customization | 109 comments

1.13 Tilesets thread

Wed, 07 September 2005 13:00

Split from the main 1.13 thread. Post everything related to tilesets here. I'll start by recapping some of my own wise words Smile and a few links.


Oh and in case you are wondering why you can't get JA2 to accept tilesets with higher numbers, that's because the limit is hardcoded. To change, add elements to the enum in TileEngine\World Tileset Enums.h. It's best to check the UB code to see how it's done there, in case there are some non-obvious tricks involved.

You should also be aware that even if the tileset limit is increased, simply adding UB tilesets to JA2 won't work. That's because in JA2 the very first tileset acts as a default resource for all subsequent tilesets. IN UB tileset 50 is the default for all tilesets above 50. So, while tileset 50 will still work in JA2 (since it is completely filled), other UB tilsets will be broken.

Once the tileset limit is successfully increased, I can recompile UB tilesets to work in JA2. As for other modifications, I would advise to make them strictly backwards-compatible, at least as part of this project. That is, old maps should still work and, ideally, look the same even with changed tilesets. One way to accomplish such modifications is to add extra objects at the end of STIs that are not filled to capacity - there are a few such examples in my collection. Another way is to replace a duplicate subset in a tileset. However, this can in principle break some maps.
JA2TSE is a very useful tileset editor. (Khor, this may answer your question from another thread.)

A very functional JSD editor is being developed by a Russian programmer (interface is in English). This is a link to a beta version, which appears to work fine, except it does not yet support the type of JSDs that are used for wall decals and such.

v1.13 Modding, Customising, Editing | 39 comments

Fine-tuning stat progression in JA2

Mon, 29 August 2005 18:46

I had an idea to tweak stat progression a bit. The main idea here is that skills that affect the outcome of merc actions should be the same skills that are improved.

On the whole, I think the rate of stat progression is fine in the original. However, some stats, like wisdom or agility, hardly ever increase.

One thing to keep in mind is that physical stats (health, agi, dex, str, wis) increase at half the rate of skills (med, mech, expl, lead).

In the function StatChange that is called to update stats, the 3rd parameter (usNumChances) controls the quantity. A typical value is somewhere in the 5-25 range.

OK, so here are some suggestions:

  • More dex. and wis. for healing? I suspect that usNumChances here often truncates to zero, resulting in no award at all. Might even want to increase the rate for med. as well.

    HealCharacters Assignments.cpp(2385)
    StatChange(pDoctor, DEXTAMT,		(UINT16) (usUsedHealingPts / 100), FALSE);
    StatChange(pDoctor, WISDOMAMT,	(UINT16) (usUsedHealingPts / 100), FALSE);
    For the reference, usUsedHealingPts does not exceed med*(dex+wis)/2*(100+5*lev)/2400
  • No award for planting mines, you cheater! (Since it succedes 100% regardless of skill.)

    HandleSoldierDropBomb Handle Items.cpp(1379):
    // EXPLOSIVES GAIN (25):  Place a bomb, or buried and armed a mine
    // StatChange( pSoldier, EXPLODEAMT, 25, FALSE );
    NB: AFAIK, this does not affect cases where success is not guaranteed, such as when placing a bomb with a detonator.
  • Award a bit of wisdom for disarming mines and boobytraps? Not sure about this.

    BoobyTrapMessageBoxCallBack Handle Items.cpp(4410)
    BoobyTrapMessageBoxCallBack Handle Items.cpp(4463)
    BoobyTrapInMapScreenMessageBoxCallBack Handle Items.cpp(4510)
    BoobyTrapInMapScreenMessageBoxCallBack Handle Items.cpp(4556)
  • Wisdom for detecting mines (similar to detecting boobytraps):

    NearbyGroundSeemsWrong Handle Items.cpp(4702):
    StatChange( pSoldier, WISDOMAMT, (UINT16) (pObj->bTrap), FALSE );
  • Wisdom for making combos/special attachments (alongside with mech),

    AttachObject Items.cpp(3067):
    StatChange( pSoldier, WISDOMAMT, (INT8) ( 20 - AttachmentInfo[ bAttachInfoIndex ].bAttachmentSkillCheckMod )/5, FALSE );
    ...and for attaching detonators (alongside with expl).

    AttachObject Items.cpp(3158):
    StatChange( pSoldier, WISDOMAMT, 5, FALSE );
  • Wisdom for picking locks (it factors into the chance of success). More for electronic locks.

    AttemptToPickLock Keys.cpp(509)
    	StatChange( pSoldier, WISDOMAMT, ( UINT16 ) ( pLock->ubPickDifficulty / 10 ), FALSE );
    	StatChange( pSoldier, WISDOMAMT, ( UINT16 ) ( pLock->ubPickDifficulty / 15 ), FALSE );
  • Heh, I didn't know that you got expl. for blowing up enemies. Looks fine to me, just pointing this out.

    SoldierTakeDamage Soldier Control.cpp(6712)
  • Hand-to-hand attacks. Success of HtH attacks depends on the skills of the attacker and defender in the same way. The contribution of skills breaks down as follows (CalcChanceHTH in Tactical/Weapons.cpp):

    3*dex+agi+str+10*lev (knifing, punching)
    dex+agi+3*str+10*lev (stealing)

    First of all, should knifing be different from punching? Should parrying be different from attacking? How about this:

    3*dex+agi+str+10*lev (knifing attack)
    2*dex+3*agi+10*lev (knifing parry)
    2*dex+agi+2*str+10*lev (punching attack)
    2*dex+2*agi+str+10*lev (punching parry)

    Reason: Unarmed combat relies more on brute strength. Agility is more important for parrying because the attacker has the element of surprise.

    Awarded stats should reflect the breakdown of stats from above. For example, for a knife attack,

    UseBlade Weapons.cpp(1826)
    StatChange( pSoldier, DEXTAMT, usExpGain, ( UINT8 )( fGonnaHit ? FALSE : FROM_FAILURE ) );
    StatChange( pSoldier, AGILAMT, usExpGain/3, ( UINT8 )( fGonnaHit ? FALSE : FROM_FAILURE ) );
    StatChange( pSoldier, STRAMT, usExpGain/3, ( UINT8 )( fGonnaHit ? FALSE : FROM_FAILURE ) );
    Similarly, in other instances:

    UseBlade Weapons.cpp(1787)
    UseHandToHand Weapons.cpp(1933)
    UseHandToHand Weapons.cpp(1994)
    UseHandToHand Weapons.cpp(2032)
    UseHandToHand Weapons.cpp(2049)
    UseHandToHand Weapons.cpp(2058)
  • Throwing grenades. Let's make it more like knife throwing. This is getting really fancy Smile

    UseThrown Weapons.cpp(2138):
    // Snap: Find the number of real targets for grenade attack
    UINT16 usNumTargets = 0;
    if ( pTargetSoldier != NULL ) ++usNumTargets;
    	// search for an opponent near the target gridno
    	for ( bLoop = 0; bLoop < NUM_WORLD_DIRECTIONS; bLoop++ )
    		ubTargetID = WhoIsThere2( NewGridNo( pSoldier->sTargetGridNo, DirectionInc( bLoop ) ), pSoldier->bTargetLevel );
    		pTargetSoldier = NULL;
    		if ( ubTargetID != NOBODY )
    			pTargetSoldier = MercPtrs[ ubTargetID ];
    			if ( pTargetSoldier->bTeam != pSoldier->bTeam )
    			else ++usNumTargets; // Snap
    if ( pTargetSoldier )
    	// ok this is a real attack on someone, grant experience
    	// Snap: calculate experience points for strength: weight x distance
    	UINT16 usHandItem = pSoldier->inv[HANDPOS].usItem;
    	// calculate actual range (in world units)
    	INT32 iRange = GetRangeInCellCoordsFromGridNoDiff( pSoldier->sGridNo, sTargetGridNo );
    	// 10 points for a regular grenade thrown at 100 units (1 cell = 10 units)
    	UINT16 usExpGain = ( Item[usHandItem].ubWeight * iRange + 30) / 60;
    	StatChange( pSoldier, STRAMT, usExpGain, FALSE );
    	// Snap: calculate experience points for dexterity and marksmanship
    	usExpGain = 5     // For at least one target
    		+ 2*(usNumTargets-1);   // For every additional target
    	BOOLEAN fGonnaHit = uiDiceRoll < uiHitChance;
    	if ( fGonnaHit ) usExpGain *= 2;   // For actually hitting the target :)
    	usExpGain += (UINT16) (100 - uiHitChance) / 10; // Extra exp for a difficult target
    	StatChange( pSoldier, DEXTAMT, usExpGain / 2, ( fGonnaHit ? FALSE : FROM_FAILURE ) );
    	StatChange( pSoldier, MARKAMT, usExpGain / 2, ( fGonnaHit ? FALSE : FROM_FAILURE ) );
    Warning: this has not been tested!
  • When training skills (as opposed to physical stats) award some wisdom.

    TrainSoldierWithPts Assignments.cpp(4018)
    BOOLEAN fUseBrains = FALSE; // Snap
    // which stat to modify?
    switch( pSoldier -> bTrainStat )
    	case( STRENGTH ):
    		ubChangeStat = STRAMT;
    	case( DEXTERITY ):
    		ubChangeStat = DEXTAMT;
    	case( AGILITY ):
    		ubChangeStat = AGILAMT;
    	case( HEALTH ):
    		ubChangeStat = HEALTHAMT;
    	case( LEADERSHIP ):
    		ubChangeStat = LDRAMT;
    		fUseBrains = TRUE;
    	case( MARKSMANSHIP ):
    		ubChangeStat = MARKAMT;
    		fUseBrains = TRUE;
    	case( EXPLOSIVE_ASSIGN ):
    		ubChangeStat = EXPLODEAMT;
    		fUseBrains = TRUE;
    	case( MEDICAL ):
    		ubChangeStat = MEDICALAMT;
    		fUseBrains = TRUE;
    	case( MECHANICAL ):
    		ubChangeStat = MECHANAMT;
    		fUseBrains = TRUE;
    	// NOTE: Wisdom can't be trained!
    		// BETA message
    		#ifdef JA2BETAVERSION
          ScreenMsg( FONT_ORANGE, MSG_BETAVERSION, L"TrainSoldierWithPts: ERROR - Unknown bTrainStat %d", pSoldier -> bTrainStat);
    // give this merc a few chances to increase a stat (TRUE means it's training, reverse evolution doesn't apply)
    StatChange( pSoldier, ubChangeStat, sTrainPts, FROM_TRAINING );
    if (fUseBrains) StatChange( pSoldier, WISDOMAMT, sTrainPts/2, FROM_TRAINING ); // Snap
  • Reward teachers.

    HandleTrainingInSector Assignments.cpp(3526):
    // valid trainer is available, this gives the student a large training bonus!
    sTrainingPtsDueToInstructor = GetBonusTrainingPtsDueToInstructor( pTrainer, pStudent, pStudent -> bTrainStat, fAtGunRange, &usMaxPts );
    // Snap: Reward the trainer!
    StatChange( pTrainer, LDRAMT, sTrainingPtsDueToInstructor, FALSE );
    StatChange( pTrainer, WISDOMAMT, sTrainingPtsDueToInstructor, FALSE );
  • Award wisdom for training militia (alongside with leadership). This code is already present, but commented out for some reason. Can play with the rate here to get something reasonable - wisdom, of course, should not increase too fast.

    TrainTownInSector Assignments.cpp(4084):
    StatChange( pTrainer, WISDOMAMT, (UINT16) ( 1 + ( sTrainingPts / 400 ) ), FALSE );
  • Award health for exertion? Not sure about this.

    Edit: See a couple of posts below for more details.

    DeductPoints Points.cpp(513):
    // Adjust breath changes due to spending or regaining of energy
    sBPCost = AdjustBreathPts(pSoldier,sBPCost);
    // Snap: award some health for exertion
    // Do one StatChange roll per 100 breath points spent?
    // This might be expensive, because this function is called often!
    // NB: The scale of sBPCost is 100 per breath point
    if (PTR_OURTEAM && sBPCost > 0 && fProactive && PreRandom(10000) < sBPCost)
    	StatChange( pSoldier, HEALTHAMT, 1, FALSE );

JA2 Technical Department | 24 comments

How can I access IMP Merc .edt files?

Mon, 15 August 2005 05:07

I want to get my hands on the custom mercs .edt files, because I want to make my own voice for the IMP Merc. The mercs face number is 203, so I assume that the .edt file is called 203.edt, but where can I find it? (and the voice files, naturally)

I'm using Wildfire.

JA2 Technical Department | 2 comments

Best .STI Colour Palatte Conversion

Thu, 11 August 2005 07:12

I've been image modding for close to a year now and still only get results through exhausting trial and error.
I've read and tried numerous longwinded methods of converting colour palattes with only mariginal success.

What I'm asking here is for someone to briefly explain what the best method for converting .bmps (or other image types) to .stis so that you can see the exact colours while they're still loaded in you're imaging program. In other words removing the need to load the image into the game, start a game and test the image before you can see whether the colours look right.
Please, even include the optimum programs to use for Ja2 image modding as I'm not above buying $100 software to help me work on this game.

If you'd like you can add you're general tips for image modding but please answer the topic question first.

Thank you very much for you're contributions.

JA2 Technical Department | 11 comments

JA2CME1.02 error

Wed, 03 August 2005 21:25

I'm having a problem using the CME receiving the same german error message every time that it can't open the IMP.dat file, although I know this file exists and is openable in Notepad.

I have tried removing JA2, reinstalling Gold, patching to 1.12, adding on the IMP patch so I can use 90210. I then ran JA2, created a merc, quit that game and started a new one recreating the merc with 90210.

I then quit out totally, copied JA2CME.exe and Presets.ini into my C:\Jagged Alliance 2 Gold folder, when I run the file though it gives me default info and when I click save I just get the same error. I have also tried copying JA2CME and the presets files into my data directory with no success.

I read somewhere on here to click on a button to point it to the IMP.dat file, but this button doesn't exist.

I have tried to locate a copy of JA2CME 1.03 but seem unable to do so.

If anyone can help it would be greatly appreciated.

JA2 Technical Department | 4 comments

Basement maps don't appear

Wed, 27 July 2005 06:29

Okay, I got newfound motivation to mod UB again and I'm planning a large mod with lotsa NPCs and RPCs, maps and as much quests as possible.

Basically, I can do a lot of things; but what I can't do is basement map transportation OR basement maps. I mean, I create a basement map, but how do I get there? I go to the surface map where I want to get there from, set the coordinations of the basement map, the gridno and all. And the basement map's name is G7_b1, but it doesn't appear. When I try to go there a 'can't lod map' error appears and I have to exit the game. And in the beginning as you start the game, it should list all the custom maps and allow them or not. G7_B1 doesn't even appear there.

So... what is wrong?

JA2 Technical Department | 2 comments

"1.13" Mod - Main Thread

Sat, 23 July 2005 02:47

I started with the C++ CVS code that DeFrog so wisely ported over to C++.NET. I've located and fixed the following bugs in that code so far:

1) The Autofire/Burst bug, where you couldn't do burst fire unless the weapon also had autofire.

2) The canteen/camouflage bug, where you couldn't apply items to the merc's body.

3) The 0 AP grenade bug, where throwing grenades didn't cost any APs.

4) The 0 Min. AP cost for AI throwing grenades bug that resulted in a CTD.

5) Stuff falling through roofs (but not people)

Oh, and I also made the extended ear show the enemy location in all modes, not just Platinum.

Finally, I made the autofire shots slow down a bit too.

Using this code means that there is an external Weapons.dat (now weapons.xml) file for people to tweak the guns/weapons, and also that guns will be able switch to Auto fire mode by clicking the burst button again (right click in auto-fire mode to increase shots fired). There were some other fixes as well, but they've been documented elsewhere.

Then I went ahead and added the following features:

1) Weapons from Unfinished Business added

I added the following weapons (in addition to the regular JA2 guns):

- Barrett .50 Cal Sniper Rifle
- H&K PSG1 Sniper Rifle
- VAL Silent Sniper Rifle
- Calico M950 pistol
- Calico M960A SMG
- Calico M900 Rifle
- Enfield L85A1 LMG
- TAR 21 LMG
- Micro Uzi

And the following Ammo:

- 9mm Heavy
- .50 Cal
- 9mm Large (50)
- 9mm Large AP (50)
- 9mm Large HP (50)

Yes, I got the sucker to accept more than two ammo types per weapon Smile No, I didn't re-order everything in the item lists to do it. No, it doesn't screw up any ammo placed on the maps.

All stats are the same as in UB, except for the Calico M950, to which I added burst-fire. (A pistol that big, with a 50-round magazine without burst fire just seemed a waste to me)

2) IMPs: Multiple IMPs & 90210 code re-enabled. UB Style IMP generation screens (Kaiden).

(IMP items configurable in xml; includes options for random items and items for any stat/specialty)

3) Externalized the following data in xml files:

- Weapons
- Items
- Explosives
- Armours
- Sounds
- Merges
- Magazines
- Launchables
- Ammo Strings / Calibers
- Compatible Face Items
- Enemy Gun Choices
- Attachments
- Attachment Combo Merges
- Attachment Info
- Incompatible Attachments
- Shopkeeper Inventories
- Enemy Item Choices
- IMP Item Choices

4) Added a whack of new attributes and possible bonuses to items, including:

- thermal optics
- tunnel vision
- weapon stat bonuses
- vision and hearing range bonuses
- Default attachments - created and added when item is created
- Launchables that decrease in status, instead of being removed, when a launcher's mag size > 1
- Burst & spread fire for grenade launchers
- plus many more

5) 5000 item slots!

6) Bobby Ray's sells more stuff, both quantity and variety

He's an internet shop, so he should have good variety and better inventory. BR's now sells ALL the weapons and ammo in the game, along with detonators, TNT, etc. I also bumped grenades & explosives back a bit so you'll see them earlier.

(Configurable in Items.xml)

7) New option at start: Bobby Ray Selection

The following options are available:

Normal - as original with changes from #6
Great - 2x as much inventory as normal and sells gear a bit earlier. If you look in the used section, you might find some slightly better stuff there, if you're up to fixing it.
Excellent - Great, plus has 4x as much inventory as normal and sells gear a lot earlier
Awesome - Great, plus has 10x as much inventory as normal and sells all gear from the beginning

I scrapped the platinum mode and moved the Realistic/Sci-Fi choice down to the Iron Man / Regular Saves part of the screen. Iron Man is no longer available. If you really want Iron Man mode, just don't save Razz

Cool New option at start: Enemy equipment drops - Normal and Everything

Obviously, if you select everything, enemies will always drop their weapons and ammo, along with some other gear.

This replaces the tons of guns option, which is now on by default.

9) Enemies can and will use new weapons

So don't be surprised if you get hit by a .50 Cal in the chest. :whoknows: but I didn't really try _that_ hard), so just speak friendly to the Madame and she'll let you in, and you can get the winking smiley (and sound fx) as per pre-gold versions.

11) Bobby Ray and Tony both sell new weapons and ammo


12) Zero stats are trainable

13) All stats are trainable up to 100

14) More stats increase for performing activities

See Snap's thread for details:;f=5;t=000966

15) No loyalty penalty for inactivity

16) Minor profile tweaks:

- Len can be trained
- Shadow has a silencer (Hah! Now it doesn't work on the HK53, should I keep it there anyway or switch his gun?)
- Igor has Night Ops
- Other minor trait changes (added secondary traits to those with just one)

17) Prof1.dat - Prof4.dat

Extra prof.dat files for Easy(1) through Insane(4) difficulty. (currently all the same)

18) New difficulty level: INSANE

More enemies, more frequent and aggressive attacks on towns, more elites, higher level enemies, more frequent bursts from enemies, less starting cash

- Insane has 50% more elites than expert
- Expert has 25% more elites than normal, and 20% larger garrisons, with not just yellow shirts

I was nice and kept the elites out of Omerta Wink

19) AI changes:

The biggest difference between this mod and regular JA2 is probably the AI:

- Enemies can now snipe you if they have a sniper scope, even if you're out of visual range, but still visible to another enemy (spotter)
- Enemies can now climb on roofs. Sometimes they will stay up there and snipe you.
- Enemies will now flank your position
- Enemies no longer get up and charge straight at you after dropping prone
- Enemies take cover more often
- Enemes can use suppression fire to try send you to the ground and make you lose APs (but not out of visual range)
- AI tweaks to reduce the number of enemies on the roofs, and make snipers only shoot when they might actually hit you
- Enemies should be less likely to come looking for you than in previous versions. This should reduce the huge, immediate carnage upon entering a sector, and provide more smaller battles instead.
- Enemies can use the new GL bursts

20) New Weapons:

I did away with the weapon limit of 69, and added the following:

- MP-5A2
- MP-5SD3
- MP-5N
- UMP-45
- Five seveN pistol
- P7M8 pistol
- G36K
- G36C
- G36E
- MSG-90A1
- Bennelli M4 Super 90 shotgun
- AK-103
- RPG-7
- Commando Mortar (in addition to regular one)
- OICW, with integrated grenade launcher and 6-shot 20mm HE mags (GL supports 2-shot bursts)
- Milkor MGL Mk.1 40mm grenade launcher (with 3-shot bursts possible)

21) Weapon changes:

- Added autofire to rifles, SMGs and LMGs (including UB weapons)
- G11 and SKS can attach Talon
- Minimi holds 200 rounds
- HK21 holds 100 rounds
- RPK holds 75 rounds
- C-7 has 3 round burst instead of 5
- Colt Commando renamed to M4A1
- L85A1 renamed to L85A2
- Pistols should all cost about 1 AP less to shoot
- MP53 renamed to HK 53, since it uses 5.56mm ammo, it also uses slightly less APs
- Sniper rifle damage upped by 10 pts each

22) New Ammo:

- 200 rd 5.56mm belt for minimi
- 100 rd 7.62mm belt for hk21
- 75 rd 5.45mm drum for RPK
- 20 rd 5.7mm mags for Five seveN (I need to clean these images up at some point)
- RPG ammo, including HE, AP and Fragmentation
- 100 rd Beta C-Mags (9mm and 5.56mm)
- 40 rd 4.6mm mag for MP-7
- mustard gas mortar shell
- 6 rd 20mm HE clip for OICW
- 6 rd cylinders (frag, smoke, stun) for MGL Mk.1

23) New Attachments

- Flash suppressor
- Reflex scope
- Reflex sight
- C-Mag adapters (9mm and 5.56mm)

24) Fallback animation added. Now enemies can fall backwards when they die.

25) Other item related changes:

- Platinum Watch + Copper Wire = Detonator - like in UB (configurable)
- Canteens can be merged (configurable)
- Silencers and flash suppressors hide muzzle flashes (configurable)
- Solid slugs in shotguns add 6.5 tiles to gun range (bumps 'em up to 20 tiles, same as SMGs) (configurable)
- Duckbill adds 4 tiles to buckshot range (configurable)
- Enemies always use sniper scopes with sniper rifles
- Mercs can wear gas masks and goggles at the same time (configurable)
- Possibility of up to 2 attachments on an enemy weapon

26) Multiple Interrupts! So now if you pass on your first chance, you can have another.

27) Interface Changes:

- Control + LMB on map inventory screen to permanently delete items w/out confirming
- Alternate + LMB on map inventory screen to sell items to the locals for 25% of their value (w/out confirming)
- UB style reveal all enemy gear when sector cleared (Kaiden)

28) Audible warnings using a previously unused merc quote when enemy tanks or rocket launchers are present

Changes in the latest, 9.23.05, release:
(From Kaiden's message on p.13)


Mugsy -
1. Shirt/pant colors now based on IMP Portrait so they don't all look alike!

2. Fixed a bug that could result in Imp not getting some gear that was setup in ImpItemChoices.XML.

Snap -
1. Max Tilesets NOW 255, no code changes required for adding new tilesets

2. Breath bug has been fixed!

Kaiden -
1. When throwing Knives, you will now stop if you see a new enemy.

2. Several LOS fixes causing a CTD game have been fixed.

3. It is now possible to drop leadership to Zero. Restriction was never neccessary and it seems to have always been this way.

4. Autofire now has same penalty as burst after the first bullet (let me know how it turns out, May be more or less than what is needed).

5. I didn't know that you only receive 15 points when you drop a skill from 35 to Zero, I didn't change it, but I put in a Constant instead of having the value hardcoded, this way it can be externalized.

Kaiden has also added an Ini file full of externalized settings and options. Check out his sample on p.14 of this thread Smile

In the next version:

- GL Burst cursor type toggle option
- UB Mercs added to MERC (Tex, Gaston, Stogie, Biggins)

To be added at a later date:

- externalization of explosion types, ammo types
- Get the enemies to actually use attached GLs properly
- 7.62x54r ammo
- low- to mid-power rifles
- more attachments
- EOD armour
- sniper enhancement of some sort
- better inventory management
- vehicle inventories
- ambient sound effects
- editor exe (if possible)
- higher resolutions
- new animations

Download the latest version (09.23.05) here:

ETA of next release: very soon

Major thanks to Kaiden for helping out with coding and taking over the source for me while my time is limited.

A big thanks to Khor, Police, Blavor, Lochmacher, Scorpion, darkThor, flybyu, Snap, ratbag, Omega, wil473, gpmg, DurtyDan, grindedstone, John Wright and everyone else for helping me test this mod, and providing me with images, stats, debugging help, code snippets & ideas. This is truly a great community effort. :cheers:

(some images borrowed from Shady Job, UC and NightOps)

- Madd Mugsy

v1.13 General Development Talk | 750 comments

visible helmets and armors on mercs sprites

Fri, 15 July 2005 23:46


I just joined the forum yesterday. And to be honest I'm a rookie player who never play the first JA. I only finished JA2, JA2 UB, and now trying to download the UC mod.

I want to ask whether is possible to make JA's merc sprites more appealing with some features like showing the helmet or armor in the sprite just like in Fallout for example.

I'm a digital artist my self and I also have drawn my own "mugen" 2D fighting game charater sprites several months ago, so if this game is using pixelart for the character sprites, then maybe I can help with drawing the helmet or armor for the character sprites in their various poses (which are not as many as fighting game charater poses I presume), and if they are using indexed color, then all other color combination are only palette changes.

is it possible to create that kind of modification?!?

JA2 Technical Department | 10 comments

Sounds in ja2

Fri, 15 July 2005 10:37

i`ve always wondered about certain sounds in ja2. Many sounds that you can find in sounds.slf are never heard in the game (and it`s not that i played not often enough)
so does anybody know what triggers certain ambient sounds like the night owl or crickets (are they heard ingame? i never seem to hear them)

with "cowmoo" and "birds picking flesh" 1-3 it works so why don`t these other sounds work?

second part: sounds and triggers. does anybody know, which sounds will be triggered by

-klaxon Mine
-Kingpin alert
-local/ global alert
-klaxon sound
-museum alert

these triggers?

and does anybody know, whether some animations in maps have their own sound? Like the rotating radar/ satellite kinds of things

any input is appreciated


JA2 Technical Department | 2 comments

Pages (746): [ «    731  732  733  734  735  736  737  738  739  740  741  742  743  744  745  746    »]
Current Time: Tue Feb 27 02:10:12 GMT+2 2024

Total time taken to generate the page: 0.97233 seconds