inf <infTarget> <infType>Which modifies two variables, setting infTarget to @infTarget and infType to @infType. The infType variable can be cha, sed, emp, weak, and para, for the five different influence types. The alias also calls a function, named influenceTables:
if (get_variable("infType").localCompare("cha") == 0) { if (hasSkill.influence.includes('Wheedling')) influenceArray = ["Wheedling","Supplication","Begging"]; else if (client.hasSkill.influence.includes('Supplication')) influenceArray = ["Supplication","Begging"]; else influenceArray = ["Begging"] } else if (get_variable("infType").localeCompare("sed") == 0) { if (client.hasSkill.influence.includes('Beguiling')) influenceArray = ["Beguiling","Flattery","Charm"]; else if (client.hasSkill.influence.includes('Charm')) influenceArray = ["Flattery","Charm"]; else if (client.hasSkill.influence.includes("Flattery")) influenceArray = ["Flattery"] } else if (get_variable("infType").localeCompare("emp") == 0) { if (client.hasSkill.influence.includes('Praise')) influenceArray = ["Praise","Admiration","Compliments"]; else if (client.hasSkill.influence.includes('Admiration')) influenceArray = ["Admiration","Compliments"]; else if (client.hasSkill.influence.includes("Compliments")) influenceArray = ["Compliments"] } else if (get_variable("infType").localeCompare("weak") == 0) { if (client.hasSkill.influence.includes('Derision')) influenceArray = ["Derision","Mockery","Teasing"]; else if (client.hasSkill.influence.includes('Mockery')) influenceArray = ["Mockery","Teasing"]; else if (client.hasSkill.influence.includes("Teasing")) influenceArray = ["Teasing"] } else if (get_variable("infType").localeCompare("para") == 0) { if (client.hasSkill.influence.includes('Conspiracies')) influenceArray = ["Conspiracies","Distrust","Rumours"]; else if (client.hasSkill.influence.includes('Distrust')) influenceArray = ["Distrust","Rumours"]; else if (client.hasSkill.influence.includes("Rumours")) influenceArray = ["Rumours"] }To influence something(once), there's another alias, inf, which only calls influencingFunction.
if (influenceArray.length > 0) { send_command("sm add influence " + get_variable("infTarget") + " with " + influenceArray[0],1) influenceArray.push(influenceArray.shift()) } else send_command("echo No abilities to influence with!")There's some other things that can be added. I have an alias infon that calls the influencingFunction and also sets a variable "influencing" to true, and another, infoff, which sets it to false. If it's on, it'll trigger on equilibrium to call influencingFunction again. If there's no mobs left in the room to influence(triggered on various 'he's not listening to you' lines), the variable is set to false. InfluencingFunction cycles through all the commands in the influenceArray, moving the first one to the end each time it's used.
if (get_variable("city").localeCompare("Glomdoring") == 0) { if (hasSkill.influence.includes('Trickery')) influenceArray = ["Trickery","Intrigue","Manipulation"]; else if (client.hasSkill.influence.includes('Intrigue')) influenceArray = ["Intrigue","Manipulation"]; else if (client.hasSkill.influence.includes('Manipulation')) influenceArray = ["Manipulation"] }except that I'm having trouble setting the variable "city" using gmcp the way I want. The functions are dependent on these scripts: https://forums.lusternia.com/discussion/4023/nexus-scripts-class-skills#latest