We can now use interactive actions to alter decals on walls, so it is possible to simulate taking off an object from the scenery and add it as an item.

For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&goto=363513&#msg_363513

git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@2601 4f8fa57e-7814-0410-bad4-adc449f26b7c
This commit is contained in:
Flugente
2021-07-13 19:48:14 +00:00
parent 62124308b5
commit 1460368cb4
19 changed files with 249 additions and 3 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+20
View File
@@ -597,6 +597,8 @@ InteractiveAction =
PICTURE_GENERALSTORE = 64, -- 2-tile Poster: 'General Store'
PICTURE_SHADYLADY = 65, -- 2-tile Poster: 'Shady Lady'
COOK_COWMEAT_TO_STEAK = 66, -- take cow meat from merc, add steak to merc
TAKE_FIRE_EXTINGUISHER_1 = 67, -- delete wall decal (requires replacing wall tile) and add item to inventory
TAKE_FIRE_EXTINGUISHER_2 = 68, -- delete wall decal (requires replacing wall tile) and add item to inventory
}
-- We have an array of 1000 signed integers that a modder can use to set whatever data he wants.
@@ -1762,6 +1764,24 @@ function HandleInteractiveActionResult(sSectorX, sSectorY, bSectorZ, sGridNo, bL
SetScreenMsg(FontColour.FONT_MCOLOR_DKWHITE, "Cooked a steak.")
end
elseif ( sLuaactionid == InteractiveAction.TAKE_FIRE_EXTINGUISHER_1 ) then
-- 1761 fire extinguisher
CreateItemInvOrFloor(ubID, 1761)
-- due to the way structures are handled, we the decal is on a tile next to the one we are handling, so account for that
-- the empty wall is in another tileset
DestroyAndReplaceDecal(sGridNo - 1, "build_29.sti", 6)
elseif ( sLuaactionid == InteractiveAction.TAKE_FIRE_EXTINGUISHER_2 ) then
CreateItemInvOrFloor(ubID, 1761)
-- due to the way structures are handled, we the decal is on a tile next to the one we are handling, so account for that
-- the empty wall is in another tileset
DestroyAndReplaceDecal(sGridNo - 160, "build_29.sti", 9)
end
@@ -1362,7 +1362,7 @@
<mVestStatus>90</mVestStatus>
<mWeapon>31</mWeapon>
<mWeaponStatus>92</mWeaponStatus>
<mBig0>1540</mBig0>
<mBig0>1761</mBig0>
<mBig1>1542</mBig1>
<mBig2>1543</mBig2>
<mBig3>203</mBig3>
@@ -1370,6 +1370,7 @@
<mSmall1>107</mSmall1>
<mSmall2>416</mSmall2>
<mSmall3>243</mSmall3>
<mSmall4>1540</mSmall4>
<lVest>1090</lVest>
<lBPack>1095</lBPack>
</GEARKIT>
@@ -1382,8 +1383,7 @@
<mVest>161</mVest>
<mWeapon>635</mWeapon>
<mWeaponStatus>92</mWeaponStatus>
<mBig0>489</mBig0>
<mBig0Quantity>3</mBig0Quantity>
<mBig0>1761</mBig0>
<mBig1>490</mBig1>
<mBig1Quantity>2</mBig1Quantity>
<mBig2>203</mBig2>
@@ -1395,6 +1395,8 @@
<mSmall0Quantity>1</mSmall0Quantity>
<mSmall1>212</mSmall1>
<mSmall2>1538</mSmall2>
<mSmall3>489</mSmall3>
<mSmall3Quantity>3</mSmall3Quantity>
<lVest>1090</lVest>
<lRightThigh>1091</lRightThigh>
<lBPack>1095</lBPack>
@@ -291,4 +291,9 @@
<AmmoCaliber>Pepper Spray</AmmoCaliber>
<BRCaliber>Pepper Spray</BRCaliber>
</AMMO>
<AMMO>
<uiIndex>50</uiIndex>
<AmmoCaliber>Fire retardant</AmmoCaliber>
<BRCaliber>Fire retardant</BRCaliber>
</AMMO>
</AMMOLIST>
+40
View File
@@ -1413,4 +1413,44 @@
<dDamageModifierCivilianVehicle>0.0</dDamageModifierCivilianVehicle>
<dDamageModifierZombie>0.0</dDamageModifierZombie>
</AMMOTYPE>
<AMMOTYPE>
<uiIndex>34</uiIndex>
<name>Fire retardant</name>
<red>255</red>
<green>255</green>
<blue>255</blue>
<structureImpactReductionMultiplier>1</structureImpactReductionMultiplier>
<structureImpactReductionDivisor>1</structureImpactReductionDivisor>
<armourImpactReductionMultiplier>1</armourImpactReductionMultiplier>
<armourImpactReductionDivisor>1</armourImpactReductionDivisor>
<beforeArmourDamageMultiplier>1</beforeArmourDamageMultiplier>
<beforeArmourDamageDivisor>1</beforeArmourDamageDivisor>
<afterArmourDamageMultiplier>1</afterArmourDamageMultiplier>
<afterArmourDamageDivisor>1</afterArmourDamageDivisor>
<zeroMinimumDamage>1</zeroMinimumDamage>
<usPiercePersonChanceModifier>0</usPiercePersonChanceModifier>
<standardIssue>1</standardIssue>
<numberOfBullets>1</numberOfBullets>
<multipleBulletDamageMultiplier>1</multipleBulletDamageMultiplier>
<multipleBulletDamageDivisor>1</multipleBulletDamageDivisor>
<highExplosive>1759</highExplosive>
<explosionSize>4</explosionSize>
<dart>0</dart>
<knife>0</knife>
<monsterSpit>0</monsterSpit>
<acidic>0</acidic>
<ignoreArmour>1</ignoreArmour>
<lockBustingPower>0</lockBustingPower>
<tracerEffect>0</tracerEffect>
<spreadPattern />
<temperatureModificator>1.0</temperatureModificator>
<dirtModificator>0.8</dirtModificator>
<ammoflag>0</ammoflag>
<dDamageModifierLife>1.0</dDamageModifierLife>
<dDamageModifierBreath>1.0</dDamageModifierBreath>
<dDamageModifierTank>0.0</dDamageModifierTank>
<dDamageModifierArmouredVehicle>0.0</dDamageModifierArmouredVehicle>
<dDamageModifierCivilianVehicle>0.0</dDamageModifierCivilianVehicle>
<dDamageModifierZombie>1.0</dDamageModifierZombie>
</AMMOTYPE>
</AMMOTYPELIST>
@@ -150,4 +150,14 @@
<BlastFilename>TILECACHE\shckwave.STI</BlastFilename>
<BlastSpeed>15</BlastSpeed>
</EXPDATA>
<EXPDATA>
<uiIndex>15</uiIndex>
<name>White smoke</name>
<TransKeyFrame>1</TransKeyFrame>
<DamageKeyFrame>18</DamageKeyFrame>
<ExplosionSoundID>248</ExplosionSoundID>
<AltExplosionSoundID>-1</AltExplosionSoundID>
<BlastFilename>TILECACHE\TEAR_EXP.STI</BlastFilename>
<BlastSpeed>80</BlastSpeed>
</EXPDATA>
</EXPDATALIST>
+20
View File
@@ -2101,4 +2101,24 @@
<ubHorizontalDegree>0</ubHorizontalDegree>
<ubVerticalDegree>0</ubVerticalDegree>
</EXPLOSIVE>
<EXPLOSIVE><!-- fire retardant smoke -->
<uiIndex>105</uiIndex>
<ubType>12</ubType>
<ubDamage>0</ubDamage>
<ubStunDamage>0</ubStunDamage>
<ubRadius>6</ubRadius>
<ubVolume>0</ubVolume>
<ubVolatility>0</ubVolatility>
<ubAnimationID>15</ubAnimationID>
<ubDuration>5</ubDuration>
<ubStartRadius>1</ubStartRadius>
<ubMagSize>9</ubMagSize>
<fExplodeOnImpact>0</fExplodeOnImpact>
<usNumFragments>0</usNumFragments>
<ubFragType>0</ubFragType>
<ubFragDamage>0</ubFragDamage>
<ubFragRange>0</ubFragRange>
<ubHorizontalDegree>0</ubHorizontalDegree>
<ubVerticalDegree>0</ubVerticalDegree>
</EXPLOSIVE>
</EXPLOSIVELIST>
+80
View File
@@ -198,6 +198,7 @@
<bloodbag>0</bloodbag>
<emptybloodbag>0</emptybloodbag>
<medicalsplint>0</medicalsplint>
<fireextinguisher>0</fireextinguisher>
<sFireResistance>0</sFireResistance>
<STAND_MODIFIERS>
<FlatBase>0</FlatBase>
@@ -52234,4 +52235,83 @@
<CROUCH_MODIFIERS />
<PRONE_MODIFIERS />
</ITEM>
<ITEM>
<uiIndex>1759</uiIndex>
<szItemName>White smoke explosion</szItemName>
<szLongItemName>White smoke explosion</szLongItemName>
<szItemDesc>INTERNAL ITEM, DO NOT USE!!!</szItemDesc>
<szBRName>White smoke explosion</szBRName>
<usItemClass>512</usItemClass>
<nasLayoutClass>1</nasLayoutClass>
<ubClassIndex>105</ubClassIndex>
<ubCursor>18</ubCursor>
<ubGraphicType>1</ubGraphicType>
<ubGraphicNum>49</ubGraphicNum>
<ubWeight>6</ubWeight>
<ubPerPocket>4</ubPerPocket>
<ItemSize>14</ItemSize>
<STAND_MODIFIERS />
<CROUCH_MODIFIERS />
<PRONE_MODIFIERS />
</ITEM>
<ITEM>
<uiIndex>1760</uiIndex>
<szItemName>Extinguisher Bottle</szItemName>
<szLongItemName>Fire Extinguisher Bottle</szLongItemName>
<szItemDesc>A pressurized bottle for a fire extinguisher.</szItemDesc>
<szBRName>Fire Extinguisher Bottle</szBRName>
<szBRDesc>Not for sale through BR.</szBRDesc>
<usItemClass>1024</usItemClass>
<nasLayoutClass>1</nasLayoutClass>
<ubClassIndex>612</ubClassIndex>
<ubGraphicType>2</ubGraphicType>
<ubGraphicNum>243</ubGraphicNum>
<ubWeight>30</ubWeight>
<ItemSize>25</ItemSize>
<usPrice>30</usPrice>
<ubCoolness>1</ubCoolness>
<Damageable>1</Damageable>
<Repairable>1</Repairable>
<Metal>1</Metal>
<Sinks>1</Sinks>
<GLGrenade>1</GLGrenade>
<usOverheatingCooldownFactor>100.0</usOverheatingCooldownFactor>
<STAND_MODIFIERS />
<CROUCH_MODIFIERS />
<PRONE_MODIFIERS />
</ITEM>
<ITEM>
<uiIndex>1761</uiIndex>
<szItemName>Extinguisher</szItemName>
<szLongItemName>Fire Extinguisher</szLongItemName>
<szItemDesc>Not as useful as one would think in an actual fire fight. Though we see why you made that error.</szItemDesc>
<szBRName>Fire Extinguisher</szBRName>
<szBRDesc>A standard fire extinguisher. Remember to P.A.S.S..</szBRDesc>
<usItemClass>2</usItemClass>
<nasLayoutClass>1</nasLayoutClass>
<ubClassIndex>1761</ubClassIndex>
<ubCursor>20</ubCursor>
<ubGraphicNum>373</ubGraphicNum>
<ubWeight>5</ubWeight>
<ItemSize>7</ItemSize>
<usPrice>50</usPrice>
<ubCoolness>1</ubCoolness>
<bRepairEase>2</bRepairEase>
<Damageable>1</Damageable>
<Repairable>1</Repairable>
<Metal>1</Metal>
<Sinks>1</Sinks>
<ShowStatus>1</ShowStatus>
<TwoHanded>1</TwoHanded>
<BR_NewInventory>4</BR_NewInventory>
<BR_ROF>12</BR_ROF>
<GrenadeLauncher>1</GrenadeLauncher>
<fireextinguisher>1</fireextinguisher>
<usOverheatingCooldownFactor>100.0</usOverheatingCooldownFactor>
<DamageChance>10</DamageChance>
<DirtIncreaseFactor>20.0</DirtIncreaseFactor>
<STAND_MODIFIERS />
<CROUCH_MODIFIERS />
<PRONE_MODIFIERS />
</ITEM>
</ITEMLIST>
@@ -632,4 +632,8 @@
<launchableIndex>1737</launchableIndex>
<itemIndex>1736</itemIndex>
</LAUNCHABLE>
<LAUNCHABLE>
<launchableIndex>1760</launchableIndex>
<itemIndex>1761</itemIndex>
</LAUNCHABLE>
</LAUNCHABLELIST>
+7
View File
@@ -4284,4 +4284,11 @@
<ubAmmoType>33</ubAmmoType>
<ubMagType>1</ubMagType>
</MAGAZINE>
<MAGAZINE>
<uiIndex>612</uiIndex>
<ubCalibre>50</ubCalibre>
<ubMagSize>9</ubMagSize>
<ubAmmoType>34</ubAmmoType>
<ubMagType>0</ubMagType>
</MAGAZINE>
</MAGAZINELIST>
+34
View File
@@ -1998,6 +1998,7 @@
<SilencedSound>157</SilencedSound>
<bBurstAP>20</bBurstAP>
<APsToReload>24</APsToReload>
<ubMagSize>10</ubMagSize>
<SwapClips>1</SwapClips>
<MaxDistForMessyDeath>7</MaxDistForMessyDeath>
<nAccuracy>33</nAccuracy>
@@ -13335,4 +13336,37 @@
<usOverheatingDamageThreshold>10000</usOverheatingDamageThreshold>
<usOverheatingSingleShotTemperature>1600</usOverheatingSingleShotTemperature>
</WEAPON>
<WEAPON>
<uiIndex>1761</uiIndex>
<szWeaponName>Fire Extinguisher</szWeaponName>
<ubWeaponClass>3</ubWeaponClass>
<ubReadyTime>5</ubReadyTime>
<ubShotsPer4Turns>6.46</ubShotsPer4Turns>
<ubShotsPerBurst>3</ubShotsPerBurst>
<ubBurstPenalty>6</ubBurstPenalty>
<ubBulletSpeed>30</ubBulletSpeed>
<ubDeadliness>1</ubDeadliness>
<ubCalibre>50</ubCalibre>
<ubMagSize>9</ubMagSize>
<usRange>80</usRange>
<usReloadDelay>200</usReloadDelay>
<BurstAniDelay>100</BurstAniDelay>
<ubAttackVolume>20</ubAttackVolume>
<ubHitVolume>10</ubHitVolume>
<sSound>505</sSound>
<SilencedSound>505</SilencedSound>
<sBurstSound>505</sBurstSound>
<sSilencedBurstSound>505</sSilencedBurstSound>
<sReloadSound>497</sReloadSound>
<sLocknLoadSound>108</sLocknLoadSound>
<SilencedSound>157</SilencedSound><bBurstAP>8</bBurstAP>
<APsToReload>24</APsToReload>
<SwapClips>1</SwapClips>
<MaxDistForMessyDeath>20</MaxDistForMessyDeath>
<ManualReloadSound>476</ManualReloadSound>
<Handling>5</Handling>
<usOverheatingJamThreshold>30000</usOverheatingJamThreshold>
<usOverheatingDamageThreshold>20000</usOverheatingDamageThreshold>
<usOverheatingSingleShotTemperature>100</usOverheatingSingleShotTemperature>
</WEAPON>
</WEAPONLIST>
@@ -1050,6 +1050,13 @@
<sActionType>6</sActionType>
<luaactionid>54</luaactionid>
</ACTION>
<ACTION>
<szTileSetName>jailstf3.sti</szTileSetName>
<usTileIndex>14</usTileIndex>
<usTileIndex>15</usTileIndex>
<sActionType>6</sActionType>
<luaactionid>54</luaactionid>
</ACTION>
<!-- urinal -->
<ACTION>
@@ -1187,6 +1194,22 @@
<sActionType>6</sActionType>
<luaactionid>66</luaactionid>
</ACTION>
<!-- fire extinguisher, lower left to upper right wall -->
<ACTION>
<szTileSetName>waldec29.sti</szTileSetName>
<usTileIndex>3</usTileIndex>
<sActionType>6</sActionType>
<luaactionid>67</luaactionid>
</ACTION>
<!-- fire extinguisher, upper left to lower right wall -->
<ACTION>
<szTileSetName>waldec29.sti</szTileSetName>
<usTileIndex>4</usTileIndex>
<sActionType>6</sActionType>
<luaactionid>68</luaactionid>
</ACTION>
<!-- |||||||||||||||||||| VARIOUS |||||||||||||||||||| -->
</INTERACTIVEACTIONS>
+1
View File
@@ -504,4 +504,5 @@
<SOUND>SOUNDS\nothing.wav</SOUND>
<SOUND>SOUNDS\beartrap_activated.wav</SOUND>
<SOUND>SOUNDS\beartrap_fleshhit.wav</SOUND>
<SOUND>SOUNDS\WEAPONS\Misc\fireextinguisher.wav</SOUND>
</SOUNDLIST>
Binary file not shown.
Binary file not shown.
Binary file not shown.