Late to the party here, but that's always been possible. If load-order is controlled, you can just overwrite the function directly by using a different scope modifier - i.e. sub qstxxxsomescope::sub_whisper. Furthermore, since pretty much everything in Perl is a higher order function, you can make a function or even a closure to pass to another function... this would allow you to, for example, alter a quest on the fly for any mob in the game. You could use this to do stuff like have a central quest giver who assigns dynamic and random tasks - i.e., go talk to this guy or that guy while modifying the target's scripts all on the fly, etc. You can modify the behavior of every mob in the zone using these overrides in as little as one command.
|