New Feature: Layered hierarchical tripwire networks (by Flugente)

- allows creating of complex tripwire networks, that behave differently depending on where they are activated. Different networks can overlap, allowing a wide range of trap network designs
- added network-specific view methods (ALT + Shift + C)
- added new dialogues when planting tripwire

New feature: remote defusing of mines (by Flugente)
- the new items Remote Defuse and Remote Combo allow to remotely defuse a bomb that has been planted. Simply select a frequency for defusing upon planting the mine. This frequency is of course treated differently than a detonation frequency.

New feature: directional frag explosions (by Flugente)
- the tag <Directional>1</Directional> in Items.xml allows an explosive to be directional. Frags caused by its explosion will fly in the direction determined by the merc planting them.
- the tags <ubHorizontalDegree> and <ubVerticalDegree> in Explosives.xml determine the arc in which the frags will fly.

New feature: makeshift mines (by Flugente)
- you can now create mines out of grenades: simply merge tripwire with them. You can then use them like regular mines. They can also be activated by your tripwire networks.
- With a simple item transformation in the UDB, you can transform a makeshift mine back to a grenade and a piece of tripwire.

Minor changes (by Flugente)
- metal detector now only works if used in hands
- wire cutters give a bonus if in hands while defusing tripwire or tripwire-activatable mines/bombs
- added new message boxes with 8 and 16 buttons
- increased the maximum number of bullets that can be on screen from 200 to 1000 (necessary for mass claymore explosions)
- the tags <Detonator> and <RemoteDetonator> are not used anymore, as those properties can be set via flags in <AttachmentClass>. For now, they still remain in the xmls though.

WARNING! This will break savegame compatibility!

More infos on those features:
1st post: http://www.ja-galaxy-forum.com/board/ubbthreads.php?ubb=showflat&Number=303556&#Post303556 






