Log in

View Full Version : Using Perl to randomize npc_spell list.


BasketCase209
10-18-2015, 07:11 PM
I like to use scripts to randomize npcs so I can use less spots in the npc_types tree. I was combing through the perl reference page (http://wiki.eqemulator.org/p?Ultimate_Perl_Reference&frm=Main) looking for how to assign a spell set to an npc. What I was hoping to do is create a generic npc, assign a random race, then depending on the race that is generated to then have the script select a class and the corresponding spell set that goes along with that particular class.
I know how to select a random race and even a npc_faction ID but not how to assign a class or a spell set. I can't seem to find how to do so on the reference page. I was hoping someone could shine some light on this issue.

Much appreciated. =)

ghanja
10-18-2015, 09:01 PM
$npc->AddAISpell();
$npc->RemoveAISpell();


Look into those functions.

BasketCase209
10-19-2015, 12:01 PM
I saw that on the reference page but I decided it wouldn't work because that would only add one spell instead of assigning an npc_spells id.
I was hoping to find a command that would assign a random spell set to the npc.
Thanks for the input, though.

NatedogEZ
10-19-2015, 01:07 PM
Pull down a new source you can now change spell list of an NPC with ModifyNPCStat

example...



sub EVENT_SPAWN {
$npc->ModifyNPCStat("npc_spells_id", 3); #Spawn with spellset 3
}

sub EVENT_SAY {
#test swapping spell lists
if($text =~/spells/i) {
my $new_list = substr($text, 7);
$npc->ModifyNPCStat("npc_spells_id", $new_list);
}
}