public override TemplateObject Handle(TagData data) { EffectAssetTag atag = EffectAssetTag.For(data.GetModifier(0)); if (atag == null) { return(new TextTag("&{NULL}").Handle(data.Shrink())); } return(atag.Handle(data.Shrink())); }
public void EnableForLevel() { GameObject game = new GameObject("UnturnedFreneticGameObject"); if (game.GetComponent <UnturnedFreneticTicker>() != null) { return; } game.AddComponent <UnturnedFreneticTicker>(); ItemAssetTag.Init(); AnimalAssetTag.Init(); VehicleAssetTag.Init(); WorldObjectAssetTag.Init(); ResourceAssetTag.Init(); BarricadeTag.Init(); EffectAssetTag.Init(); }
public override void Execute(FreneticScript.CommandSystem.CommandQueue queue, CommandEntry entry) { LocationTag loc = LocationTag.For(entry.GetArgument(queue, 1)); if (loc == null) { queue.HandleError(entry, "Invalid location!"); return; } string targetAssetType = entry.GetArgument(queue, 0).ToLower(); EffectAssetTag effectType = EffectAssetTag.For(targetAssetType); if (effectType == null) { queue.HandleError(entry, "Invalid effect type!"); return; } EffectManager.sendEffect(effectType.Internal.id, EffectManager.INSANE, loc.ToVector3()); // TODO: radius option instead of always 512 units (INSANE)! if (entry.ShouldShowGood(queue)) { entry.Good(queue, "Played effect " + TagParser.Escape(effectType.ToString()) + " at " + TagParser.Escape(loc.ToString()) + "!"); } }