Jump to content

Recommended Posts

Posted

Not 100% this will work but I want to summon mobs. I made a "summoned bell" that will summon other summons and sound alarm. Couple issues. The bell is not following me and its not summoning any other mobs. Not sure if this is a hard coded thing or not.

 

Summoned bell:

Spoiler
{
	code: "evocation:summoned-bell",
	class: "EntityBell",
	tags: ["mechanical", "habitat-land"],
	weight: 80,
	canClimb: false,
	hitboxSize: { x: 0.75, y: 0.85 },
	selectionBoxSize: { x: 0.85, y: 1.5 },
	deadCollision: { x: 0.75, y: 0.85 },
	eyeHeight: 0.75,
	attributes: {
		glitchAffected: true,
		onDeathStabilityRecovery: 0.15,
		isMechanical: true
	},
	variantgroups: [
		{ code: "type", states: ["normal"]},
	],
	drops: [
		{
			type: "item",
			code: "game:gear-rusty",
			dropModbyStat: "rustyGearDropRate",
			quantity: { avg: 1.2, var: 1 }
		},
		{
			type: "block",
			code: "game:metal-parts",
			quantity: { avg: 1.5, var: 0 }
		},
		{
			type: "block",
			code: "game:metal-scraps",
			quantity: { avg: 3.5, var: 2 }
		},
		{ 
			type: "item",
			code: "game:stackrandomizer-tuningcylinder",
			quantity: { avg: 1 }
		},
		{ 
			type: "item",
			code: "game:stackrandomizer-alljonas",
			quantity: { avg: 0.2 }
		}
	],
	client: {
		renderer: "Shape",
		shape: { base: "entity/summoned-bell" },
		size: 1.3,
		behaviors: [
			{ code: "repulseagents" }, 
			{ code: "controlledphysics", stepHeight: 1.1251 }, 
			{ code: "floatupwhenstuck", onlyWhenDead: true },
			{ code: "interpolateposition" }
		],
		animations: [
			{
				code: "hurt",
				animation: "hurt", 
				animationSpeed: 1.2,
				weight: 10,
				blendMode: "AddAverage" 
			},
			{
				code: "die",
				animation: "die", 
				animationSpeed: 0.7,
				weight: 10,
				blendMode: "Average",
				triggeredBy: { onControls: ["dead"] }
			},
			{ 
				code: "idle", 
				animation: "idle",
				blendMode: "Average", 
				triggeredBy: { defaultAnim: true },
			}
		]
	},
	server: {
		behaviors: [
			{ code: "repulseagents" }, 
			{ code: "controlledphysics", stepHeight: 1.1251 },
			{ code: "health", currenthealth: 100, maxhealth: 100 },
			{ code: "floatupwhenstuck", onlyWhenDead: true },
			{ code: "deaddecay", hoursToDecay: 24 },
			{ code: "despawn", minPlayerDistance: 30, minSeconds: 900 },
			{
				code: "taskai",
				aitasks: [
					{
						code: "bellalarm",
						onNearbyEntityCodes: ["locust-*", "bowtorn-*", "drifter-*", "shiver-*"],
						spawnMobs: [
							"evocation:summoned-drifter-normal",
							"evocation:summoned-drifter-deep",
							"evocation:summoned-drifter-nightmare",	
							"evocation:summoned-shiver-surface",
							"evocation:summoned-locust-bronze"							
						],
						spawnMaxQuantity: 2,
						spawnIntervalMsMin: 1000,
						spawnIntervalMsMax: 5000,
						spawnRange: 25,
						priority: 1.8,
						seekingRange: 25,
						animationSpeed: 1,
						animation: "alarm",
						repeatSound: "game:creature/bell/alarm"
					},
					{
						code: "seekentity",
						enabledByType: { "*": true },
						entityCodes: ["locust-*", "bowtorn-*", "drifter-*", "shiver-*"],
						priority: 1.2,
						mincooldown: 1000,
						maxcooldown: 1500,
						seekingRange: 25,
						movespeed: 0.033,
						animation: "Run2",
						animationSpeed: 2,
						sound: "game:creature/bell/alarm"
					},
					{
						code: "getoutofwater",
						priority: 1.4,
						movespeed: 0.01,
						animation: "walk",
						animationSpeed: 1.6
					},
					{
						code: "idle",
						id: "listen",
						priority: 1.4,
						priorityForCancel: 1.35,
						minduration: 4000,
						maxduration: 6000,
						executionChance: 0.5,
						initialMinCoolDown: 2000,
						initialMaxCoolDown: 10000,
						mincooldown: 2000,
						maxcooldown: 10000,
						animation: "listen",
						sound: "game:creature/bell/listen",
						animationSpeed: 1
					},
					
					{
						code: "stayclosetoentity",
						priority: 1.3,
						entityCode: "player",
						movespeed: 0.015,
						maxDistance: 8,
						searchRange: 25,
						animation: "Run"
					},
					{
						code: "idle",
						priority: 1.2,
						priorityForCancel: 2,
						executionChance: 0.01,
						initialMinCoolDown: 2000,
						initialMaxCoolDown: 15000,
						minduration: 200000,
						maxduration: 800000,
						mincooldown: 5000,
						maxcooldown: 20000,
						animation: "hide",
						animationSpeed: 0.75,
						stopOnNearbyEntityCodes: ["locust-*", "bowtorn-*", "drifter-*", "shiver-*"],
						stopRange: 5,
						stopOnHurt: true
					},
					{
						code: "wander", 
						priority: 1.0, 
						movespeed: 0.0065,
						animationSpeed: 1,
						animation: "walk",
						sound: "game:creature/bell/walk",
						soundRepeatMs: 1333,
						preferredLightLevel: 15
					},					
					{ 
						code: "lookaround", 
						priority: 0.5
					}
				]
			},
			{ code: "entitystatetags" }
		],
	sounds: {
		hurt: "game:creature/bell/hurt",
		death: "game:creature/bell/death"
	}
}

 

Here is a summon able mob for example:

Spoiler
{
	code: "evocation:summoned-drifter",
	class: "EntityDrifter",
	tags: ["rust-creature", "habitat-land"],
	variantgroups: [
		{ code: "type", states: ["normal", "deep", "nightmare"]}
	],
	weight: 140,
	canClimb: true,
	hitboxSize: { x: 0.6, y: 1.3 },
	deadHitboxSize: { x: 0.6, y: 1 },
	eyeHeight: 1.3,
	attributes: {
		allowInDevastationArea: true,
		killedByInfoText: "deadcreature-vile",
		glitchAffected: true,
		glitchFlicker: true,
		reckless: true,
		extraSplashParticlesMul: 4,
		spawnCloserDuringLowStability: true,
		onDeathStabilityRecoveryByType: {
			"summoned-drifter-normal": 0.01,
			"summoned-drifter-deep": 0.015,
			"summoned-drifter-nightmare": 0.3
		},

		// Configuration for crawling drifters
		oddsToAlter: 5, // chance to alter a drifter is one in this value
		dieAnimationCode: "die",
		alternativeDieAnimationCode: "crawldie",
		idleAnimationCode: "idle",
		alternativeIdleAnimationCode: "crawlidle",
		alternativeCollisionBox: [0.9, 0.6],
		alternativeCanClimb: false,
		animationsRemapping: {
			"idle": "crawlidle" ,
			"standwalk": "crawlwalk",
			"standlowwalk": "crawlwalk",
			"standrun": "crawlrun",
			"standidle": "crawlidle",
			"standdespair": "crawlemote",
			"standcry": "crawlemote",
			"standhurt": "crawlhurt",
			"standdie": "crawldie"
		}
	},
	drops: [],
	client: {
		renderer: "Shape",
		pitchStep: false,
		shapeByType: {
			"summoned-drifter-normal": { base: "game:entity/lore/drifter/surface" },
			"summoned-drifter-deep": { base: "game:entity/lore/drifter/surface" },
			"summoned-drifter-nightmare": { base: "game:entity/lore/drifter/knife" }
		},
		texturesByType: {
			"summoned-drifter-normal": {
				"skin": { base: "game:entity/lore/drifter/surface1", alternates: [ { base: "game:entity/lore/drifter/surface2" }, {base: "game:entity/lore/drifter/surface3" }] },
			},
			"summoned-drifter-deep": {
				"skin": { base: "game:entity/lore/drifter/deep1", alternates: [ { base: "game:entity/lore/drifter/deep2" } ] },
			},
			"*": {
				"skin": { base: "game:entity/lore/drifter/deep1", alternates: [ { base: "game:entity/lore/drifter/deep2" } ] },
			}
		},
		behaviors: [
			{ code: "repulseagents" }, 
			{ code: "controlledphysics", stepHeight: 1.1251 }, 
			{ code: "floatupwhenstuck", onlyWhenDead: true },
			{ code: "interpolateposition" },
			{ code: "harvestable", duration: 2 }
		],
		animations: [
			{
				code: "hurt",
				animation: "standhurt", 
				animationSpeed: 2,
				weight: 10,
				blendMode: "AddAverage" 
			},
			{
				code: "die",
				animation: "standdie", 
				animationSpeed: 0.7,
				weight: 10,
				blendMode: "Average",
				triggeredBy: { onControls: ["dead"] }
			},
			{ 
				code: "idle",
				animation: "standidle",
				blendMode: "Average", 
				triggeredBy: { defaultAnim: true },
			},
			{
				code: "crawlhurt",
				animation: "crawlhurt", 
				animationSpeed: 2,
				weight: 10,
				blendMode: "AddAverage" 
			},
			{
				code: "crawldie",
				animation: "crawldie", 
				animationSpeed: 0.7,
				weight: 10,
				blendMode: "Average",
				triggeredBy: { onControls: ["dead"] }
			},
			{ 
				code: "crawlidle", 
				animation: "crawlidle",
				blendMode: "Average",
				weight: 0.1,
				easeoutSpeed: 10
			},
			{ 
				code: "standwalk", 
				animation: "standwalk",
				blendMode: "Average"
			},
			{ 
				code: "standrun", 
				animation: "standrun",
				blendMode: "Average"
			},
			{
				code: "crawlwalk", 
				animation: "crawlwalk",
				blendMode: "Average"
			},
			{
				code: "crawlrun", 
				animation: "crawlrun",
				blendMode: "Average"
			},
			{
				code: "crawlemote", 
				animation: "crawlemote"
			}
		]
	},
	server: {
		behaviors: [
			{ code: "repulseagents" }, 
			{ code: "controlledphysics", stepHeight: 1.1251 },
			{ code: "health", 
				currenthealthByType: {
					"summoned-drifter-normal": 12,
					"summoned-drifter-deep": 16,
					"summoned-drifter-nightmare": 40
				},
				maxhealthByType: {
					"summoned-drifter-normal": 12,
					"summoned-drifter-deep": 16,
					"summoned-drifter-nightmare": 40
				}
			},
			{ code: "deaddecay", hoursToDecay: 3 },
			{ code: "floatupwhenstuck", onlyWhenDead: true },
			{ code: "despawn", minPlayerDistance: 32, minSeconds: 30 },
			{ code: "despawn", minPlayerDistance: 64, minSeconds: 6 },
			{
				code: "emotionstates",
				states: [  {
						code: "fleeondamage", 
						duration: 10,
						chanceByType: {
							"summoned-drifter-normal": 0.15,
							"summoned-drifter-deep": 0.07,
							"summoned-drifter-nightmare": 0.01
						},
						slot: 0, 
						priority: 1, 
						accumType: "max" 
					},
					{ code: "aggressiveondamage", duration: 30, chance: 1, slot: 0, priority: 0.5, accumType: "noaccum" },
				]
			},
			{
				code: "taskai",
				aitasks: [
					{
						code: "fleeentity",
						entityCodes: ["wolf-*", "bear-*", "locust-*", "bowtorn-*", "drifter-*", "shiver-*"],
						priority: 2.5,
						movespeed: 0.018,
						seekingRange: 12,
						cancelOnHurt: true,
						animation: "standrun",
						animationSpeed: 1.3,
						whenInEmotionState: "fleeondamage"
					},
					{
						code: "meleeattack",
						entityCodes: ["wolf-*", "bear-*", "locust-*", "bowtorn-*", "drifter-*", "shiver-*"],
						priority: 2,
						damageByType: {
							"summoned-drifter-normal": 2.5,
							"summoned-drifter-deep": 4,
							"summoned-drifter-nightmare": 20
						},
						damageTierByType: {
							"summoned-drifter-normal": 0,
							"summoned-drifter-deep": 1,
							"summoned-drifter-nightmare": 4
						},
						damageTypeByType: {
							"summoned-drifter-nightmare": "SlashingAttack"
						},
						mincooldown: 500, 
						maxcooldown: 1750, 
						damagePlayerAtMs: 400,
						attackDurationMs: 1000,
						animation: "standattack",
						animationSpeed: 1.5,
						sound: "game:creature/drifter-hit",
						soundStartMs: 400
					},
					{
						code: "throwatentity",
						entityCodes: ["wolf-*", "bear-*", "locust-*", "bowtorn-*", "drifter-*", "shiver-*"],
						priority: 1.5,
						priorityForCancel: 9,
						mincooldown: 1000, 
						maxcooldown: 10000, 
						durationMs: 1200,
						releaseAtMs: 700,
						yawInaccuracy: 0.33,
						seekingRange: 15,
						animationSpeed: 1.5,
						animation: "standthrowleft",
						projectileDamage: 1,
						projectileDamageTier: 0
					},
					{
						code: "seekentity",
						entityCodes: ["wolf-*", "bear-*", "locust-*", "bowtorn-*", "drifter-*", "shiver-*"],
						priority: 1.5,
						mincooldown: 400, 
						maxcooldown: 800, 
						movespeed: 0.018,
						seekingRange: 20,
						animationSpeed: 1.3,
						animation: "standrun",
						sound: "game:creature/drifter-aggro"
					},
					{
						code: "stayclosetoentity",
						priority: 1.3,
						entityCode: "player",
						movespeed: 0.015,
						maxDistance: 8,
						searchRange: 25,
						animation: "Run"
					},
					{
						code: "idle",
						priority: 1.2,
						priorityForCancel: 1.35,
						minduration: 4000,
						maxduration: 6000,
						executionChance: 0.001,
						initialMinCoolDown: 2000,
						initialMaxCoolDown: 150000,
						mincooldown: 300000,
						maxcooldown: 10000000,
						animation: "standdespair",
						animationSpeed: 1.25
					},
					{
						code: "idle",
						priority: 1.2,
						priorityForCancel: 2.1,
						minduration: 4000,
						maxduration: 6000,
						executionChance: 0.001,
						initialMinCoolDown: 2000,
						initialMaxCoolDown: 150000,
						mincooldown: 300000,
						maxcooldown: 10000000,
						animation: "standcry",
						animationSpeed: 1
					},
					{
						code: "wander", 
						priority: 1.0, 
						movespeed: 0.01,
						animationSpeed: 1.2,
						animation: "standwalk",
						preferredLightLevel: 15
					},
					{
						code: "wander", 
						priority: 0.99,
						priorityForCancel: 1.1,
						movespeed: 0.008,
						animationSpeed: 1.1,
						animation: "standlowwalk",
						preferredLightLevel: 15
					},
					{
						code: "getoutofwater",
						priority: 1.4,
						movespeed: 0.015,
						animation: "standwalk",
						animationSpeed: 1.55
					},
					{ 
						code: "lookaround", 
						priority: 0.5
					}
				]
			},
			{ code: "harvestable", duration: 2, fixedweight: true, dropsByType: {
				"*-normal": [
					{
						type: "item",
						code: "game:gear-temporal",
						quantity: { avg: 0.02666, var: 0 }
					},
					{
						type: "item",
						code: "flaxfibers",
						quantity: { avg: 0.2, var: 0 }
					},
					{
						type: "item",
						code: "game:gear-rusty",
						dropModbyStat: "rustyGearDropRate",
						quantity: { avg: 0.01, var: 0 }
					}
				],
				"*-deep": [
					{
						type: "item",
						code: "game:gear-temporal",
						quantity: { avg: 0.033325, var: 0 }
					},
					{
						type: "item",
						code: "game:gear-rusty",
						dropModbyStat: "rustyGearDropRate",
						quantity: { avg: 0.03, var: 0 }
					},
					{
						type: "item",
						code: "flaxfibers",
						quantity: { avg: 0.4, var: 0 }
					}
				],		
				"*-nightmare": [
					{
						type: "item",
						code: "game:gear-temporal",
						quantity: { avg: 0.05332, var: 0 }
					},
					{
						type: "item",
						code: "game:gear-rusty",
						dropModbyStat: "rustyGearDropRate",
						quantity: { avg: 0.2, var: 0 }
					},
					{
						type: "item",
						code: "flaxfibers",
						quantity: { avg: 1, var: 0 }
					}
				],
				},
			},
			{ code: "ripharvestable" },
			{ code: "entitystatetags" }
		],
		spawnconditions: {
			runtime: {
				group: "hostile",
				maxQuantityByType: {
					"*-normal": 10,
					"*-deep": 4,
					"*-tainted": 3,
					"*-corrupt": 3,
					"*-nightmare": 3,
					"*-double-headed": 0
				},
				maxLightLevel: 7,
				chance: 0.1,
				lightLevelType: "OnlyBlockLight",
				groupSizeByType: {
					"*-normal": { dist: "invexp", avg: 1, var: 3 },
					"*": { dist: "uniform", avg: 1.5, var: 0.5 },
				},
				insideBlockCodes: ["air", "tallgrass-*", "loosestones-*"],
				minYByType: {
					"*-normal": 0.85,
					"*-deep": 0.22,
					"*-tainted": 0.1,
					"*-corrupt": 0,
					"*-nightmare": 0
				},
				maxYByType: {
					"*-normal": 2,
					"*-deep": 0.89,
					"*-tainted": 0.55,
					"*-corrupt": 0.35,
					"*-nightmare": 0.23
				}
			}
		}
	},
	sounds: {
		hurt: "creature/drifter-hurt",
		death: "creature/drifter-death",
		idle: { path: "creature/drifter-idle", range: 14, pitch: { avg: 1, var: 0.25 } }
	}
}

 

not sure if this is going to work but figured id ask and see if someone can spot why its not working currently

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.