diff --git a/Perl-API.md b/Perl-API.md index a1352ac..745d39f 100644 --- a/Perl-API.md +++ b/Perl-API.md @@ -905,89 +905,76 @@ TeleportRaid(sender, zoneID, x, y, z, heading) * Important Note! Most of the $mob objects also work when used with $client ```perl -$mob->AddFeignMemory(attacker) -$mob->AddToHateList(other, hate, damage, iYellForHelp, bFrenzy, iBuffTic) -$mob->Attack(other, Hand, FromRiposte) -$mob->BehindMob(other, playerx, playery) +$mob->AddFeignMemory(client* attacker) +$mob->BehindMob(mob* other = 0, [float x = 0.0f], [float y= 0.0f]) $mob->BuffFadeAll() -$mob->BuffFadeByEffect(effectid, skipslot) -$mob->BuffFadeBySlot(slot, iRecalcBonuses) -$mob->BuffFadeBySpellID(spell_id) -$mob->CalculateDistance(x, y, z) -$mob->CalculateHeadingToTarget(in_x, in_y) -$mob->CalculateNewPosition(x, y, z, speed, checkZ) -$mob->CalculateNewPosition2(x, y, z, speed, checkZ) -$mob->CameraEffect(duration, intensity, singleclient, serverwide) -$mob->CanBuffStack(spellid, caster_level, iFailIfOverwrite) -$mob->CanClassEquipItem(item_id) +$mob->BuffFadeByEffect(int effect_id, int skip_slot = -1) +$mob->BuffFadeBySlot(int slot, bool recalc_bonuses = true) +$mob->BuffFadeBySpellID(uint16 spell_id) +$mob->CalculateDistance(float x, float y, float z) +$mob->CalculateHeadingToTarget(float x, float y) +$mob->CanClassEquipItem(uint32 item_id) $mob->CanThisClassDodge() $mob->CanThisClassDoubleAttack() $mob->CanThisClassDualWield() $mob->CanThisClassParry() $mob->CanThisClassRiposte() -$mob->CastSpell(spell_id, target_id, slot, casttime, mana_cost, resist_adjust) $mob->CastToClient() $mob->CastToCorpse() $mob->CastToMob() $mob->CastToNPC() $mob->CastingSpellID() -$mob->ChangeSize(in_size, bNoRestriction) +$mob->ChangeSize(float in_size, [bool no_restriction = false]) $mob->Charmed() -$mob->CheckAggro(other) -$mob->CheckAggroAmount(spellid) -$mob->CheckHealAggroAmount(spellid) -$mob->CheckLoS(other) -$mob->CheckLoSToLoc(x, y, z, mob_size) +$mob->CheckAggro(mob* other) +$mob->CheckAggroAmount(uint16 spell_id) +$mob->CheckHealAggroAmount(uint16 spell_id, uint32 possible_heal_amt) +$mob->CheckLoS(mob*) +$mob->CheckLoSToLoc(float x, float y, float z, float mob_size) $mob->ClearFeignMemory() $mob->ClearSpecialAbilities() -$mob->CombatRange() -$mob->Damage(from, damage, spell_id, attack_skill, avoidable, buffslot, iBuffTic) -$mob->DelGlobal(varname) -$mob->Depop(StartSpawnTimer) +$mob->CombatRange(mob* target) +$mob->Depop(startspawntimer = true) $mob->DivineAura() -$mob->DoAnim(animnum, type=1) -$mob->DoArcheryAttackDmg() -$mob->DoKnockback(caster, pushback, pushup)  # $client->DoKnockback($npc, 10, 7) would appear that the NPC knocked the client back -$mob->DoMeleeSkillAttackDmg() -$mob->DoSpecialAttackDamage(target, skill, max_damage, min_damage, hate_override) -$mob->DoThrowingAttackDmg() +$mob->DoAnim(int animation_number, [int type = 0]) +$mob->DoKnockback(mob* caster, uint32 push_back_amount, uint32 push_up_amount) $mob->DontBuffMeBefore() $mob->DontDotMeBefore() $mob->DontHealMeBefore() $mob->DontRootMeBefore() $mob->DontSnareMeBefore() -$mob->Emote(format, ...) -$mob->EntityVariableExists() -$mob->FaceTarget(MobToFace, update) -$mob->FindBuff(spellid) -$mob->FindGroundZ(x, y, z_offset) -$mob->FindType(type, bOffensive, threshold) -$mob->GMMove(x, y, z, heading) +$mob->DoubleAggro(mob* other) +$mob->Emote(string message) +$mob->EntityVariableExists(string id) +$mob->FaceTarget([mob* target = 0]) +$mob->FindBuff(uint16 spell_id) +$mob->FindGroundZ(float x, float y, float z_offset) +$mob->FindType(uint8 type, [bool offensive = false], [uint16 threshold = 100]) +$mob->GMMove(float x, float y, float z, [float heading = 0.01]) $mob->Gate() -$mob->GetAA(aa_id) +$mob->GetAA(uint32 rank_id) +$mob->GetAAByAAID(uint32 aa_id) $mob->GetAC() -$mob->GetAccuracyRating() -$mob->GetAvoidanceRating() $mob->GetAGI() $mob->GetATK() -$mob->GetAttackDelay() -$mob->GetActSpellCasttime(spell_id, casttime) -$mob->GetActSpellCost(spell_id, cost) -$mob->GetActSpellDamage(spell_id, value) -$mob->GetActSpellDuration(spell_id, duration) -$mob->GetActSpellHealing(spell_id, value) -$mob->GetActSpellRange(spell_id, range) +$mob->GetActSpellCasttime(uint16 spell_id, uint32 cast_time) +$mob->GetActSpellCost(uint16 spell_id, int32 cost) +$mob->GetActSpellDamage(uint16 spell_id, int32 value) +$mob->GetActSpellDuration(uint16 spell_id, int32 duration) +$mob->GetActSpellHealing(uint16 spell_id, int32 value) +$mob->GetActSpellRange(uint16 spell_id, float range) $mob->GetAggroRange() $mob->GetAllowBeneficial() $mob->GetAppearance() -$mob->GetArmorTint(material_slot) +$mob->GetArmorTint(uint8 material_slot) $mob->GetAssistRange() $mob->GetBaseGender() $mob->GetBaseRace() +$mob->GetBaseSize() $mob->GetBeard() $mob->GetBeardColor() $mob->GetBodyType() -$mob->GetBuffSlotFromType(type) +$mob->GetBuffSlotFromType(uint16 type) $mob->GetCHA() $mob->GetCR() $mob->GetCasterLevel(spell_id) @@ -997,42 +984,44 @@ $mob->GetCleanName() $mob->GetCorruption() $mob->GetDEX() $mob->GetDR() -$mob->GetDamageAmount(tmob) +$mob->GetDamageAmount(mob* target_mob) $mob->GetDeity() $mob->GetDrakkinDetails() $mob->GetDrakkinHeritage() $mob->GetDrakkinTattoo() -$mob->GetEntityVariable() -$mob->GetEquipment(material_slot) -$mob->GetEquipmentColor(material_slot) -$mob->GetEquipmentMaterial(material_slot) +$mob->GetEntityVariable(string id) +$mob->GetEquipment(uint8 material_slot) +$mob->GetEquipmentColor(uint8 material_slot) +$mob->GetEquipmentMaterial(uint8 material_slot) $mob->GetEyeColor1() $mob->GetEyeColor2() $mob->GetFR() $mob->GetFlurryChance() $mob->GetFollowID() $mob->GetGender() -$mob->GetGlobal(varname) $mob->GetHP() $mob->GetHPRatio() $mob->GetHairColor() $mob->GetHairStyle() +$mob->GetHandToHandDamage() +$mob->GetHandToHandDelay() $mob->GetHaste() -$mob->GetHateAmount(tmob, is_dam) -$mob->GetHateDamageTop(other) +$mob->GetHateAmount(mob* mob, [bool is_damage = false]) +$mob->GetHateDamageTop(mob* other) $mob->GetHateList() $mob->GetHateRandom() $mob->GetHateTop() $mob->GetHeading() $mob->GetHelmTexture() +$mob->GetHerosForgeModel(uint8 material_slot) $mob->GetID() $mob->GetINT() $mob->GetInvul() $mob->GetItemHPBonuses() -$mob->GetItemStat(itemid, stat) +$mob->GetItemStat(uint32 item_id, string stat) $mob->GetLevel() -$mob->GetLevelCon(iOtherLevel) -$mob->GetLevelHP(tlevel) +$mob->GetLevelCon(uint8 other_level) +$mob->GetLevelHP(uint8 level) $mob->GetLuclinFace() $mob->GetMR() $mob->GetMana() @@ -1046,33 +1035,37 @@ $mob->GetMaxMana() $mob->GetMaxSTA() $mob->GetMaxSTR() $mob->GetMaxWIS() -$mob->GetModSkillDmgTaken() -$mob->GetModVulnerability() -$mob->GetMonkHandToHandDamage() -$mob->GetMonkHandToHandDelay() +$mob->GetMeleeMitigation() +$mob->GetModSkillDmgTaken(int skill_id) +$mob->GetModVulnerability(uint8 resist) $mob->GetNPCTypeID() $mob->GetName() +$mob->GetNimbusEffect1() +$mob->GetNimbusEffect2() +$mob->GetNimbusEffect3() $mob->GetOwnerID() $mob->GetPR() $mob->GetPetID() $mob->GetPetOrder() $mob->GetPetType() +$mob->GetPhR() $mob->GetRace() $mob->GetResist(type) -$mob->GetReverseFactionCon(iOther) +$mob->GetReverseFactionCon(iother) $mob->GetRunAnimSpeed() $mob->GetRunspeed() $mob->GetSTA() $mob->GetSTR() $mob->GetShieldTarget() $mob->GetSize() -$mob->GetSkill(skill_num) -$mob->GetSkillDmgTaken() -$mob->GetSpecialAbility(special_ability) -$mob->GetSpecialAbilityParam(special_ability, param) -$mob->GetSpecializeSkillValue(spell_id) +$mob->GetSkill(int skill_id) +$mob->GetSkillDmgTaken(int skill_id) +$mob->GetSpecialAbility(int special_ability) +$mob->GetSpecialAbilityParam(int special_ability, int param) +$mob->GetSpecializeSkillValue(uint16 spell_id) $mob->GetSpellHPBonuses() -$mob->GetSpellStat(spell_id, identifier, slot) # Slot is optional. +$mob->GetSpellIDFromSlot(slot) +$mob->GetSpellStat(uint32 spell_id, string stat, uint8 slot) $mob->GetTarget() $mob->GetTexture() $mob->GetWIS() @@ -1088,23 +1081,33 @@ $mob->GetY() $mob->GetZ() $mob->GetZoneID() $mob->GoToBind() -$mob->HasNPCSpecialAtk() +$mob->HalveAggro(mob* other) +$mob->HasNPCSpecialAtk(string ability_string) +$mob->HasOwner() +$mob->HasPet() $mob->HasProcs() +$mob->HasShieldEquiped() +$mob->HasTwoHandBluntEquiped() +$mob->HasTwoHanderEquipped() $mob->HateSummon() $mob->Heal() -$mob->HealDamage(amount[, caster]) -$mob->InterruptSpell(spellid) +$mob->HealDamage(int32 amount, [mob* caster = 0]) +$mob->InterruptSpell([uint16 spell_id = 0xffff]) $mob->IsAIControlled() +$mob->IsAmnesiad() $mob->IsBeacon() -$mob->IsBeneficialAllowed() +$mob->IsBeneficialAllowed(mob* target) +$mob->IsBlind() $mob->IsCasting() $mob->IsClient() $mob->IsCorpse() $mob->IsDoor() +$mob->IsEliteMaterialItem(uint8 material_slot) $mob->IsEngaged() $mob->IsEnraged() -$mob->IsImmuneToSpell(spell_id, caster) -$mob->IsInvisible(other) +$mob->IsFeared() +$mob->IsImmuneToSpell(uint16 spell_id, [mob* caster = nullptr]) +$mob->IsInvisible([mob* other = 0]) $mob->IsMeleeDisabled() $mob->IsMezzed() $mob->IsMob() @@ -1112,88 +1115,83 @@ $mob->IsMoving() $mob->IsNPC() $mob->IsNPCCorpse() $mob->IsObject() +$mob->IsPet() $mob->IsPlayerCorpse() $mob->IsRoamer() $mob->IsRooted() $mob->IsRunning() +$mob->IsSilenced() $mob->IsStunned() +$mob->IsTargetable() $mob->IsTargeted() $mob->IsTrap() $mob->IsWarriorClass() $mob->Kill() -$mob->MakePet(spell_id, pettype, name) -$mob->MakeTempPet(spell_id, name, duration, target, sticktarg?) +$mob->MakePet(uint16 spell_id, string pet_type, [string name = nullptr]) $mob->Mesmerize() -$mob->Message(type, message) -$mob->Message_StringID(type, string_id, distance) -$mob->ModSkillDmgTaken() -$mob->ModVulnerability() -$mob->NPCSpecialAttacks(parse, permtag, reset, remove) -$mob->ProcessSpecialAbilities(str) -$mob->ProjectileAnim(mob, item_id, IsArrow, speed, angle, tilt, arc) -$mob->QuestReward(client, silver, gold, platinum) -$mob->RangedAttack() -$mob->RemoveFromFeignMemory(attacker) -$mob->RemoveNimbusEffect(effectid) -$mob->ResistSpell(resist_type, spell_id, caster) +$mob->Message(uint32 emote_color_type, string message) +$mob->ModSkillDmgTaken(int skill, int16 value) +$mob->ModVulnerability(uint8 resist, int16 value) +$mob->ProcessSpecialAbilities(string str) +$mob->RangedAttack(mob* other) +$mob->RemoveFromFeignMemory(client* attacker) +$mob->RemoveNimbusEffect(int32 effect_id) +$mob->ResistSpell(uint8 resist_type, uint16 spell_id, [mob* caster = nullptr]) $mob->RogueAssassinate(other) -$mob->Say(format, language_id) -$mob->SendAppearanceEffect(effect1, effect2, effect3, effect4, effect5, specificclient) -$mob->SendIllusion(race, gender, texture, helmtexture, face, hairstyle, haircolor, beard, beardcolor, drakkin_heritage, drakkin_tattoo, $mob->drakkin_details, size) -$mob->SendPosUpdate(iSendToSelf) +$mob->Say(string message) +$mob->SeeHide() +$mob->SeeImprovedHide() +$mob->SeeInvisible() +$mob->SeeInvisibleUndead() +$mob->SendPosUpdate([uint8 send_to_self = 0]) $mob->SendPosition() -$mob->SendTo(new_x, new_y, new_z) -$mob->SendToFixZ(new_x, new_y, new_z) -$mob->SendWearChange(material_slot) -$mob->SetAllowBeneficial() -$mob->SetAppearance(app, iIgnoreSelf) -$mob->SetBodyType(type, overwrite_orig?) +$mob->SendTo(float new_x, float new_y, float new_z) +$mob->SendToFixZ(float new_x, float new_y, float new_z) +$mob->SendWearChange(uint8 material_slot) +$mob->SetAA(int aa_id, int points, [int charges = 0]) +$mob->SetAllowBeneficial(bool value) +$mob->SetAppearance(int appearance [0|1|2|3|4], [ignore_self = true]) +$mob->SetBodyType(int32 type, [bool overwrite_orig = false]) $mob->SetCurrentWP(waypoint) -$mob->SetDeltas(delta_x, delta_y, delta_z, delta_h) -$mob->SetDisableMelee() -$mob->SetEntityVariable(id_num, var) -$mob->SetExtraHaste(Haste) -$mob->SetFlurryChance() -$mob->SetFlyMode(0|1|2|3) +$mob->SetDeltas(float delta_x, float delta_y, float delta_z, float delta_h) +$mob->SetDisableMelee(bool value) +$mob->SetEntityVariable(string id, string var) +$mob->SetExtraHaste(int haste) +$mob->SetFlurryChance(uint8 value) +$mob->SetFlyMode(uint8 flymode[0|1|2|3]) $mob->SetFollowID(id) -$mob->SetGender(gender) -$mob->SetGlobal(varname, newvalue, options, duration, other) -$mob->SetHP(hp) -$mob->SetHate(other, hate, damage) -$mob->SetHeading(iHeading) -$mob->SetInvisible(state) -$mob->SetInvul(invul) -$mob->SetLD(value) -$mob->SetLevel(in_level, command) +$mob->SetGender(int32 gender) +$mob->SetHP(int32 hp) +$mob->SetHate(mob* other, [int32 hate = 0], [int32 damage = 0]) +$mob->SetHeading(float heading) +$mob->SetInvisible(uint8 state) +$mob->SetInvul(bool set_invulnerable) +$mob->SetLD(bool value) +$mob->SetLevel(uint8 in_level, [bool command = false]) $mob->SetMana(amount) $mob->SetMaxHP() -$mob->SetOOCRegen() -$mob->SetOwnerID(NewOwnerID) -$mob->SetPetID(NewPetID) +$mob->SetOOCRegen(int32 new_ooc_regen) +$mob->SetOwnerID(uint16 new_owner_id) +$mob->SetPetID(uint16 new_pet_id) $mob->SetPetOrder(i) -$mob->SetRace(race) -$mob->SetRunAnimSpeed(in) -$mob->SetRunning() +$mob->SetRace(int32 race) +$mob->SetRunAnimSpeed(int8 speed) +$mob->SetRunning(bool value) $mob->SetShieldTarget(mob) -$mob->SetSlotTint(material_slot, red_tint, green_tint, blue_tint) -$mob->SetSpecialAbility(ability, value) -$mob->SetSpecialAbilityParam(ability, param, value) +$mob->SetSpecialAbility(int ability, int value) +$mob->SetSpecialAbilityParam(int ability, int param, int value) $mob->SetTarget(mob) -$mob->SetTargetDestSteps(target_steps) -$mob->SetTargetable(targetable) -$mob->SetTexture(texture) -$mob->Shout(format, ...) -$mob->SignalClient(client, data) -$mob->SpellEffect(effect, duration, finish_delay, zone_wide, unk20, perm_effect, client) # duration, finish_delay, zone_wide, unk20, $mob->perm_effect, and client are Optional. -$mob->SpellFinished(spell_id, spell_target, mana_cost) +$mob->SetTargetDestSteps(uint8 target_steps) +$mob->SetTargetable(bool targetable) +$mob->SetTexture(int32 texture) +$mob->Shout(string message) +$mob->SignalClient(client* client, uint32 data) $mob->Spin() $mob->StartEnrage() -$mob->Stun(duration) # in whole seconds -$mob->TarGlobal(varname, value, duration, npcid, charid, zoneid) -$mob->TempName(name) -$mob->ThrowingAttack() -$mob->TypesTempPet(typesid, name, duration, follow, target, sticktarg); -$mob->WearChange(material_slot, texture, color) +$mob->Stun(int duration) +$mob->TempName(string name) +$mob->ThrowingAttack(mob* other) +$mob->TryMoveAlong(float distance, float angle, bool send) $mob->WipeHateList() ```