idTrigger_BouncePad & idInfo_BounceDestination

Entities that propel a player to a target destination.

A bounce pad consists of either three or four entities:

Each map has specific models available for rendering a jump pad.

Hell Pad

entity {
	entityDef blood_swamps_trigger_bouncepad {
	inherit = "trigger/bounce_pad";
	class = "idTrigger_BouncePad";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = true;
	disableAIPooling = false;
	edit = {
		flags = {
			canBecomeDormant = true;
		}
		launchFX = "fx/bounce_pad/basic";
		spawnPosition = {
			x = -48.06;
			y = 307.64;
			z = 7.36;
		}
		renderModelInfo = {
			model = NULL;
		}
		clipModelInfo = {
			type = "CLIPMODEL_CYLINDER";
			size = {
				x = 3;
				y = 3;
				z = 3;
			}
			numSides = 10;
			clipModelName = NULL;
		}
		destination = "blood_swamps_bounce_destination_3";
		launchSpeed = 27; //if the destination is too far away from the trigger, try increasing this.
		useLowArcInsteadOfHigh = true;
		triggerFirst = false;
	}
}
}
entity {
	entityDef blood_swamps_bounce_destination {
	inherit = "info/bounce_destination";
	class = "idInfo_BounceDestination";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		spawnPosition = {
			x = -44.92;
			y = 302.67;
			z = 14.35;
		}
	}
}
}
entity {
	entityDef blood_swamps_bouncepad_platform {
	inherit = "func/dynamic";
	class = "idDynamicEntity";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		spawnPosition = {
			x = -48.06;
			y = 307.64;
			z = 7.06;
		}
		renderModelInfo = {
			model = "art/kit/hell/medallion_pad_a.lwo$uvlayout_lightmap=1";
			scale = {
				x = 0.5;
				y = 0.5;
				z = 0.5;
			}
		}
		clipModelInfo = {
			contentsFilter = {
				playerClip = true;
			}
			clipModelName = "art/kit/hell/medallion_pad_a.lwo$uvlayout_lightmap=1";
		}
	}
}
}
entity {
	entityDef blood_swamps_bouncepad_emitter {
	inherit = "func/emitter";
	class = "idParticleEmitter";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		flags = {
			canBecomeDormant = true;
		}
		dormancy = {
			delay = 5;
			distance = 78.029007;
		}
		fadeIn = 0;
		fadeOut = 0;
		spawnPosition = {
			x = -48.06;
			y = 307.64;
			z = 7.36;
		}
		spawnOrientation = {
			mat = {
				mat[0] = {
					x = 0.52760612965;
					y = -0.82817548513;
					z = -0.18909542263;
				}
				mat[1] = {
					x = 0.84339135885;
					y = 0.53729975224;
					z = 0;
				}
				mat[2] = {
					x = 0.10160092264;
					y = -0.15948145092;
					z = 0.98195868731;
				}
			}
		}
		renderModelInfo = {
			color = {
				r = 0.301961005;
				g = 0.650979996;
			}
			emissiveColor = {
				r = 0.301961005;
				g = 0.650979996;
			}
		}
		particleSystem = "gameplay/bounce_pad_hell_01";
	}
}
}

Sentinel Pad

