I don't think the notes would be a conflict as they are looking for specific messages in there. Again, i'm not sure using the status markers would cause problems as the trap script is looking for them on the gm layer only and the blood and honour script only applies its markers under certain circumstances... and removes erroneously applied ones if the conditions aren't met. Ignore that, blood and honour just applies the blood to the map, i was getting it confused with a script that automatically marks your units as dead, really dead or recently resurrected. Here is the code for the modded version i use: /** * A script that checks the interpolation of a token's movement to detect * whether they have passed through a square containing a trap. * * A trap can be any token on the GM layer for which the cobweb status is * active. Flying tokens (ones with the fluffy-wing status or angel-outfit * status active) will not set off traps unless the traps are also flying. * * This script works best for square traps equal or less than 2x2 squares or * circular traps of any size. * * Requires: * Token Collisions * Vector Math * */ var itsATrap = (function() { /** * Returns the first trap a token collided with during its last movement. * If it didn't collide with any traps, return false. * @param {Graphic} token * @return {Graphic || false} */ var getTrapCollision = function(token) { var traps = getTrapTokens(); traps = filterList(traps, function(trap) { return !isTokenFlying(token) || isTokenFlying(trap); }); return TokenCollisions.getFirstCollision(token, traps); }; /** * Determines whether a token is currently flying. * @param {Graphic} token * @return {Boolean} */ var isTokenFlying = function(token) { return (token.get("status_fluffy-wing") || token.get("status_angel-outfit")); }; /** * Moves the specified token to the same position as the trap. * @param {Graphic} token * @param {Graphic} trap */ var moveTokenToTrap = function(token, trap) { var x = trap.get("left"); var y = trap.get("top"); token.set("lastmove",""); token.set("left", x); token.set("top", y); }; /** * Returns all trap tokens on the players' page. */ var getTrapTokens = function() { var currentPageId = Campaign().get("playerpageid"); return findObjs({_pageid: currentPageId, _type: "graphic", status_cobweb: true, layer: "gmlayer"}); }; /** * Filters items out from a list using some filtering function. * Only items for which the filtering function returns true are kept in the * filtered list. * @param {Object[]} list * @param {Function} filterFunc Accepts an Object from list as a parameter. * Returns true to keep the item, or false to * discard. * @return {Object[]} */ var filterList = function(list, filterFunc) { var results = []; for(var i=0; i<list.length; i++) { var item = list[i]; if(filterFunc(item)) { results.push(item); } } return results; } /** * When a graphic on the objects layer moves, run the script to see if it * passed through any traps. */ on("change:graphic", function(obj, prev) { // Objects on the GM layer don't set off traps. if(obj.get("layer") === "objects") { var trap = getTrapCollision(obj); if(trap) { var gmnotes = trap.get('gmnotes'); gmnotes = decodeURIComponent(gmnotes); sendChat("Admiral Ackbar", "IT'S A TRAP!!! " + obj.get("name") + " should have been more careful; " + gmnotes); moveTokenToTrap(obj, trap); if(trap.get("status_bleeding-eye")) { trap.set("layer","map"); toBack(trap); } } } }); })(); I left Admiral Ackbar in there as my players love the reference... but that being said it tended to fail with it removed for some reason lol. Don't forget to have vectormath and tokencollision installed too. In terms of other scripts (i run a long term 3.5 campaign) i use a whole bunch for different reasons: Blood and honour - for extra fun blood drenched map times The script to mark units as dead automatically (modded to also remove them from the turn order) Powercards (the mother of all macro outputters (i have literally 300+ powercards prepared, everything from spells to attacks to saves etc) A script that allows the automation of doors (allowing players to interact with the map for opening doors, chests etc as well as picking locks, searching for traps. TokenMod, for all those times when doing things manually is just too much work! Ammo, a script for managing ammunition Teleporter for quickly moving tokens around large maps (between floors, random portal puzzles etc) art asset locker, for locking annoying art assets in place notelog to make notes on the fly in campaign tokennumbering for automatically numbering mooks A script to randomly rotate graphics for the quick randomisation of graphics (instead of having all those trees look identical) A script that allows me to set tokens as carrying one another, i use a slightly modded version of this for mounting/unmounting GroupInitiative for quickly adding mook initiatives in large encounters and TurnMarker for automatically tracking turns There are probably more i'll add over time as well... as soon as Aaron finishes CharacterMod for example!