git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5217 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2012-04-20 10:40:16 +00:00
parent ee2196ebb4
commit 20d677c519
28 changed files with 1012 additions and 197 deletions
+8
View File
@@ -801,6 +801,14 @@ enum
NO_LOS_TO_TALK_TARGET,
ATTACHMENT_REMOVED,
VEHICLE_CAN_NOT_BE_ADDED,
// added by Flugente for defusing/setting up trap networks
CHOOSE_BOMB_OR_DEFUSE_FREQUENCY_STR,
CHOOSE_REMOTE_DEFUSE_FREQUENCY_STR,
CHOOSE_REMOTE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR,
CHOOSE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR,
CHOOSE_TRIPWIRE_NETWORK,
TEXT_NUM_TACTICAL_STR
};
+7
View File
@@ -259,6 +259,7 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at
strcmp(name, "AttachmentClass") == 0 ||
strcmp(name, "TripWireActivation") == 0 ||
strcmp(name, "TripWire") == 0 ||
strcmp(name, "Directional") == 0 ||
strcmp(name, "fFlags") == 0 ))
{
@@ -1295,6 +1296,11 @@ itemEndElementHandle(void *userData, const XML_Char *name)
pData->curElement = ELEMENT;
pData->curItem.tripwire = (BOOLEAN) atol(pData->szCharData);
}
else if(strcmp(name, "Directional") == 0)
{
pData->curElement = ELEMENT;
pData->curItem.directional = (BOOLEAN) atol(pData->szCharData);
}
pData->maxReadDepth--;
}
@@ -1904,6 +1910,7 @@ BOOLEAN WriteItemStats()
FilePrintf(hFile,"\t\t<TripwireActivation>%d</TripwireActivation>\r\n", Item[cnt].tripwireactivation );
FilePrintf(hFile,"\t\t<TripWire>%d</TripWire>\r\n", Item[cnt].tripwire );
FilePrintf(hFile,"\t\t<Directional>%d</Directional>\r\n", Item[cnt].directional );
FilePrintf(hFile,"\t</ITEM>\r\n");
}
+7
View File
@@ -2913,6 +2913,13 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"%s看不见%s。", // Cannot see person trying to talk to
L"附件被移除",
L"你已经有了两辆车,无法拥有更多的车辆。",
// added by Flugente for defusing/setting up trap networks // TODO.Translate
L"Choose detonation frequency (1 - 4) or defuse frequency (A - D):",
L"Set defusing frequency:",
L"Set detonation frequency (1 - 4) and defusing frequency (A - D):",
L"Set detonation time in turns (1 - 4) and defusing frequency (A - D):",
L"Select tripwire hierarchy (1 - 4) and network (A - D):",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+7
View File
@@ -2910,6 +2910,13 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"%s kan %s niet zien.", // Cannot see person trying to talk to
L"Attachment removed",
L"Kan niet een ander voertuig bereiken aangezien u reeds 2 hebt",
// added by Flugente for defusing/setting up trap networks // TODO.Translate
L"Choose detonation frequency (1 - 4) or defuse frequency (A - D):",
L"Set defusing frequency:",
L"Set detonation frequency (1 - 4) and defusing frequency (A - D):",
L"Set detonation time in turns (1 - 4) and defusing frequency (A - D):",
L"Select tripwire hierarchy (1 - 4) and network (A - D):",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+7
View File
@@ -2913,6 +2913,13 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"%s cannot see %s.", // Cannot see person trying to talk to
L"Attachment removed",
L"Can not gain another vehicle as you already have 2",
// added by Flugente for defusing/setting up trap networks
L"Choose detonation frequency (1 - 4) or defuse frequency (A - D):",
L"Set defusing frequency:",
L"Set detonation frequency (1 - 4) and defusing frequency (A - D):",
L"Set detonation time in turns (1 - 4) and defusing frequency (A - D):",
L"Select tripwire hierarchy (1 - 4) and network (A - D):",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+7
View File
@@ -2912,6 +2912,13 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"%s ne peut pas voir %s.", // Cannot see person trying to talk to
L"Accessoire retiré",
L"Ne peut pas gagner un autre véhicule car vous en avez déjà 2",
// added by Flugente for defusing/setting up trap networks // TODO.Translate
L"Choose detonation frequency (1 - 4) or defuse frequency (A - D):",
L"Set defusing frequency:",
L"Set detonation frequency (1 - 4) and defusing frequency (A - D):",
L"Set detonation time in turns (1 - 4) and defusing frequency (A - D):",
L"Select tripwire hierarchy (1 - 4) and network (A - D):",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+7
View File
@@ -2917,6 +2917,13 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"%s kann %s nicht sehen.", // Cannot see person trying to talk to
L"Anbringung entfernt",
L"Sie können kein weiteres Fahrzeug mehr verwenden, da Sie bereits 2 haben",
// added by Flugente for defusing/setting up trap networks // TODO.Translate
L"Choose detonation frequency (1 - 4) or defuse frequency (A - D):",
L"Set defusing frequency:",
L"Set detonation frequency (1 - 4) and defusing frequency (A - D):",
L"Set detonation time in turns (1 - 4) and defusing frequency (A - D):",
L"Select tripwire hierarchy (1 - 4) and network (A - D):",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+7 -1
View File
@@ -2897,7 +2897,6 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"Il veicolo può viaggiare solo tra i settori",
L"Non è in grado di fasciarsi da solo ora",
L"Sentiero bloccato per %s",
// L"I tuoi mercenari, che erano stati catturati dall'esercito di Deidranna, sono stati imprigionati qui!",
L"I mercenari catturati dall'esercito di Deidranna, sono stati imprigionati qui!",
L"Serratura manomessa",
L"Serratura distrutta",
@@ -2906,6 +2905,13 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"%s non riesce a vedere %s.", // Cannot see person trying to talk to
L"Attachment removed",
L"Non può guadagnare un altro veicolo poichè già avete 2",
// added by Flugente for defusing/setting up trap networks // TODO.Translate
L"Choose detonation frequency (1 - 4) or defuse frequency (A - D):",
L"Set defusing frequency:",
L"Set detonation frequency (1 - 4) and defusing frequency (A - D):",
L"Set detonation time in turns (1 - 4) and defusing frequency (A - D):",
L"Select tripwire hierarchy (1 - 4) and network (A - D):",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+7
View File
@@ -2920,6 +2920,13 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"%s nie widzi - %s.", // Cannot see person trying to talk to
L"Dodatek usunięty",
L"Nie możesz zdobyć kolejnego pojazdu, ponieważ posiadasz już 2",
// added by Flugente for defusing/setting up trap networks // TODO.Translate
L"Choose detonation frequency (1 - 4) or defuse frequency (A - D):",
L"Set defusing frequency:",
L"Set detonation frequency (1 - 4) and defusing frequency (A - D):",
L"Set detonation time in turns (1 - 4) and defusing frequency (A - D):",
L"Select tripwire hierarchy (1 - 4) and network (A - D):",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+7
View File
@@ -2913,6 +2913,13 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"%s не видит %s.", // Cannot see person trying to talk to
L"Навеска снята",
L"Вы не можете содержать еще одну машину, довольствуйтесь уже имеющимися двумя.",
// added by Flugente for defusing/setting up trap networks // TODO.Translate
L"Choose detonation frequency (1 - 4) or defuse frequency (A - D):",
L"Set defusing frequency:",
L"Set detonation frequency (1 - 4) and defusing frequency (A - D):",
L"Set detonation time in turns (1 - 4) and defusing frequency (A - D):",
L"Select tripwire hierarchy (1 - 4) and network (A - D):",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+7
View File
@@ -2914,6 +2914,13 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"%s cannot see %s.", // Cannot see person trying to talk to
L"Attachment removed",
L"Can not gain another vehicle as you already have 2",
// added by Flugente for defusing/setting up trap networks // TODO.Translate
L"Choose detonation frequency (1 - 4) or defuse frequency (A - D):",
L"Set defusing frequency:",
L"Set detonation frequency (1 - 4) and defusing frequency (A - D):",
L"Set detonation time in turns (1 - 4) and defusing frequency (A - D):",
L"Select tripwire hierarchy (1 - 4) and network (A - D):",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.