View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006323 | The Dark Mod | Physics | public | 23.09.2023 10:05 | 19.06.2025 16:07 |
| Reporter | Frost_Salamander | Assigned To | |||
| Priority | normal | Severity | normal | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | PC | OS | Windows | OS Version | 11 |
| Product Version | TDM 2.11 | ||||
| Target Version | TDM 2.14 | ||||
| Summary | 0006323: Drowned AI not marked as 'player responsible' if shallow water | ||||
| Description | In the FM High Expectations (version 3), it was meant to be possible to complete an assassination objective by drowning an AI in a baptismal font that contains very shallow water. Indeed you can place the AI so that his head is under water and he drowns. However, the 'kill' objective is not marked as complete. I think the reason for this is as follows: - The objective has the 'player responsible' attribute ticked. This is correct as it will ensure that accidental death of the AI does not complete the objective. - While the AI is drowning, a check occurs every few seconds to see if the AI is underwater and applies damage. - The check determines who is responsible for the AI being in the water. This check occurs in UpdateAir() and is located here: https://github.com/stgatilov/darkmod_src/blob/0a7a601e7264f6be7bca6f875e49e0bc56362cde/game/ai/AI.cpp#L12568 - The variable that determines who pushed the AI into the water is called 'm_SetInMotionByActor'. This variable is cleared when the AI stops moving. This happens here: https://github.com/stgatilov/darkmod_src/blob/0a7a601e7264f6be7bca6f875e49e0bc56362cde/game/physics/Physics_AF.cpp#L6301 - I think m_SetInMotionByActor is initially set here when the body is 'dequipped' (i.e. dropped from shouldering): https://github.com/stgatilov/darkmod_src/blob/0a7a601e7264f6be7bca6f875e49e0bc56362cde/game/Grabber.cpp#L1749 - The entity that determines who pushed the AI into the water is passed through to the damage check, and ultimately to the 'Killed()' function when the AI dies. Here an event is passed to the objectives system to indicate if the player was responsible for the death or not. This happens here: https://github.com/stgatilov/darkmod_src/blob/0a7a601e7264f6be7bca6f875e49e0bc56362cde/game/ai/AI.cpp#L7111 - Because the water is so shallow in the baptismal font, the ragdoll stops moving immediately and m_SetInMotionByActor is cleared before the check in UpdateAir() happens, so the 'player responsible' flag isn't set. This means the objective doesn't fire because the player 'isn't responsible'. I think this problem doesn't occur in deeper water because the body is still moving as it's sinking and m_SetInMotionByActor isn't cleared before the first UpdateAir() check. Oddly, while testing this theory out I managed to place the AI into the font face up (instead of face down as normal). In this case the objective fired as expected. However it's not easy to orient the body that way so I have been unable to reproduce it again. I think for a workaround for High Expectations I will just remove the 'player responsible' attribute from the objective, as the chances of the AI dying accidentally are very rare. | ||||
| Steps To Reproduce | The issue is discussed in this forum post, along with steps to reproduce: https://forums.thedarkmod.com/index.php?/topic/21837-fan-mission-the-lieutenant-2-high-expectations-by-frost_salamander-20230424/&do=findComment&comment=487316 | ||||
| Tags | No tags attached. | ||||
|
Just doing some testing on this on a test map (attached). I found that the the objective will reliably trigger (15/15 attempts) if the water is at least 40 units deep. This is worse than I thought, as a body will be completely submerged at about 16 units deep. The next level I tested at before 40 units was 36 units, and on the 10th test, the objective didn't trigger. So the real value could be between 37 and 40. drown.map (39,636 bytes)
Version 2
// entity 0
{
"classname" "worldspawn"
"editor_description" "Simple test map consisting of a large room with a player start and a blue room comprising the mapstartpack_complete prefab. The ambient world has been brightened to 0.1 0.1 0.1."
// primitive 0
{
brushDef3
{
( 0 0 1 -160 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -0.875 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -576 ) ( ( 0.015625 0 0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -568 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -448 ) ( ( 0.015625 0 -0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -456 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 128 ) ( ( 0.007811999879777431 0 -0.4999679923057556 ) ( 0 0.007811999879777431 0.4374719932675362 ) ) "textures/darkmod/wood/boards/pier_platform" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( 0 0 1 -128 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -0.875 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -608 ) ( ( 0.015625 0 0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -568 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -128 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 0.875 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -456 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 576 ) ( ( 0.007811999879777431 0 -0.4374719932675362 ) ( 0 0.007811999879777431 -0.9999359846115112 ) ) "textures/darkmod/wood/boards/pier_platform" 0 0 0
}
}
// primitive 2
{
brushDef3
{
( 0 0 1 -128 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -0.875 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -576 ) ( ( 0.015625 0 0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -600 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -128 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 0.875 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -448 ) ( ( 0.015625 0 -0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 568 ) ( ( 0.007811999879777431 0 0.4999679923057556 ) ( 0 0.007811999879777431 -0.9999359846115112 ) ) "textures/darkmod/wood/boards/pier_platform" 0 0 0
}
}
// primitive 3
{
brushDef3
{
( 0 1 0 -576 ) ( ( 0.015625 0 0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -568 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -160 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 0.875 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -456 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 128 ) ( ( 0.007811999879777431 0 -0.4999679923057556 ) ( 0 0.007811999879777431 -0.4374719932675362 ) ) "textures/darkmod/wood/boards/pier_platform" 0 0 0
( 0 -1 0 0 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 4
{
brushDef3
{
( 0 0 1 -128 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -0.875 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -568 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -128 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 0.875 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -480 ) ( ( 0.015625 0 -0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -456 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 448 ) ( ( 0.007811999879777431 0 0.4374719932675362 ) ( 0 0.007811999879777431 -0.9999359846115112 ) ) "textures/darkmod/wood/boards/pier_platform" 0 0 0
}
}
// primitive 5
{
brushDef3
{
( 0 0 1 -128 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -0.875 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -576 ) ( ( 0.015625 0 0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -128 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 0.875 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -448 ) ( ( 0.015625 0 -0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -488 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 456 ) ( ( 0.007811999879777431 0 -0.4999679923057556 ) ( 0 0.007811999879777431 -0.9999359846115112 ) ) "textures/darkmod/wood/boards/pier_platform" 0 0 0
}
}
// primitive 6
{
brushDef3
{
( 0 0 1 -88 ) ( ( 0.0625 0 108.40625 ) ( 0 0.0625 5.3125 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 688 ) ( ( 0.0625 0 58.6875 ) ( 0 0.0625 1.28125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -992 ) ( ( 0.0625 0 108.40625 ) ( 0 0.0625 1.281249999999993 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -976 ) ( ( 0.0625 0 5.3125 ) ( 0 0.0625 1.28125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 864 ) ( ( 0.0625 0 -44.40624999999997 ) ( 0 0.0625 1.281249999999996 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 80 ) ( ( 0.0625 0 108.40625 ) ( 0 0.0625 57.6875 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 7
{
brushDef3
{
( 0 0 1 -80 ) ( ( 0.0625 0 108.40625 ) ( 0 0.0625 5.3125 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 680 ) ( ( 0.0625 0 58.6875 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -992 ) ( ( 0.0625 0 108.40625 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -48 ) ( ( 0.0625 0 108.40625 ) ( 0 0.0625 58.6875 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 864 ) ( ( 0.0625 0 -44.40625 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -688 ) ( ( 0.0625 0 6.3125 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 8
{
brushDef3
{
( 0 1 0 688 ) ( ( 0.0625 0 58.6875 ) ( 0 0.0625 0.28125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -992 ) ( ( 0.0625 0 108.40625 ) ( 0 0.0625 0.2812500000000018 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -56 ) ( ( 0.0625 0 108.40625 ) ( 0 0.0625 58.68749999999994 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -976 ) ( ( 0.0625 0 4.8125 ) ( 0 0.0625 0.28125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 864 ) ( ( 0.0625 0 -44.40624999999996 ) ( 0 0.0625 0.28125 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 48 ) ( ( 0.0625 0 108.40625 ) ( 0 0.0625 6.312499999999886 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 9
{
brushDef3
{
( 0 0 1 -80 ) ( ( 0.0625 0 57.53125 ) ( 0 0.0625 5.5 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -992 ) ( ( 0.0625 0 57.53125 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -48 ) ( ( 0.0625 0 57.53125 ) ( 0 0.0625 58.5 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -984 ) ( ( 0.0625 0 5.5 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 864 ) ( ( 0.0625 0 6.46875 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 976 ) ( ( 0.0625 0 57.5 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 10
{
brushDef3
{
( 0 0 1 -80 ) ( ( 0.0625 0 108.9999999999993 ) ( 0 0.0625 5.999999999998806 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 688 ) ( ( 0.0625 0 58 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -48 ) ( ( 0.0625 0 109.0000000000002 ) ( 0 0.0625 57.9999999999996 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -976 ) ( ( 0.0625 0 6 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 856 ) ( ( 0.0625 0 -45 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -864 ) ( ( 0.0625 0 109 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 11
{
brushDef3
{
( 0 0 1 -80 ) ( ( 0.0625 0 108.9999999999993 ) ( 0 0.0625 -2.500000000001194 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 688 ) ( ( 0.0625 0 66.5 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -48 ) ( ( 0.0625 0 109.0000000000002 ) ( 0 0.0625 66.4999999999996 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -976 ) ( ( 0.0625 0 -2.5 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 992 ) ( ( 0.0625 0 -45 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -1000 ) ( ( 0.0625 0 109 ) ( 0 0.0625 0.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 12
{
brushDef3
{
( 0 0 1 128 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 8.881784197001252e-16 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 1 0 0 ) ( ( 0.0195312497089617 0 1.4210854715202e-14 ) ( 0 0.0195312497089617 -0.4687499930150807 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 1 0 0 -320 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -0.468749993015082 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 0 -1 -176 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -8.881784197001252e-16 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 -1 0 -192 ) ( ( 0.0195312497089617 0 -7.105427357601002e-15 ) ( 0 0.0195312497089617 -0.4687499930150807 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( -1 0 0 304 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -0.4687499930150807 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
}
}
// primitive 13
{
brushDef3
{
( 0 0 1 128 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 8.881784197001252e-16 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 1 0 0 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -0.4687499930150878 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 0 -1 -176 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -8.881784197001252e-16 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 -1 0 -192 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -0.4687499930150842 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( -1 0 0 192 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -0.4687499930150807 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 1 0 0 -208 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -0.468749993015082 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
}
}
// primitive 14
{
brushDef3
{
( 0 0 1 128 ) ( ( 0.01953124970896172 0 -1.77635683940025e-15 ) ( 0 0.0195312497089617 1.77635683940025e-15 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 0 -1 -176 ) ( ( 0.01953124970896172 0 5.329070518200751e-15 ) ( 0 0.0195312497089617 1.243449787580175e-14 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 -1 0 -192 ) ( ( 0.0195312497089617 0 1.77635683940025e-15 ) ( 0 0.0195312497089617 -0.4687499930150789 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( -1 0 0 208 ) ( ( 0.01953124970896172 0 0 ) ( 0 0.0195312497089617 -0.4687499930150771 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 1 0 0 -304 ) ( ( 0.01953124970896172 0 3.552713678800501e-15 ) ( 0 0.0195312497089617 -0.4687499930150807 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 1 0 176 ) ( ( 0.0195312497089617 0 -1.77635683940025e-15 ) ( 0 0.0195312497089617 -0.468749993015078 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
}
}
// primitive 15
{
brushDef3
{
( 0 0 1 172 ) ( ( 0.0195312497089617 0 7.771561172376096e-16 ) ( 0 0.0195312497089617 -1.77635683940025e-15 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 0 -1 -176 ) ( ( 0.0195312497089617 0 -1.110223024625157e-16 ) ( 0 0.0195312497089617 -1.77635683940025e-15 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( -1 0 0 208 ) ( ( 0.0195312497089617 0 1.110223024625157e-16 ) ( 0 0.0195312497089617 -0.468749993015094 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 1 0 0 -304 ) ( ( 0.0195312497089617 0 -1.77635683940025e-15 ) ( 0 0.0195312497089617 -0.4687499930150665 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 -1 0 -176 ) ( ( 0.0195312497089617 0 5.861977570020827e-14 ) ( 0 0.0195312497089617 -0.4687499930150647 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 1 0 16 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -0.4687499930150949 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
}
}
// primitive 16
{
brushDef3
{
( 0 0 1 128 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 0 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 1 0 0 ) ( ( 0.0195312497089617 0 -3.552713678800501e-15 ) ( 0 0.0195312497089617 -0.4687499930150807 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 0 -1 -176 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 0 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( -1 0 0 208 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -0.4687499930150807 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 1 0 0 -304 ) ( ( 0.0195312497089617 0 0 ) ( 0 0.0195312497089617 -0.4687499930150807 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
( 0 -1 0 -16 ) ( ( 0.0195312497089617 0 1.77635683940025e-15 ) ( 0 0.0195312497089617 -0.4687499930150816 ) ) "textures/darkmod/stone/brick/blocks_large_mildew" 0 0 0
}
}
// primitive 17
{
brushDef3
{
( 1 0 0 -568 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -160 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 0.875 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -448 ) ( ( 0.015625 0 -0.875 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -456 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 128 ) ( ( 0.007811999879777431 0 -0.4999679923057556 ) ( 0 0.007811999879777431 -0.4374719932675362 ) ) "textures/darkmod/wood/boards/pier_platform" 0 0 0
( 0 1 0 192 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 18
{
brushDef3
{
( 1 0 0 -568 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 -160 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 0.875 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 128 ) ( ( 0.007811999879777431 0 -0.4999679923057556 ) ( 0 0.007811999879777431 -0.4374719932675362 ) ) "textures/darkmod/wood/boards/pier_platform" 0 0 0
( 0 1 0 0 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -192 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 320 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 19
{
brushDef3
{
( 0 0 -1 -160 ) ( ( 0.015625 0 -1 ) ( 0 0.015625 0.875 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -456 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 128 ) ( ( 0.007811999879777431 0 -0.4999679923057556 ) ( 0 0.007811999879777431 -0.4374719932675362 ) ) "textures/darkmod/wood/boards/pier_platform" 0 0 0
( 0 1 0 0 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -192 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -192 ) ( ( 0.015625 0 1 ) ( 0 0.015625 -2 ) ) "textures/common/caulk" 0 0 0
}
}
}
// entity 1
{
"classname" "light"
"name" "ambient_world"
"_color" "0.1 0.1 0.1"
"light_center" "0 0 0"
"light_radius" "10280 10280 10280"
"nodiffuse" "0"
"noshadows" "0"
"nospecular" "0"
"origin" "964 -720 48"
"parallel" "0"
"texture" "lights/ambientlightnfo"
}
// entity 2
{
"classname" "atdm:target_addobjectives"
"name" "Objectives"
"angle" "90.000000"
"origin" "888 -720 0"
"obj1_desc" "Kill the thug"
"obj1_ongoing" "0"
"obj1_visible" "1"
"obj1_mandatory" "1"
"obj1_irreversible" "0"
"obj1_state" "0"
"obj1_1_state" "0"
"obj1_1_not" "0"
"obj1_1_irreversible" "0"
"obj1_1_player_responsible" "1"
"obj1_1_type" "kill"
"obj1_1_spec1" "name"
"obj1_1_spec_val1" "thug"
"obj1_1_args" "1"
}
// entity 3
{
"classname" "atdm:playertools_compass"
"name" "CompassEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "873 -742.5 60.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 4
{
"classname" "atdm:playertools_lantern"
"name" "LanternEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "885 -742.5 60.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 5
{
"classname" "atdm:playertools_spyglass"
"name" "SpyglassEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "895 -742.5 60.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 6
{
"classname" "atdm:playertools_health_potion"
"name" "HealthPotionsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "911 -742.5 35.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 7
{
"classname" "atdm:weapon_shortsword"
"name" "SwordEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "983 -792.5 11.5"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 8
{
"classname" "atdm:weapon_blackjack"
"name" "BlackjackEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "934.62 -793.25 11.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 9
{
"classname" "atdm:playertools_breath_potion"
"name" "BreathPotionsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "923 -742.5 35.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 10
{
"classname" "atdm:playertools_flashbomb"
"name" "FlashbombsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "875 -792.5 35.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 11
{
"classname" "atdm:key_fancy02"
"name" "key_master"
"inv_icon" "guis/assets/hud/inventory_icons/key_good_red"
"inv_map_start" "1"
"inv_name" "MASTER KEY"
"inv_stackable" "0"
"nodrop" "1"
"origin" "984 -720 32"
"rotation" "0 -1 0 1 0 0 0 0 1"
"skin" "bc_key02red"
}
// entity 12
{
"classname" "atdm:shop"
"name" "ShopItems"
"angle" "90.000000"
"diff_0_shop_gold_start" "800"
"diff_1_shop_gold_start" "600"
"diff_2_shop_gold_start" "400"
"origin" "936 -720 0"
"shopItem_11_0_qty" "0"
"shopItem_11_1_qty" "0"
"shopItem_11_2_qty" "0"
"shopItem_11_item" "atdm:playertools_compass"
"shopItem_12_0_qty" "0"
"shopItem_12_1_qty" "0"
"shopItem_12_2_qty" "0"
"shopItem_12_item" "atdm:playertools_lantern"
"shopItem_13_0_qty" "0"
"shopItem_13_1_qty" "0"
"shopItem_13_2_qty" "0"
"shopItem_13_item" "atdm:playertools_spyglass"
"shopItem_15_0_qty" "0"
"shopItem_15_1_qty" "0"
"shopItem_15_2_qty" "0"
"shopItem_15_item" "atdm:playertools_mine"
"shopItem_16_0_qty" "0"
"shopItem_16_1_qty" "0"
"shopItem_16_2_qty" "0"
"shopItem_16_item" "atdm:playertools_flashbomb"
"shopItem_17_0_qty" "0"
"shopItem_17_1_qty" "0"
"shopItem_17_2_qty" "0"
"shopItem_17_item" "atdm:playertools_holywater"
"shopItem_18_0_qty" "0"
"shopItem_18_1_qty" "0"
"shopItem_18_2_qty" "0"
"shopItem_18_item" "atdm:playertools_health_potion"
"shopItem_19_0_qty" "0"
"shopItem_19_1_qty" "0"
"shopItem_19_2_qty" "0"
"shopItem_19_item" "atdm:playertools_breath_potion"
"shopItem_1_0_qty" "0"
"shopItem_1_1_qty" "0"
"shopItem_1_2_qty" "0"
"shopItem_1_item" "atdm:weapon_shortsword"
"shopItem_20_0_qty" "0"
"shopItem_20_1_qty" "0"
"shopItem_20_2_qty" "0"
"shopItem_20_item" "atdm:weapon_vinearrow"
"shopItem_2_0_qty" "0"
"shopItem_2_1_qty" "0"
"shopItem_2_2_qty" "0"
"shopItem_2_item" "atdm:weapon_blackjack"
"shopItem_3_0_qty" "0"
"shopItem_3_1_qty" "0"
"shopItem_3_2_qty" "0"
"shopItem_3_item" "atdm:weapon_waterarrow"
"shopItem_4_0_qty" "0"
"shopItem_4_1_qty" "0"
"shopItem_4_2_qty" "0"
"shopItem_4_item" "atdm:weapon_broadhead"
"shopItem_5_0_qty" "0"
"shopItem_5_1_qty" "0"
"shopItem_5_2_qty" "0"
"shopItem_5_item" "atdm:weapon_ropearrow"
"shopItem_6_0_qty" "0"
"shopItem_6_1_qty" "0"
"shopItem_6_2_qty" "0"
"shopItem_6_item" "atdm:weapon_mossarrow"
"shopItem_7_0_qty" "0"
"shopItem_7_1_qty" "0"
"shopItem_7_2_qty" "0"
"shopItem_7_item" "atdm:weapon_noisemaker"
"shopItem_8_0_qty" "0"
"shopItem_8_1_qty" "0"
"shopItem_8_2_qty" "0"
"shopItem_8_item" "atdm:weapon_firearrow"
"shopItem_9_0_qty" "0"
"shopItem_9_1_qty" "0"
"shopItem_9_2_qty" "0"
"shopItem_9_item" "atdm:weapon_gasarrow"
"startingitem_11_0_qty" "0"
"startingitem_11_1_qty" "0"
"startingitem_11_2_qty" "0"
"startingitem_11_item" "atdm:playertools_compass"
"startingitem_12_0_qty" "0"
"startingitem_12_1_qty" "0"
"startingitem_12_2_qty" "0"
"startingitem_12_item" "atdm:playertools_lantern"
"startingitem_13_0_qty" "0"
"startingitem_13_1_qty" "0"
"startingitem_13_2_qty" "0"
"startingitem_13_item" "atdm:playertools_spyglass"
"startingitem_15_0_qty" "0"
"startingitem_15_1_qty" "0"
"startingitem_15_2_qty" "0"
"startingitem_15_item" "atdm:playertools_mine"
"startingitem_16_0_qty" "0"
"startingitem_16_1_qty" "0"
"startingitem_16_2_qty" "0"
"startingitem_16_item" "atdm:playertools_flashbomb"
"startingitem_17_0_qty" "0"
"startingitem_17_1_qty" "0"
"startingitem_17_2_qty" "0"
"startingitem_17_item" "atdm:playertools_holywater"
"startingitem_18_0_qty" "0"
"startingitem_18_1_qty" "0"
"startingitem_18_2_qty" "0"
"startingitem_18_item" "atdm:playertools_health_potion"
"startingitem_19_0_qty" "0"
"startingitem_19_1_qty" "0"
"startingitem_19_2_qty" "0"
"startingitem_19_item" "atdm:playertools_breath_potion"
"startingitem_1_0_qty" "0"
"startingitem_1_1_qty" "0"
"startingitem_1_2_qty" "0"
"startingitem_1_item" "atdm:weapon_shortsword"
"startingitem_20_0_qty" "0"
"startingitem_20_1_qty" "0"
"startingitem_20_2_qty" "0"
"startingitem_20_item" "atdm:weapon_vinearrow"
"startingitem_2_0_qty" "0"
"startingitem_2_1_qty" "0"
"startingitem_2_2_qty" "0"
"startingitem_2_item" "atdm:weapon_blackjack"
"startingitem_3_0_qty" "0"
"startingitem_3_1_qty" "0"
"startingitem_3_2_qty" "0"
"startingitem_3_item" "atdm:weapon_waterarrow"
"startingitem_4_0_qty" "0"
"startingitem_4_1_qty" "0"
"startingitem_4_2_qty" "0"
"startingitem_4_item" "atdm:weapon_broadhead"
"startingitem_5_0_qty" "0"
"startingitem_5_1_qty" "0"
"startingitem_5_2_qty" "0"
"startingitem_5_item" "atdm:weapon_ropearrow"
"startingitem_6_0_qty" "0"
"startingitem_6_1_qty" "0"
"startingitem_6_2_qty" "0"
"startingitem_6_item" "atdm:weapon_mossarrow"
"startingitem_7_0_qty" "0"
"startingitem_7_1_qty" "0"
"startingitem_7_2_qty" "0"
"startingitem_7_item" "atdm:weapon_noisemaker"
"startingitem_8_0_qty" "0"
"startingitem_8_1_qty" "0"
"startingitem_8_2_qty" "0"
"startingitem_8_item" "atdm:weapon_firearrow"
"startingitem_9_0_qty" "0"
"startingitem_9_1_qty" "0"
"startingitem_9_2_qty" "0"
"startingitem_9_item" "atdm:weapon_gasarrow"
}
// entity 13
{
"classname" "atdm:ammo_broadhead"
"name" "BroadheadsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "872 -872 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 14
{
"classname" "atdm:ammo_broadhead"
"name" "BroadheadsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "872 -920 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 15
{
"classname" "atdm:ammo_broadhead"
"name" "BroadheadsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "872 -968 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 16
{
"classname" "atdm:ammo_firearrow"
"name" "FireArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "888 -872 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 17
{
"classname" "atdm:ammo_firearrow"
"name" "FireArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "888 -920 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 18
{
"classname" "atdm:ammo_firearrow"
"name" "FireArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "888 -968 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 19
{
"classname" "atdm:ammo_gasarrow"
"name" "GasArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "904 -872 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 20
{
"classname" "atdm:ammo_gasarrow"
"name" "GasArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "904 -920 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 21
{
"classname" "atdm:ammo_gasarrow"
"name" "GasArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "904 -968 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 22
{
"classname" "atdm:ammo_mossarrow"
"name" "MossArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "920 -872 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 23
{
"classname" "atdm:ammo_mossarrow"
"name" "MossArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "920 -968 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 24
{
"classname" "atdm:ammo_mossarrow"
"name" "MossArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "920 -920 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 25
{
"classname" "atdm:ammo_noisemaker"
"name" "NoiseArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "936 -872 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 26
{
"classname" "atdm:ammo_noisemaker"
"name" "NoiseArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "936 -920 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 27
{
"classname" "atdm:ammo_noisemaker"
"name" "NoiseArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "936 -968 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 28
{
"classname" "atdm:ammo_ropearrow"
"name" "RopeArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "952 -872 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 29
{
"classname" "atdm:ammo_ropearrow"
"name" "RopeArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "952 -920 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 30
{
"classname" "atdm:ammo_ropearrow"
"name" "RopeArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "952 -968 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 31
{
"classname" "atdm:ammo_waterarrow"
"name" "WaterArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "984 -872 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 32
{
"classname" "atdm:ammo_waterarrow"
"name" "WaterArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "984 -920 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 33
{
"classname" "atdm:ammo_waterarrow"
"name" "WaterArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "984 -968 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 34
{
"classname" "atdm:weapon_blackjack"
"name" "BlackjackHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "934.62 -809.25 11.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 35
{
"classname" "atdm:weapon_blackjack"
"name" "BlackjackExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "934.62 -825.25 11.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 36
{
"classname" "atdm:weapon_shortsword"
"name" "SwordHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "983 -808.5 11.5"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 37
{
"classname" "atdm:weapon_shortsword"
"name" "SwordExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "983 -824.5 11.5"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 38
{
"classname" "atdm:playertools_compass"
"name" "CompassHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "873 -758.5 60.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 39
{
"classname" "atdm:playertools_compass"
"name" "CompassExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"nodrop" "1"
"origin" "873 -774.5 60.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 40
{
"classname" "atdm:playertools_lantern"
"name" "LanternHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "885 -758.5 60.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 41
{
"classname" "atdm:playertools_lantern"
"name" "LanternExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"nodrop" "1"
"origin" "885 -774.5 60.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 42
{
"classname" "atdm:playertools_spyglass"
"name" "SpyglassHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "895 -758.5 60.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 43
{
"classname" "atdm:playertools_spyglass"
"name" "SpyglassExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"nodrop" "1"
"origin" "895 -774.5 60.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 44
{
"classname" "atdm:playertools_flashbomb"
"name" "FlashbombsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "875 -808.5 35.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 45
{
"classname" "atdm:playertools_flashbomb"
"name" "FlashbombsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "875 -824.5 35.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 46
{
"classname" "atdm:playertools_health_potion"
"name" "HealthPotionsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "911 -758.5 35.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 47
{
"classname" "atdm:playertools_health_potion"
"name" "HealthPotionsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "911 -774.5 35.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 48
{
"classname" "atdm:playertools_breath_potion"
"name" "BreathPotionsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "923 -758.5 35.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 49
{
"classname" "atdm:playertools_breath_potion"
"name" "BreathPotionsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "923 -774.5 35.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 50
{
"classname" "atdm:playertools_lockpick_snake"
"name" "LockpickSnakeEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "966 -742 32"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 51
{
"classname" "atdm:playertools_lockpick_triangle"
"name" "LockpickTriangleEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "982 -742 32"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 52
{
"classname" "atdm:playertools_mine"
"name" "MinesEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "906 -792 32"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 53
{
"classname" "atdm:playertools_holywater"
"name" "HolyWatersEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "922 -792 32"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 54
{
"classname" "atdm:playertools_flashmine"
"name" "FlashminesEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "890 -792 32"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 55
{
"classname" "atdm:playertools_lockpick_snake"
"name" "LockpickSnakeHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "966 -758 32"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 56
{
"classname" "atdm:playertools_lockpick_snake"
"name" "LockpickSnakeExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"nodrop" "1"
"origin" "966 -774 32"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 57
{
"classname" "atdm:playertools_lockpick_triangle"
"name" "LockpickTriangleHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"nodrop" "1"
"origin" "982 -758 32"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 58
{
"classname" "atdm:playertools_lockpick_triangle"
"name" "LockpickTriangleExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"nodrop" "1"
"origin" "982 -774 32"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 59
{
"classname" "atdm:playertools_flashmine"
"name" "FlashminesHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "890 -808 32"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 60
{
"classname" "atdm:playertools_flashmine"
"name" "FlashminesExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "890 -824 32"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 61
{
"classname" "atdm:playertools_mine"
"name" "MinesHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "906 -808 32"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 62
{
"classname" "atdm:playertools_mine"
"name" "MinesExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "906 -824 32"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 63
{
"classname" "atdm:playertools_holywater"
"name" "HolyWatersHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "922 -808 32"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 64
{
"classname" "atdm:playertools_holywater"
"name" "HolyWatersExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"nodrop" "1"
"origin" "922 -824 32"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 65
{
"classname" "atdm:ammo_vinearrow"
"name" "VineArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "968 -872 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 66
{
"classname" "atdm:ammo_vinearrow"
"name" "VineArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "968 -920 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 67
{
"classname" "atdm:ammo_vinearrow"
"name" "VineArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"nodrop" "1"
"origin" "968 -968 -8"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 68
{
"classname" "atdm:location_settings"
"name" "atdm_location_settings_1"
"ambient_light_dist_scale" "1.0"
"ambient_light_dynamic_cap" "0.1 0.1 0.1"
"ambient_light_falloff" "0"
"angle" "90.000000"
"origin" "912 -720 0"
}
// entity 69
{
"classname" "info_player_start"
"name" "info_player_start_1"
"angle" "90.000000"
"origin" "256 -304 -128"
}
// entity 70
{
"classname" "atdm:ai_thief_thug"
"name" "thug"
"origin" "260.007 -220.998 -127.752"
"rotation" "0 1 0 -1 0 0 0 0 1"
"health" "10"
"shouldered_name" "Thug"
"shouldered_name_dead" "Thug (dead)"
}
// entity 71
{
"classname" "atdm:liquid_water"
"name" "atdm_liquid_water_1"
"model" "atdm_liquid_water_1"
"origin" "256 -96 -152"
"underwater_gui" "guis\underwater\underwater_green_thinmurk.gui"
// primitive 0
{
brushDef3
{
( 0 0 1 -16 ) ( ( 0.01953124970896172 0 -1.000000000000002 ) ( 0 0.0195312497089617 0.765625001164147 ) ) "textures/water_source/water_clear" 0 0 0
( 0 1 0 -80 ) ( ( 0.0195312497089617 0 -8.881784197001252e-15 ) ( 0 0.0195312497089617 -0.8593749860301614 ) ) "textures/water_source/water_clear" 0 0 0
( 1 0 0 -48 ) ( ( 0.0195312497089617 0 1.17128529097954e-14 ) ( 0 0.0195312497089617 -0.8593749860301707 ) ) "textures/water_source/water_clear" 0 0 0
( 0 0 -1 -20 ) ( ( 0.0195312497089617 0 1.443289932012704e-15 ) ( 0 0.0195312497089617 -8.881784197001252e-16 ) ) "textures/water_source/water_clear" 0 0 0
( 0 -1 0 -80 ) ( ( 0.0195312497089617 0 7.105427357601002e-15 ) ( 0 0.0195312497089617 -0.8593749860301614 ) ) "textures/water_source/water_clear" 0 0 0
( -1 0 0 -48 ) ( ( 0.0195312497089617 0 -5.551115123125783e-17 ) ( 0 0.01953124970896171 -0.8593749860301678 ) ) "textures/water_source/water_clear" 0 0 0
}
}
}
// entity 72
{
"classname" "light"
"name" "light_1"
"origin" "258 -100 -82"
"light_center" "0 0 0"
"light_radius" "224 320 144"
}
|
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 23.09.2023 10:05 | Frost_Salamander | New Issue | |
| 08.10.2023 16:22 | Daft Mugi | Target Version | => TDM 2.12 |
| 05.12.2023 01:25 | nbohr1more | Target Version | TDM 2.12 => TDM 2.13 |
| 08.01.2025 03:46 | nbohr1more | Target Version | TDM 2.13 => TDM 2.14 |
| 19.06.2025 12:51 | Frost_Salamander | Note Added: 0017048 | |
| 19.06.2025 12:51 | Frost_Salamander | File Added: drown.map | |
| 19.06.2025 12:52 | Frost_Salamander | Note Edited: 0017048 | |
| 19.06.2025 16:07 | Frost_Salamander | Description Updated |