New Feature: static fortifications can now be built by mercs (by Flugente)

- if the terrain allows it, an empty sandbag (item 1540) can be filled to a full sandbag (item 1541). You need to have a shovel (item 1015) in your second hand. You will notice the new hammer cursor
- by using a full sandbag, you can build a sandbag barrier
- by using a concertina stack, you can build a concertina wire barrier
- this only works if the current map has sandbags/concertina wire in its tileset
- with a shovel in your hand, you can remove a sandbag barrier
- changed the size of shovel so it can actually be put in inventories. It was also necessary to remove its ability to be used as a melee weapon.
- for further info, see this thread: http://www.bears-pit.com/board/ubbthreads.php/topics/305822.html#Post305822


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5340 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2012-06-11 08:32:07 +00:00
parent 56df9f8f69
commit 80509d2b61
25 changed files with 654 additions and 4 deletions
+25
View File
@@ -118,6 +118,10 @@ CursorFileData CursorFileDatabase[] =
{ "CURSORS\\cur_swit.sti" , FALSE, 0, 0, 0, NULL },
{ "CURSORS\\bullseye.sti" , FALSE, 0, 0, 0, NULL },
{ "CURSORS\\deadleap.sti" , FALSE, 0, 0, 0, NULL },
{ "CURSORS\\hammer.sti" , FALSE, 0, ANIMATED_CURSOR, 3, NULL }, // Flugente: fortification stuff
{ "CURSORS\\hammer_r.sti" , FALSE, 0, ANIMATED_CURSOR, 3, NULL },
{ "CURSORS\\can_01.sti" , FALSE, 0, 0, 0, NULL },
{ "CURSORS\\can_02.sti" , FALSE, 0, 0, 0, NULL },
{ "CURSORS\\cur_tagr_ncth.sti" , FALSE, 0, ANIMATED_CURSOR, 7, NULL },
@@ -1178,6 +1182,27 @@ CursorData CursorDatabase[] =
0, 0, 0, 0, 0,
2, CENTER_CURSOR, CENTER_CURSOR , 0, 0 , 0, 0 },
/*{ C_TRINGS, 6, 0, HIDE_SUBCURSOR, HIDE_SUBCURSOR,
C_FORTIFICATION , 0, 0, CENTER_SUBCURSOR, CENTER_SUBCURSOR,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
2, CENTER_CURSOR, CENTER_CURSOR, 0, 0 , 0, 0 },*/
{ C_TRINGS, 6, 0, HIDE_SUBCURSOR, HIDE_SUBCURSOR,
C_FORTIFICATION , 0, 0, CENTER_SUBCURSOR, CENTER_SUBCURSOR,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
2, CENTER_CURSOR, CENTER_CURSOR, 0, 0 , 0, 0 },
{ C_TRINGS, 6, 0, HIDE_SUBCURSOR, HIDE_SUBCURSOR,
C_FORTIFICATION_RED , 0, 0, CENTER_SUBCURSOR, CENTER_SUBCURSOR,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
2, CENTER_CURSOR, CENTER_CURSOR, 0, 0 , 0, 0 },
{ C_TRINGS, 6, 0, HIDE_SUBCURSOR, HIDE_SUBCURSOR,
C_FUEL , 0, 0, CENTER_SUBCURSOR, CENTER_SUBCURSOR,
0, 0, 0, 0, 0,
+6
View File
@@ -152,6 +152,10 @@ typedef enum
CURSOR_STRATEGIC_BULLSEYE,
CURSOR_JUMP_OVER,
CURSOR_FORTIFICATION,
CURSOR_FORTIFICATION_RED,
CURSOR_FUEL,
CURSOR_FUEL_RED,
@@ -225,6 +229,8 @@ typedef enum
C_EXCHANGE,
C_BULLSEYE,
C_JUMPOVER,
C_FORTIFICATION,
C_FORTIFICATION_RED,
C_FUEL,
C_FUEL_RED,
C_ACTIONMODERED_NCTH,
+8 -2
View File
@@ -265,8 +265,8 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at
strcmp(name, "Directional") == 0 ||
strcmp(name, "DrugType") == 0 ||
strcmp(name, "BlockIronSight") == 0 ||
// Flugente: poison system
strcmp(name, "PoisonPercentage") == 0 ||
strcmp(name, "ItemFlag") == 0 ||
strcmp(name, "fFlags") == 0 ))
{
@@ -1333,12 +1333,16 @@ itemEndElementHandle(void *userData, const XML_Char *name)
pData->curElement = ELEMENT;
pData->curItem.blockironsight = (BOOLEAN) atol(pData->szCharData);
}
// Flugente poison system
else if(strcmp(name, "PoisonPercentage") == 0)
{
pData->curElement = ELEMENT;
pData->curItem.bPoisonPercentage = (INT16) atol(pData->szCharData);
}
else if(strcmp(name, "ItemFlag") == 0)
{
pData->curElement = ELEMENT;
pData->curItem.usItemFlag = (UINT32) atol(pData->szCharData);
}
pData->maxReadDepth--;
@@ -1954,6 +1958,8 @@ BOOLEAN WriteItemStats()
FilePrintf(hFile,"\t\t<DrugType>%d</DrugType>\r\n", Item[cnt].drugtype );
FilePrintf(hFile,"\t\t<BlockIronSight>%d</BlockIronSight>\r\n", Item[cnt].blockironsight );
FilePrintf(hFile,"\t\t<ItemFlag>%d</ItemFlag>\r\n", Item[cnt].usItemFlag );
// Flugente poison system
FilePrintf(hFile,"\t\t<PoisonPercentage>%d</PoisonPercentage>\r\n", Item[cnt].bPoisonPercentage );