entity {
	entityDef world_spear_example_trigger_bounce_pad {
	inherit = "trigger/bounce_pad";
	class = "idTrigger_BouncePad";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = true;
	disableAIPooling = false;
	edit = {
		demonPlayerCanActivate = true;
		flags = {
			canBecomeDormant = true;
		}
		launchFX = "fx/bounce_pad/basic";
		spawnPosition = {
			x = 6.29999733;
			y = 179.149979;
			z = 11.1000032;
		}
		renderModelInfo = {
			model = NULL;
		}
		clipModelInfo = {
			clipModelName = "maps/game/dlc2/e5m1_spear/e5m1_spear/village_trigger_bounce_pad_17";
		}
		destination = "village_info_bounce_destination_17";
		launchSpeed = 18;
	}
}
}
entity {
	entityDef world_spear_example_func_emitter {
	inherit = "func/emitter";
	class = "idParticleEmitter";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		flags = {
			canBecomeDormant = true;
		}
		dormancy = {
			delay = 5;
			distance = 78.029007;
		}
		fadeIn = 0;
		fadeOut = 0;
		spawnPosition = {
			x = 6.28446245;
			y = 179.249954;
			z = 9.95248413;
		}
		renderModelInfo = {
			color = {
				r = 0.301961005;
				g = 0.650979996;
			}
			emissiveColor = {
				r = 0.301961005;
				g = 0.650979996;
			}
		}
		particleSystem = "gameplay/bounce_pad_sentinel";
	}
}
}
entity {
	entityDef world_spear_example_info_bounce_destination {
	inherit = "info/bounce_destination";
	class = "idInfo_BounceDestination";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		spawnPosition = { // these should be different from that of all the other entities in this example
			x = 17.3500271;
			y = 179.149948;
			z = 13.7500429;
		}
	}
}
}
entity {
	entityDef world_spear_example_hell_chunk_2_func_dynamic_906_799096957 {
	inherit = "func/dynamic";
	class = "idDynamicEntity";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		spawnPosition = {
			x = -18.8634968;
			y = 310.511993;
			z = -18.1249714;
		}
		spawnOrientation = {
			mat = {
				mat[0] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[1] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[2] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
			}
		}
		renderModelInfo = {
			model = "art/kit/sentinel/sentinelSmallKit/sentinelSmallKit_jumpPad_b_1p5x1p5.lwo";
			emissiveColor = {
				r = 0;
				g = 0.647059023;
			}
			emissiveScale = 0.5;
		}
		clipModelInfo = {
			type = "CLIPMODEL_NONE";
			clipModelName = "art/maps/user/souders/mars_core/uac_jump_pad_bs.lwo";
		}
	}
}
}
entity {
	entityDef world_spear_example_chunk_1_func_dynamic {
	inherit = "func/dynamic";
	class = "idDynamicEntity";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		spawnPosition = {
			x = -18.8633633;
			y = 310.511993;
			z = -18.1230907;
		}
		spawnOrientation = {
			mat = {
				mat[0] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[1] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[2] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
			}
		}
		renderModelInfo = {
			model = "art/kit/sentinel/sentinelSmallKit/sentinelSmallKit_jumpPad_b_glow_1p5x1p5.lwo";
			emissiveColor = {
				r = 0;
				g = 0.780391991;
			}
			emissiveScale = 1.5;
		}
		clipModelInfo = {
			type = "CLIPMODEL_NONE";
			clipModelName = "art/maps/user/souders/mars_core/uac_jump_pad_bs.lwo";
		}
	}
}
}
entity {
	entityDef world_spear_example_chunk_2_func_dynamic {
	inherit = "func/dynamic";
	class = "idDynamicEntity";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		spawnPosition = {
			x = -18.8635921;
			y = 310.511993;
			z = -18.1262989;
		}
		spawnOrientation = {
			mat = {
				mat[0] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[1] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[2] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
			}
		}
		renderModelInfo = {
			model = "art/kit/sentinel/sentinelSmallKit/sentinelSmallKit_jumpPad_b_glow2_1p5x1p5.lwo";
			emissiveColor = {
				r = 0;
				g = 0.498039067;
			}
			emissiveScale = 1;
		}
		clipModelInfo = {
			type = "CLIPMODEL_NONE";
			clipModelName = "art/maps/user/souders/mars_core/uac_jump_pad_bs.lwo";
		}
	}
}
}
entity {
	entityDef world_spear_example_chunk_3_func_dynamic{
	inherit = "func/dynamic";
	class = "idDynamicEntity";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		spawnPosition = {
			x = -18.8634968;
			y = 310.511993;
			z = -18.1249714;
		}
		spawnOrientation = {
			mat = {
				mat[0] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[1] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[2] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
			}
		}
		renderModelInfo = {
			model = "art/kit/sentinel/sentinelSmallKit/sentinelSmallKit_jumpPad_b_glow3_1p5x1p5.lwo";
			emissiveColor = {
				r = 0;
				g = 0.882353008;
			}
			emissiveScale = 7;
		}
		clipModelInfo = {
			type = "CLIPMODEL_NONE";
			clipModelName = "art/maps/user/souders/mars_core/uac_jump_pad_bs.lwo";
		}
	}
}
}

Celestial Pad

A jump pad on the Urdak-themed BattleMode map, Celestial. In this case, multiple particle emitters are used, one visible to only the slayer, the other to only the demon team indicating that demon players cannot activate this. The cooldown of this jump pad is imposed by a logic entity, which is beyond the scope of this page.

