Mercenaires : PNJ d invocation de playerbots payants

Le Portail d Invocation de Mercenaire (creature 1000010) loue au joueur la
compagnie d un playerbot contre 100 pieces d or, dans le role achete (tank,
soigneur ou combattant) et au niveau de son employeur.

Le contrat est volontairement fragile : quitter le groupe, dissoudre le groupe,
expulser le mercenaire ou se deconnecter le renvoie hors du monde sur-le-champ,
et l invocation suivante se repaie. Un filet de securite dans Update() rattrape
les ruptures que les hooks n auraient pas vues.

Aucun fichier du core n est modifie : tout passe par GroupScript::OnRemoveMember
et OnDisband, PlayerScript::OnLogout et WorldScript. Seul ajout exterieur, un
accesseur CapitalSiegeMgr::IsAccountEngaged() pour ne pas debaucher un bot deja
enrole dans l assaut quotidien.

Plafond a quatre mercenaires : un groupe compte cinq places, employeur inclus.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
SylvaniaCore deploy
2026-08-15 23:53:15 +02:00
parent a5fb052b89
commit 47e707e8d6
6 changed files with 977 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
-- SylvaniaCore - Module "Mercenaires"
-- Base : dc_world
--
-- Le Portail d Invocation de Mercenaire. Rang « boss » pour le contour dore,
-- faction 35 (amical avec tout le monde) et unit_flags 770 pour qu il ne puisse
-- ni etre attaque ni entrer en combat : c est un decor qui parle.
--
-- Le PNJ n est PAS spawne par ce fichier : il se pose en jeu avec
-- .npc add 1000010
DELETE FROM `creature_template` WHERE `entry` = 1000010;
INSERT INTO `creature_template`
(`entry`, `modelid1`, `name`, `subname`, `gossip_menu_id`, `minlevel`, `maxlevel`,
`HealthScalingExpansion`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`,
`rank`, `unit_class`, `unit_flags`, `type`, `RegenHealth`, `flags_extra`,
`AIName`, `MovementType`, `InhabitType`, `HealthModifier`, `ManaModifier`,
`ArmorModifier`, `DamageModifier`, `ExperienceModifier`, `ScriptName`)
VALUES
(1000010, 74465, "Portail d'Invocation de Mercenaire", 'Compagnie franche de Sylvania', 0, 110, 110,
6, 35, 1, 1, 1.14286, 1,
3, 1, 770, 10, 1, 2,
'', 0, 3, 1, 1,
1, 1, 1, 'npc_mercenary_portal');