void LuaNPCScript::useNPC(Character *user, unsigned char ltastate) {
    character_ptr fuse_thisnpc(_thisnpc);
    character_ptr fuse_user(user);
    callEntrypoint("useNPC", fuse_thisnpc, fuse_user, ltastate);
}
void LuaNPCScript::characterNear(Character *enemy) {
    character_ptr fuse_thisnpc(_thisnpc);
    character_ptr fuse_enemy(enemy);
    callEntrypoint("characterNear", fuse_thisnpc, fuse_enemy);
}
void LuaMonsterScript::onAttack(Character *Monster, Character *target) {
    character_ptr fuse_Monster(Monster);
    character_ptr fuse_target(target);
    callEntrypoint("onAttack", fuse_Monster, fuse_target);
}
void LuaMagicScript::CastMagic(Character *caster, unsigned char ltastate) {
    character_ptr fuse_caster(caster);
    callEntrypoint("CastMagic", fuse_caster, ltastate);
}
void LuaMonsterScript::receiveText(Character *Monster, Character::talk_type tt, const std::string &message, Character *cc) {
    character_ptr fuse_Monster(Monster);
    character_ptr fuse_cc(cc);
    callEntrypoint("receiveText", fuse_Monster, (int)tt, message, fuse_cc);
}
void LuaMonsterScript::onCasted(Character *Monster, Character *caster) {
    character_ptr fuse_Monster(Monster);
    character_ptr fuse_caster(caster);
    callEntrypoint("onCasted", fuse_Monster, fuse_caster);
}
void LuaTriggerScript::PutItemOnField(const ScriptItem &item, Character *character) {
    character_ptr fuse_character(character);
    callEntrypoint("PutItemOnField", item, fuse_character);
}
void LuaMonsterScript::onDeath(Character *Monster) {
    character_ptr fuse_Monster(Monster);
    callEntrypoint("onDeath", fuse_Monster);
}
void LuaTriggerScript::ItemRotsOnField(const ScriptItem &oldItem, const ScriptItem &newItem) {
    callEntrypoint("ItemRotsOnField", oldItem, newItem);
}
void LuaTriggerScript::MoveToField(Character *character) {
    character_ptr fuse_character(character);
    callEntrypoint("MoveToField", fuse_character);
}
void LuaMagicScript::CastMagicOnItem(Character *caster, const ScriptItem &TargetItem, unsigned char ltastate) {
    character_ptr fuse_caster(caster);
    callEntrypoint("CastMagicOnItem", fuse_caster, TargetItem, ltastate);
}
void LuaMagicScript::CastMagicOnField(Character *caster, const position &pos, unsigned char ltastate) {
    character_ptr fuse_caster(caster);
    callEntrypoint("CastMagicOnField", fuse_caster, pos, ltastate);
}
void LuaMagicScript::CastMagicOnCharacter(Character *caster, Character *target, unsigned char ltastate) {
    character_ptr fuse_caster(caster);
    character_ptr fuse_target(target);
    callEntrypoint("CastMagicOnCharacter", fuse_caster, fuse_target, ltastate);
}
void LuaNPCScript::abortRoute() {
    character_ptr fuse_thisnpc(_thisnpc);
    callEntrypoint("abortRoute", fuse_thisnpc);
}
void LuaTriggerScript::TakeItemFromField(const ScriptItem &item, Character *character) {
    character_ptr fuse_Character(character);
    callEntrypoint("TakeItemFromField", item, fuse_Character);
}
void LuaNPCScript::beforeReload() {
    character_ptr fuse_thisnpc(_thisnpc);
    callEntrypoint("beforeReload", fuse_thisnpc);
}
void LuaReloadScript::onReload() {
    callEntrypoint("onReload");
}
void LuaMonsterScript::lookAtMonster(Character *source, Character *target, unsigned char mode) {
    character_ptr fuse_source(source);
    character_ptr fuse_target(target);
    callEntrypoint("lookAtMonster", fuse_source, fuse_target, mode);
}
void LuaNPCScript::nextCycle() {
    character_ptr fuse_thisnpc(_thisnpc);
    callEntrypoint("nextCycle", fuse_thisnpc);
}
void LuaMonsterScript::onAttacked(Character *Monster, Character *attacker) {
    character_ptr fuse_Monster(Monster);
    character_ptr fuse_attacker(attacker);
    callEntrypoint("onAttacked", fuse_Monster, fuse_attacker);
}
void LuaNPCScript::lookAtNpc(Character *source, unsigned char mode) {
    character_ptr fuse_thisnpc(_thisnpc);
    character_ptr fuse_source(source);
    callEntrypoint("lookAtNpc", fuse_thisnpc, fuse_source, mode);
}
void LuaMonsterScript::useMonster(Character *Monster, Character *user, unsigned char ltastate) {
    character_ptr fuse_Monster(Monster);
    character_ptr fuse_user(user);
    callEntrypoint("useMonster", fuse_Monster, fuse_user, ltastate);
}
void LuaNPCScript::receiveText(Character::talk_type tt, const std::string &message, Character *cc) {
    character_ptr fuse_thisnpc(_thisnpc);
    character_ptr fuse_cc(cc);
    callEntrypoint("receiveText", fuse_thisnpc, (int)tt, message, fuse_cc);
}
void LuaMonsterScript::abortRoute(Character *Monster) {
    character_ptr fuse_Monster(Monster);
    callEntrypoint("abortRoute", fuse_Monster);
}
void LuaLongTimeEffectScript::removeEffect(LongTimeEffect *effect, Character *target) {
    fuse_ptr<Character> fuse_target(target);
    callEntrypoint("removeEffect", effect, fuse_target);
}