Doors
Door
entity {
entityDef interact_doors_cultist_wide_01_1 {
inherit = "interact/doors/cultist_wide_01";
class = "idInteractable_Obstacle";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = false;
disableAIPooling = false;
edit = {
soundOffset = {
z = 1.5;
}
whenToSave = "SGT_CHECKPOINT";
flags = {
skipRenderModelReplication = true;
}
dormancy = {
distance = 100;
playerDistance = 120;
playerRearwardDistance = 80;
}
fxDecl = "gameplay/invasion/demon_door";
interaction = {
initalState = "interactables/door/normal/locked";
interactionGraph = "interactables/door";
stateData = {
num = 1;
item[0] = {
stateName = "interactables/door/normal/locked";
}
}
transitionData = {
num = 12;
item[0] = {
transitionName = "needs_key_To_unlocked_open";
additionalWaitMs = 1000;
playSoundOnTransition = "play_doomhunter_widedoor_open_unlocked";
}
item[1] = {
transitionName = "unlocked_To_unlocked_open";
playSoundOnTransition = "play_doomhunter_widedoor_open";
}
item[2] = {
transitionName = "unlocked_open_To_unlocked";
playSoundOnTransition = "play_doomhunter_widedoor_close";
}
item[3] = {
transitionName = "locked_To_locked_open";
playSoundOnTransition = "play_doomhunter_widedoor_open";
}
item[4] = {
transitionName = "locked_open_To_locked";
playSoundOnTransition = "play_doomhunter_widedoor_close";
}
item[5] = {
transitionName = "unlocked_open_To_locked";
playSoundOnTransition = "play_doomhunter_widedoor_close";
}
item[6] = {
transitionName = "locked_To_locked_fail";
}
item[7] = {
transitionName = "needs_key_To_needs_key_failed";
}
item[8] = {
transitionName = "locked_To_unlocked";
}
item[9] = {
transitionName = "unlocked_To_locked";
}
item[10] = {
transitionName = "start_locked_To_locked";
}
item[11] = {
transitionName = "locked_To_stay_open";
}
}
animWebDecl = "animweb/interact/doors/cultist_wide_01";
}
touchData = {
retouchDelaySec = 0.5;
triggerDef = "trigger/interact/cultist_wide_01_square";
}
stateColors = {
num = 8;
item[0] = {
colorScale = 5;
materialSwapList = {
num = 2;
item[0] = {
from = "art/tile/glow/doorglow_a";
to = "art/tile/glow/doorglow_red";
}
item[1] = {
from = "art/tile/glow/doorglow_b";
to = "art/tile/glow/doorglow_red";
}
}
state = "start_locked";
}
item[1] = {
colorScale = 5;
materialSwapList = {
num = 2;
item[0] = {
from = "art/tile/glow/doorglow_a";
to = "art/tile/glow/doorglow_red";
}
item[1] = {
from = "art/tile/glow/doorglow_b";
to = "art/tile/glow/doorglow_red";
}
}
state = "activate_to_unlock";
}
item[2] = {
colorScale = 5;
materialSwapList = {
num = 2;
item[0] = {
from = "art/tile/glow/doorglow_a";
to = "art/tile/glow/doorglow_red";
}
item[1] = {
from = "art/tile/glow/doorglow_b";
to = "art/tile/glow/doorglow_red";
}
}
state = "locked";
}
item[3] = {
colorScale = 5;
materialSwapList = {
num = 2;
item[0] = {
from = "art/tile/glow/doorglow_a";
to = "art/tile/glow/doorglow_red";
}
item[1] = {
from = "art/tile/glow/doorglow_b";
to = "art/tile/glow/doorglow_red";
}
}
state = "needs_key";
}
item[4] = {
colorScale = 5;
materialSwapList = {
num = 2;
item[0] = {
from = "art/tile/glow/doorglow_a";
to = "art/tile/glow/doorglow_green";
}
item[1] = {
from = "art/tile/glow/doorglow_b";
to = "art/tile/glow/doorglow_blue";
}
}
state = "unlocked";
}
item[5] = {
colorScale = 5;
materialSwapList = {
num = 2;
item[0] = {
from = "art/tile/glow/doorglow_a";
to = "art/tile/glow/doorglow_green";
}
item[1] = {
from = "art/tile/glow/doorglow_b";
to = "art/tile/glow/doorglow_blue";
}
}
state = "locked_open";
}
item[6] = {
colorScale = 5;
materialSwapList = {
num = 2;
item[0] = {
from = "art/tile/glow/doorglow_a";
to = "art/tile/glow/doorglow_green";
}
item[1] = {
from = "art/tile/glow/doorglow_b";
to = "art/tile/glow/doorglow_blue";
}
}
state = "unlocked_open";
}
item[7] = {
colorScale = 5;
materialSwapList = {
num = 2;
item[0] = {
from = "art/tile/glow/doorglow_a";
to = "art/tile/glow/doorglow_green";
}
item[1] = {
from = "art/tile/glow/doorglow_b";
to = "art/tile/glow/doorglow_blue";
}
}
state = "stay_open";
}
}
collisionPieces = {
num = 4;
item[0] = {
meshName = "collision";
jointName = "collision_joint";
}
item[1] = {
meshName = "collision1";
jointName = "collision1_joint";
}
item[2] = {
meshName = "collision2";
jointName = "collision2_joint";
}
item[3] = {
meshName = "collision3";
jointName = "collision3_joint";
}
}
blockerBoundsExpandDists = {
x = 0.100000001;
y = 1;
z = 0.100000001;
}
stateObstacleData = {
num = 16;
item[0] = {
statePath = "interactables/door/normal/activate_to_unlock";
obstacleReachability = true;
}
item[1] = {
statePath = "interactables/door/normal/locked";
obstacleReachability = true;
}
item[2] = {
statePath = "interactables/door/normal/locked_fail";
obstacleReachability = true;
}
item[3] = {
statePath = "interactables/door/normal/locked_open";
}
item[4] = {
statePath = "interactables/door/normal/needs_key";
obstacleReachability = true;
}
item[5] = {
statePath = "interactables/door/normal/needs_key_failed";
obstacleReachability = true;
}
item[6] = {
statePath = "interactables/door/normal/start_locked";
obstacleReachability = true;
}
item[7] = {
statePath = "interactables/door/normal/stay_open";
}
item[8] = {
statePath = "interactables/door/normal/unlocked";
}
item[9] = {
statePath = "interactables/door/normal/unlocked_open";
}
item[10] = {
statePath = "interactables/door/oneWay/oneWay_closed";
obstacleReachability = true;
}
item[11] = {
statePath = "interactables/door/oneWay/oneWay_lock_fail";
obstacleReachability = true;
}
item[12] = {
statePath = "interactables/door/oneWay/oneWay_locked";
obstacleReachability = true;
}
item[13] = {
statePath = "interactables/door/oneWay/oneWay_open";
}
item[14] = {
statePath = "interactables/door/oneWay/oneWay_open_fail";
obstacleReachability = true;
}
item[15] = {
statePath = "interactables/door/oneWay/oneWay_opened";
}
}
dissolveDistance = 20;
renderModelInfo = {
model = "md6def/objects/doors/cultist_wide_door_01/cultist_wide_door_01.md6";
}
guiData = {
swfFile = "swf/worldgui/guientity/1_interact_lock_default.swf";
scale = 0.0850000009;
initialCommands = {
num = 1;
item[0] = {
commandType = "SPRITE_HIDE";
}
}
positionOffset = {
x = 8;
z = 25;
}
}
umbraVisBlocking = "CAN_BLOCK";
umbraSoundBlocking = "CAN_BLOCK";
demonPlayerRenderModel = "art/objects/door/demon/cultist_wideDoor_01_demon.lwo";
spawnPosition = {
x = -11.11;
y = -11.11;
z = -11.11;
}
demonPlayersPassThrough = false;
}
}
}
Open
entity {
entityDef interact_doors_cultist_wide_01_1_open {
inherit = "target/interact_action_door";
class = "idTarget_InteractionAction";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = false;
disableAIPooling = false;
edit = {
renderModelInfo = {
materialRemap = {
num = 1;
item[0] = {
to = "art/tile/common/nodraw";
}
}
}
actionFilter = "interactionAction/door";
spawnPosition = {
x = -11.11;
y = -11.11;
z = -11.11;
}
targets = {
num = 1;
item[0] = "interact_doors_cultist_wide_01_1";
}
action = "IA_DOOR_OPEN";
}
}
}
Replication
entity {
entityDef interact_doors_cultist_wide_01_1_timeline {
inherit = "target/timeline";
class = "idTarget_Timeline";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = true;
disableAIPooling = false;
edit = {
flags = {
noFlood = true;
}
networkSerializeTransforms = false;
spawnPosition = {
x = 1;
y = 1;
z = 1;
}
componentTimeLine = {
entityEvents = {
num = 2;
item[0] = {
entity = "interact_doors_cultist_wide_01_1_relay";
events = {
num = 1;
item[0] = {
eventTime = 250;
eventCall = {
eventDef = "activate";
args = {
num = 1;
item[0] = {
entity = "";
}
}
}
}
}
}
item[1] = {
entity = "interact_doors_cultist_wide_01_1_remove";
events = {
num = 1;
item[0] = {
eventTime = 2500;
eventCall = {
eventDef = "activate";
args = {
num = 1;
item[0] = {
entity = "";
}
}
}
}
}
}
}
}
allowClientsToStart = true;
renderModelInfo = {
scale = {
x = 1;
y = 1;
z = 1;
}
}
}
}
}
entity {
entityDef interact_doors_cultist_wide_01_1_relay {
inherit = "target/relay";
class = "idTarget_Count";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = false;
disableAIPooling = false;
edit = {
flags = {
noFlood = true;
}
networkSerializeTransforms = false;
count = 1;
spawnPosition = {
x = 1;
y = 1;
z = 1;
}
targets = {
num = 1;
item[0] = "interact_doors_cultist_wide_01_1_open";
}
repeat = true;
}
}
}
entity {
entityDef interact_doors_cultist_wide_01_1_remove {
inherit = "target/remove";
class = "idTarget_Remove";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = false;
disableAIPooling = false;
edit = {
flags = {
noFlood = true;
}
networkSerializeTransforms = false;
count = 1;
spawnPosition = {
x = 1;
y = 1;
z = 1;
}
targets = {
num = 1;
item[0] = "interact_doors_cultist_wide_01_1";
}
repeat = true;
}
}
}