entity {
	entityDef game_func_dynamic_3 {
	inherit = "func/dynamic";
	class = "idDynamicEntity";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		spawnPosition = {
			x = 6.0999999;
			y = -14;
			z = -3.60000014;
		}
		spawnOrientation = {
			mat = {
				mat[0] = {
					x = -0.999998212;
					y = -0.00189458777;
				}
				mat[1] = {
					x = 0.00189458777;
					y = -0.999998212;
				}
			}
		}
		renderModelInfo = {
			model = "art/kit/maykr/exterior/facade_pad_a_low.lwo";
			geoDecalMaterial = "art/tile/maykr/floats";
			geoDecalTint = {
				g = 0.756862938;
				b = 0.270588011;
			}
			scale = {
				x = 0.5;
				y = 0.5;
				z = 0.5;
			}
			colorScale = 6;
			emissiveColor = {
				r = 0.376471013;
				b = 0.878431022;
			}
			emissiveScale = 8;
		}
		clipModelInfo = {
			type = "CLIPMODEL_NONE";
			clipModelName = "art/kit/maykr/exterior/facade_pad_a_low.lwo";
		}
	}
}
}
entity {
	layers {
		"game/pvp/slayer_team"
	}
	entityDef game_gameplay_bounce_pad_uac_3 {
	inherit = "func/emitter";
	class = "idParticleEmitter";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		flags = {
			canBecomeDormant = true;
		}
		dormancy = {
			delay = 5;
			distance = 78.029007;
		}
		fadeIn = 0;
		fadeOut = 0;
		spawnPosition = {
			x = 6.0999999;
			y = -13.6999979;
			z = -3.49999976;
		}
		spawnOrientation = {
			mat = {
				mat[1] = {
					y = 0.258819342;
					z = 0.965925753;
				}
				mat[2] = {
					y = -0.965925753;
					z = 0.258819342;
				}
			}
		}
		renderModelInfo = {
			color = {
				r = 0.376471013;
				b = 0.878431022;
			}
			emissiveColor = {
				r = 0.0784313753;
				g = 0.694117665;
			}
			emissiveScale = 3;
		}
		particleSystem = "gameplay/bounce_pad_uac";
	}
}
}
entity {
	layers {
		"game/pvp/demon_team"
	}
	entityDef game_gameplay_bounce_pad_uac_10 {
	inherit = "func/emitter";
	class = "idParticleEmitter";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		flags = {
			canBecomeDormant = true;
		}
		dormancy = {
			delay = 5;
			distance = 78.029007;
		}
		fadeIn = 0;
		fadeOut = 0;
		spawnPosition = {
			x = 6.10000038;
			y = -13.6999998;
			z = -3.49999976;
		}
		spawnOrientation = {
			mat = {
				mat[1] = {
					y = 0.258819044;
					z = 0.965925813;
				}
				mat[2] = {
					y = -0.965925813;
					z = 0.258819044;
				}
			}
		}
		particleSystem = "gameplay/bounce_pad_uac_pvp_demon";
	}
}
}
entity {
	entityDef game_trigger_bounce_pad_3 {
	inherit = "trigger/bounce_pad";
	class = "idTrigger_BouncePad";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		flags = {
			canBecomeDormant = true;
		}
		launchFX = "fx/bounce_pad/basic";
		spawnPosition = {
			x = 6.0999999;
			y = -15.6999998;
			z = -3.20000005;
		}
		renderModelInfo = {
			model = NULL;
		}
		clipModelInfo = {
			clipModelName = "maps/game/pvp/pvp_bronco/pvp_bronco/game_trigger_bounce_pad_3";
		}
		triggerForAllClients = true;
		destination = "game_info_bounce_destination_2";
		failedTrajectoryBehavior = "FTB_TOWARDS_TARGET";
		launchSpeed = 25;
	}
}
}
entity {
	entityDef game_info_bounce_destination_2 {
	inherit = "info/bounce_destination";
	class = "idInfo_BounceDestination";
	expandInheritance = false;
	poolCount = 0;
	poolGranularity = 2;
	networkReplicated = false;
	disableAIPooling = false;
	edit = {
		spawnPosition = {
			x = 5.99995661;
			y = -42.9999695;
			z = -2.79999995;
		}
		spawnOrientation = {
			mat = {
				mat[0] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[1] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
				mat[2] = {
					x = 0.0;
					y = 0.0;
					z = 0.0;
				}
			}
		}
	}
}
}

Revision #2
Created 2 October 2022 01:53:00 by Alby
Updated 30 March 2023 12:46:49 by Velser