idInteractable
An entity that is interactable with a melee input.
Some of these entities only work in specific resources.
You will need to pull assets from other levels if you want to use them in a level where they normally do not exist.
Skull Switch
entity {
entityDef interact_use_panel_sentinel_skull_switch_1 {
inherit = "interact/use_panel/sentinel_skull_switch";
class = "idInteractable";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = true;
disableAIPooling = false;
edit = {
whenToSave = "SGT_CHECKPOINT";
clipModelInfo = {
type = "CLIPMODEL_BOX";
size = {
x = 0.75;
y = 1.20000005;
z = 1.95000005;
}
}
interaction = {
initalState = "interactables/console/sentinel_skull_switch/sentinel_skull_idle";
interactionGraph = "interactables/console";
stateData = {
num = 6;
item[0] = {
stateName = "interactables/console/sentinel_skull_switch/sentinel_skull_activate";
}
item[1] = {
stateName = "interactables/console/sentinel_skull_switch/sentinel_skull_activate_repeat";
}
item[2] = {
stateName = "interactables/console/sentinel_skull_switch/sentinel_skull_idle";
}
item[3] = {
stateName = "interactables/console/sentinel_skull_switch/sentinel_skull_idle_repeat";
}
item[4] = {
stateName = "interactables/console/sentinel_skull_switch/sentinel_skull_used";
}
item[5] = {
stateName = "interactables/console/sentinel_skull_switch/sentinel_skull_used_repeat";
}
}
transitionData = {
num = 6;
item[0] = {
transitionName = "sentinel_skull_activate_To_sentinel_skull_idle";
additionalWaitMs = 250;
}
item[1] = {
transitionName = "sentinel_skull_activate_repeat_To_sentinel_skull_idle_repeat";
additionalWaitMs = 250;
}
item[2] = {
transitionName = "sentinel_skull_usable_To_sentinel_skull_used";
}
item[3] = {
transitionName = "sentinel_skull_usable_repeat_To_sentinel_skull_used_repeat";
}
item[4] = {
transitionName = "sentinel_skull_used_To_sentinel_skull_idle";
additionalWaitMs = 250;
}
item[5] = {
transitionName = "sentinel_skull_used_repeat_To_sentinel_skull_idle_repeat";
additionalWaitMs = 2000;
}
}
animWebDecl = "animweb/interact/skull_switch_sentinel/skull_switch_sentinel_interact";
}
touchData = {
triggerDef = "trigger/interact/use_panel";
}
activateTargetsOnUse = false;
stateColors = {
num = 6;
item[0] = {
color = {
g = 0.0588235036;
b = 0.0588235036;
}
colorScale = 5;
state = "sentinel_skull_activate";
}
item[1] = {
color = {
g = 0.0588235036;
b = 0.0588235036;
}
colorScale = 5;
state = "sentinel_skull_activate_repeat";
}
item[2] = {
color = {
r = 0.196078002;
b = 0.0392156988;
}
colorScale = 5;
state = "sentinel_skull_idle";
}
item[3] = {
color = {
r = 0.196078002;
b = 0.0392156988;
}
colorScale = 5;
state = "sentinel_skull_idle_repeat";
}
item[4] = {
color = {
r = 0;
g = 0;
b = 0;
}
colorScale = 0;
state = "sentinel_skull_used";
}
item[5] = {
color = {
g = 0.0588235036;
b = 0.0588235036;
}
colorScale = 5;
state = "sentinel_skull_used_repeat";
}
}
activateTargetsOnEndInteraction = true;
thirdPersonInteractionData = {
thirdPersonInteractionType = "PLAYER_MECHANIC_THIRD_PERSON_INTERACT_TYPE_BUTTON";
}
renderModelInfo = {
model = "md6def/objects/interact/skull_switch_sentinel/skull_switch_sentinel.md6";
}
spawnPosition = {
x = 1;
y = 1;
z = 1;
}
spawnOrientation = {
mat = {
mat[0] = {
x = 0;
y = 1;
}
mat[1] = {
x = -1;
y = 0;
}
}
}
targets = { // activates these entities on interact
num = 1;
item[0] = "activate_something_1";
}
}
}
}
Weapon Mod Bot
entity {
entityDef game_progress_mod_bot_1 {
inherit = "progress/mod_bot";
class = "idInteractable_WeaponModBot";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = true;
disableAIPooling = false;
edit = {
soundOffset = {
z = 1.29999995;
}
saveType = "SGS_GAME_DATA";
automapPropertiesDecl = "mod_bot";
renderModelInfo = {
model = "md6def/objects/interact/mod_bot/mod_bot.md6";
lightRigDecl = "mod_bot/mod_bot_default";
contributesToLightProbeGen = false;
materialRemapRT = {
num = 3;
item[0] = {
from = "art/pickups/mod_bot/slayer_mod_bot_01";
to = "art/pickups/mod_bot/slayer_mod_bot_01_rt";
}
item[1] = {
from = "art/pickups/mod_bot/slayer_modbot_bag_01";
to = "art/pickups/mod_bot/slayer_modbot_bag_01_rt";
}
item[2] = {
from = "art/pickups/mod_bot/slayer_mod_bot_01_used";
to = "art/pickups/mod_bot/slayer_mod_bot_01_used_rt";
}
}
}
clipModelInfo = {
type = "CLIPMODEL_CYLINDER";
size = {
x = 1.5;
y = 1.5;
z = 1;
}
offset = {
z = 1.04999995;
}
numSides = 8;
}
spawn_statIncreases = {
num = 1;
item[0] = {
stat = "STAT_ITEMS_SPAWNED";
increase = 1;
}
}
fxDecl = "gameplay/mod_bot";
interaction = {
initalState = "interactables/progress/mod_bot/idle_mod";
animWebDecl = "animweb/interact/mod_bot/mod_bot_interact";
interactionGraph = "interactables/progress";
stateData = {
num = 4;
item[0] = {
stateName = "interactables/progress/mod_bot/activate_to_use";
}
item[1] = {
stateName = "interactables/progress/mod_bot/idle_mod";
}
item[2] = {
stateName = "interactables/progress/mod_bot/selection_mod";
}
item[3] = {
stateName = "interactables/progress/mod_bot/used_mod";
onEnterCodexEntry = "codex/tutorials/mod_station";
hideMeshOnEnter = {
num = 1;
item[0] = "crate";
}
}
}
}
touchData = {
triggerDef = "trigger/interact/use_panel";
triggerDefOffset = {
x = 0.25;
}
}
activateTargetsOnUse = false;
stateColors = {
num = 4;
item[0] = {
materialSwapList = {
num = 2;
item[0] = {
from = "art/pickups/mod_bot/slayer_mod_bot_01";
to = "art/pickups/mod_bot/slayer_mod_bot_01_used";
}
item[1] = {
from = "art/pickups/mod_bot/slayer_modbot_bag_01";
to = "art/pickups/mod_bot/slayer_modbot_bag_01_used";
}
}
state = "selection_mod";
}
item[1] = {
materialSwapList = {
num = 2;
item[0] = {
from = "art/pickups/mod_bot/slayer_mod_bot_01_used";
to = "art/pickups/mod_bot/slayer_mod_bot_01";
}
item[1] = {
from = "art/pickups/mod_bot/slayer_modbot_bag_01_used";
to = "art/pickups/mod_bot/slayer_modbot_bag_01";
}
}
state = "idle_mod";
}
item[2] = {
materialSwapList = {
num = 2;
item[0] = {
from = "art/pickups/mod_bot/slayer_mod_bot_01_used";
to = "art/pickups/mod_bot/slayer_mod_bot_01";
}
item[1] = {
from = "art/pickups/mod_bot/slayer_modbot_bag_01_used";
to = "art/pickups/mod_bot/slayer_modbot_bag_01";
}
}
state = "usable_mod";
}
item[3] = {
materialSwapList = {
num = 2;
item[0] = {
from = "art/pickups/mod_bot/slayer_mod_bot_01";
to = "art/pickups/mod_bot/slayer_mod_bot_01_used";
}
item[1] = {
from = "art/pickups/mod_bot/slayer_modbot_bag_01";
to = "art/pickups/mod_bot/slayer_modbot_bag_01_used";
}
}
state = "used_mod";
}
}
activateTargetsOnEndInteraction = true;
progressionCategory = "PROGRESSION_CATEGORY_MODBOT";
removeForMasterLevels = true;
thirdPersonInteractionData = {
thirdPersonInteractionType = "PLAYER_MECHANIC_THIRD_PERSON_INTERACT_TYPE_GENERIC";
firstPersonSyncEntityForInteractionToPositionOnUse = "interact/mod_bot/mod_bot_sync";
firstPersonSyncAnimWebPath = "animweb/interact/mod_bot/mod_bot_syncanimweb/autoSyncAnim/mod_bot";
}
userMustBeInTouchTrigger = true;
useCodex = "codex/tutorials/mod_station";
enterSound = "play_ui_mod_bot_entrance";
spawnPosition = {
x = 1;
y = 1;
z = 1;
}
spawnOrientation = {
mat = {
mat[0] = {
x = 0;
y = 1;
}
mat[1] = {
x = -1;
y = 0;
}
}
}
dormancy = {
allowDistanceDormancy = false;
allowPvsDormancy = false;
}
}
}
}
Rune Station
entity {
entityDef pickups_progress_rune_1 {
inherit = "progress/rune";
class = "idInteractable_Rune";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = true;
disableAIPooling = false;
edit = {
soundOffset = {
z = 1;
}
saveType = "SGS_GAME_DATA";
automapPropertiesDecl = "rune";
renderModelInfo = {
model = "md6def/objects/props/maykr_rune_interact/maykr_rune_interact.md6";
}
clipModelInfo = {
type = "CLIPMODEL_CYLINDER";
size = {
x = 1.5;
y = 1.75;
z = 2.5;
}
offset = {
x = -0.600000024;
}
numSides = 21;
}
dormancy = {
playerDistance = 20;
}
fxDecl = "gameplay/rune_pickup";
interaction = {
initalState = "interactables/progress/rune/idle_rune";
unuseableState = "interactables/progress/rune/used_rune";
animWebDecl = "animweb/interact/rune/rune_interact";
interactionGraph = "interactables/progress";
stateData = {
num = 3;
item[0] = {
stateName = "interactables/progress/rune/idle_rune";
}
item[1] = {
stateName = "interactables/progress/rune/ready_rune";
}
item[2] = {
stateName = "interactables/progress/rune/used_rune";
markForGameUsed = true;
}
}
transitionData = {
num = 3;
item[0] = {
transitionName = "open_rune_To_ready_rune";
playSoundOnTransition = "play_rune_interact_open";
}
item[1] = {
transitionName = "closed_rune_To_waiting_rune";
playSoundOnTransition = "play_rune_interact_close";
}
item[2] = {
transitionName = "selection_rune_To_used_rune";
playSoundOnTransition = "play_rune_pickup";
}
}
}
touchData = {
triggerDef = "trigger/interact/progress_rune";
retouchDelaySec = 250;
}
activateTargetsOnUse = false;
onUseCodexEntry = "codex/tutorials/rune";
stateColors = {
num = 3;
item[0] = {
materialSwapList = {
num = 1;
item[0] = {
from = "art/kit/maykr/prop/textures/maykr_rune_static";
to = "art/kit/maykr/prop/textures/maykr_rune_interact_01";
}
}
state = "ready_rune";
}
item[1] = {
materialSwapList = {
num = 1;
item[0] = {
from = "art/kit/maykr/prop/textures/maykr_rune_interact_01";
to = "art/kit/maykr/prop/textures/maykr_rune_static";
}
}
state = "selection_rune";
}
item[2] = {
materialSwapList = {
num = 1;
item[0] = {
from = "art/kit/maykr/prop/textures/maykr_rune_interact_01";
to = "art/kit/maykr/prop/textures/maykr_rune_static";
}
}
state = "used_rune";
}
}
activateTargetsOnEndInteraction = true;
progressionCategory = "PROGRESSION_CATEGORY_RUNE";
removeForMasterLevels = true;
thirdPersonInteractionData = {
thirdPersonInteractionType = "PLAYER_MECHANIC_THIRD_PERSON_INTERACT_TYPE_GENERIC";
firstPersonSyncEntityForInteractionToPositionOnUse = "interact/rune/use_sync";
firstPersonSyncAnimWebPath = "animweb/interact/rune/use_sync/use_sync/interact";
}
userMustBeInTouchTrigger = true;
spawnPosition = {
x = 1;
y = 1;
z = 1;
}
spawnOrientation = {
mat = {
mat[0] = {
x = 0;
y = 1;
}
mat[1] = {
x = -1;
y = 0;
}
}
}
}
}
}
Praetor Suit Token
entity {
entityDef game_progress_praetor_token_1 {
inherit = "progress/praetor_token";
class = "idInteractable_GiveItems";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = true;
disableAIPooling = false;
edit = {
soundOffset = {
z = 2;
}
saveType = "SGS_GAME_DATA";
automapPropertiesDecl = "praetor_token";
renderModelInfo = {
model = "md6def/objects/interact/praetor_suit_token/praetor_suit_token.md6";
lightRigDecl = "soldier_blaster/soldier_blaster_default";
materialRemap = {
num = 6;
item[0] = {
from = "models/characters/sentinel_knight/sentinel_knight_arm_right";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_arm_right";
}
item[1] = {
from = "models/characters/sentinel_knight/sentinel_knight_base";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_base";
}
item[2] = {
from = "models/characters/sentinel_knight/sentinel_knight_base_arm";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_base_arm";
}
item[3] = {
from = "models/characters/sentinel_knight/sentinel_knight_helmet";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_helmet";
}
item[4] = {
from = "models/characters/sentinel_knight/sentinel_knight_leg_right";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_leg_right";
}
item[5] = {
from = "models/characters/sentinel_knight/sentinel_knight_torso";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_torso";
}
}
}
clipModelInfo = {
type = "CLIPMODEL_CONE";
size = {
x = 1.5;
y = 1.5;
z = 3;
}
numSides = 8;
}
dormancy = {
playerDistance = 20;
playerRearwardDistance = 30;
allowDistanceDormancy = false;
allowDormancy = false;
allowPvsDormancy = false;
}
fxDecl = "gameplay/praetor_token_interact";
interaction = {
initalState = "interactables/progress/praetor/idle_praetor";
animWebDecl = "animweb/interact/preator_suit_token/preator_suit_token_interact";
interactionGraph = "interactables/progress";
stateData = {
num = 3;
item[0] = {
stateName = "interactables/progress/praetor/activate_praetor";
}
item[1] = {
stateName = "interactables/progress/praetor/idle_praetor";
playSoundOnEnter = "play_praetorsuittoken_loop";
}
item[2] = {
stateName = "interactables/progress/praetor/used_praetor";
stateStats = {
num = 1;
item[0] = {
stat = "STAT_GAINED_FIRST_PRAETOR_TOKEN";
}
}
removeCollisionOnEnter = true;
hideMeshOnEnter = {
num = 1;
item[0] = "coin";
}
}
}
transitionData = {
num = 1;
item[0] = {
transitionName = "usable_praetor_To_used_praetor";
playSoundOnTransition = "stop_praetorsuittoken_loop";
}
}
}
touchData = {
triggerDef = "trigger/interact/use_panel";
}
activateTargetsOnUse = false;
onUseCodexEntry = "codex/tutorials/praetor_suit_perks";
stateColors = {
num = 1;
item[0] = {
materialSwapList = {
num = 6;
item[0] = {
from = "models/characters/sentinel_knight/ghost/sentinel_knight_arm_right";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_arm_right_used";
}
item[1] = {
from = "models/characters/sentinel_knight/ghost/sentinel_knight_base";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_base_used";
}
item[2] = {
from = "models/characters/sentinel_knight/ghost/sentinel_knight_base_arm";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_base_arm_used";
}
item[3] = {
from = "models/characters/sentinel_knight/ghost/sentinel_knight_helmet";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_helmet_used";
}
item[4] = {
from = "models/characters/sentinel_knight/ghost/sentinel_knight_leg_right";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_leg_right_used";
}
item[5] = {
from = "models/characters/sentinel_knight/ghost/sentinel_knight_torso";
to = "models/characters/sentinel_knight/ghost/sentinel_knight_torso_used";
}
}
state = "used_praetor";
}
}
activateTargetsOnEndInteraction = true;
progressionCategory = "PROGRESSION_CATEGORY_ELITE";
useStat = "STAT_SUIT_PAGE_UNLOCKED";
removeForMasterLevels = true;
thirdPersonInteractionData = {
thirdPersonInteractionType = "PLAYER_MECHANIC_THIRD_PERSON_INTERACT_TYPE_GENERIC";
}
userMustBeInTouchTrigger = true;
currencyList = {
num = 1;
item[0] = {
currencyType = "CURRENCY_PRAETOR_UPGRADE";
}
}
spawnPosition = {
x = 1;
y = 1;
z = 1;
}
spawnOrientation = {
mat = {
mat[0] = {
x = 0;
y = 1;
}
mat[1] = {
x = -1;
y = 0;
}
}
}
}
}
}
Argent Cell Crystal & Top Destructible
entity {
entityDef game_progress_argent_cell_1 {
inherit = "progress/argent_cell";
class = "idInteractable_WorldCache";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = true;
disableAIPooling = false;
edit = {
saveType = "SGS_GAME_DATA";
automapPropertiesDecl = "argent_cell";
renderModelInfo = {
model = "md6def/objects/interact/argent_cell/argent_cell.md6";
scale = {
x = 1;
y = 1;
z = 1;
}
}
clipModelInfo = {
type = "CLIPMODEL_CYLINDER";
contentsFilter = {
monsterClip = false;
moveableClip = false;
shotClip = false;
ikClip = false;
opaqueClip = false;
allTeamsShotClip = false;
}
size = {
x = 1.25;
y = 1.75;
z = 2;
}
numSides = 8;
}
dormancy = {
delay = 0;
distance = 100;
playerDistance = 120;
playerRearwardDistance = 80;
allowPvsDormancy = false;
}
fxDecl = "interact/argentcell/argent_cell_fx";
interaction = {
initalState = "interactables/progress/argent_cell/idle_argent";
unuseableState = "interactables/progress/argent_cell/used_argent";
animWebDecl = "animweb/interact/argent_cell/argent_cell_interact";
interactionGraph = "interactables/progress";
stateData = {
num = 3;
item[0] = {
stateName = "interactables/progress/argent_cell/activate_argent";
hideMeshOnEnter = {
num = 1;
item[0] = "destroyed__2_";
}
}
item[1] = {
stateName = "interactables/progress/argent_cell/idle_argent";
hideMeshOnEnter = {
num = 1;
item[0] = "destroyed__2_";
}
}
item[2] = {
stateName = "interactables/progress/argent_cell/used_argent";
onEnterCodexEntry = "codex/tutorials/argent_cell";
markForGameUsed = true;
hideMeshOnEnter = {
num = 1;
item[0] = "crystal__2_";
}
stateActivateList = {
num = 1;
item[0] = "game_destructible_interact_argent_cell_1_1313774949";
}
}
}
}
touchData = {
triggerDef = "trigger/interact/use_panel";
triggerDefOffset = {
x = 0.25;
}
}
activateTargetsOnUse = false;
stateColors = {
num = 1;
item[0] = {
materialSwapList = {
num = 4;
item[0] = {
from = "art/kit/sentinel/prop/argent_cell_bottom";
to = "art/kit/sentinel/prop/argent_cell_bottom_used";
}
item[1] = {
from = "art/kit/sentinel/prop/argent_cell_destroyed";
to = "art/kit/sentinel/prop/argent_cell_destroyed_used";
}
item[2] = {
from = "art/kit/sentinel/prop/argent_cell_bottom_secretpath";
to = "art/kit/sentinel/prop/argent_cell_bottom_used";
}
item[3] = {
from = "art/kit/sentinel/prop/argent_cell_destroyed_secretpath";
to = "art/kit/sentinel/prop/argent_cell_destroyed_used";
}
}
state = "used_argent";
}
}
progressionCategory = "PROGRESSION_CATEGORY_ARGENT";
useStat = "STAT_PROG_AMMO_HEALTH_ARMOR";
removeForMasterLevels = true;
secretMaterial = "art/objects/progression/temp_progression_items_secret";
thirdPersonInteractionData = {
thirdPersonInteractionType = "PLAYER_MECHANIC_THIRD_PERSON_INTERACT_TYPE_SENTINEL_CRYSTAL";
thirdPersonSyncEntityForInteractionStartPositionOnUse = "interact/argent_cell/argent_cell_sync_3p";
thirdPersonSyncAnimWebPathForStartPositionOnUse = "animweb/interact/argent_cell/argent_cell_3p/use_sync/interact";
}
userMustBeInTouchTrigger = true;
spawnOrientation = {
mat = {
mat[0] = {
x = 0;
y = -1;
z = 0;
}
mat[1] = {
x = 1;
y = 0;
z = 0;
}
mat[2] = {
x = 0;
y = 0;
z = 1;
}
}
}
targets = {
num = 1;
item[0] = "game_destructible_interact_argent_cell_1"; // removes the top part of the model
}
spawnPosition = {
x = 1;
y = 1;
z = 1;
}
}
}
}
entity {
entityDef game_destructible_interact_argent_cell_1 {
inherit = "destructible/interact/argent_cell";
class = "idDestructible";
expandInheritance = false;
poolCount = 0;
poolGranularity = 2;
networkReplicated = true;
disableAIPooling = false;
edit = {
whenToSave = "SGT_NORMAL";
flags = {
skipRenderModelReplication = true;
}
saveType = "SGS_GAME_DATA";
renderModelInfo = {
model = "art/kit/sentinel/prop/argent_cell_top.lwo";
scale = {
x = 1;
y = 1;
z = 1;
}
}
clipModelInfo = {
contentsFilter = {
playerClip = false;
monsterClip = false;
ikClip = false;
opaqueClip = false;
allTeamsShotClip = false;
}
size = {
x = 1;
y = 1;
z = 1;
}
offset = {
z = 1.25;
}
numSides = 6;
}
destructible = {
decl = "destructible/interact/argent_cell";
idleCommands = {
num = 1;
item[0] = {
time = 10000;
command = "IDLE_COMMAND_BECOME_STATIC";
}
}
}
effectiveDamageTypes = {
num = 1;
item[0] = "damage/special/no_damage";
}
demonPlayersPassThrough = false;
removeForMasterLevels = true;
spawnPosition = {
x = 1;
y = 1;
z = 1;
}
spawnOrientation = {
mat = {
mat[0] = {
x = 1;
y = 0;
z = 0;
}
mat[1] = {
x = 0;
y = 1;
z = 0;
}
mat[2] = {
x = 0;
y = 0;
z = 1;
}
}
}
}
}
}
No Comments