Page 1 of 1

Aide Script

Posted: 17 Mar 2010, 16:27
by Deaperblue
Bonjour,
J'ai rencontré pas mal de problème de résistes sur le sort de charme du ménestrel, donc plutôt que de râler je suis aller jeter un œil dans le svn, et effectivement pas mal de travail a été fait de ce coté depuis la rev 700.

Est ce que quelqu'un saurai exactement sur qu'elle rev c'est arrêté le serveur (700+) que je regarde un peux le travail qu'il faut faire pour éviter les résistes à répétition.

Merci :)

ps: ci-dessous la formule de calcul du pulse charm en rev 700, le commentaire parle de lui même :roll:

Code: Select all

int diffLevel = ((GamePlayer)Caster).GetModifiedSpecLevel(m_spellLine.Spec) - target.Level;
int resistChance = 30 - diffLevel * 5; // completly guessed ...

Re: Aide Script

Posted: 17 Mar 2010, 19:24
by Celinas
Ca c'est arreter dans les premières version de dol , mis a jour par Sorsha (comme beaucoup d'autre sort et style d'ailleurs) jamais up sur le serve live par manque de temps faudrai qu'il passe par la et te donne la réponse ^^

Re: Aide Script

Posted: 17 Mar 2010, 19:43
by Maasto
Il y a ce topic qui traite du sujet.

Ca serait en effet dans les révisions 700 que le chemin d'Amtenaël se serait séparé de celui de dol.

Re: Aide Script

Posted: 17 Mar 2010, 21:50
by Celinas
Ah bah la réponse y est , merci maasto > La plupart des modifications sont minime et accessible avec la base de donnée de dol ainsi que les sources de dol (révision 800 environ de leur svn, on ne le récupère plus depuis déjà un bon moment). Il suffit de m'envoyer vos modifications, je les met sur Amtenael après une petite vérification.

Re: Aide Script

Posted: 18 Mar 2010, 10:14
by Deaperblue
Ok voici les modifs pour CharmSpellHandler.cs :)


Avant:

Code: Select all

if (Caster is GamePlayer)
{
	/*
	 * The Minstrel/Mentalist has an almost certain chance to charm/retain control of 
	 * a creature his level or lower, although there is a small random chance that it
	 * could fail. The higher the level of the charmed creature compared to the 
	 * Minstrel/Mentalist, the greater the chance the monster has of breaking the charm.
	 * Please note that your specialization level in the magic skill that contains the
	 * charm spell will modify your base chance of charming and retaining control.
	 * The higher your spec level, the greater your chance of controlling.
	 */
	int diffLevel = ((GamePlayer)Caster).GetModifiedSpecLevel(m_spellLine.Spec) - target.Level;
	int resistChance = 30 - diffLevel * 5; // completly guessed ...
	if (resistChance < 5) resistChance = 5;

	if (Util.Chance(resistChance))
	{
		MessageToCaster(target.GetName(0, true) + " resists the charm!", eChatType.CT_SpellResisted);
		return;
	}
}
Après:

Code: Select all

if (Caster is GamePlayer)
{
	int resistChance = 100 - (85 + ((Caster.Level - target.Level) / 2));

	if (this.Spell.Pulse > 0) // not permanent
	{
		/*
		 * The Minstrel/Mentalist has an almost certain chance to charm/retain control of 
		 * a creature his level or lower, although there is a small random chance that it
		 * could fail. The higher the level of the charmed creature compared to the 
		 * Minstrel/Mentalist, the greater the chance the monster has of breaking the charm.
		 * Please note that your specialization level in the magic skill that contains the
		 * charm spell will modify your base chance of charming and retaining control.
		 * The higher your spec level, the greater your chance of controlling.
		 */
		int diffLevel = (int)(Caster.Level / 1.5 + Caster.GetModifiedSpecLevel(m_spellLine.Spec) / 3) - target.Level;

		if (diffLevel >= 0)
		{
			resistChance = 10 - diffLevel * 3;
			resistChance = Math.Max(resistChance, 1);
		}
		else
		{
			resistChance = 10 + diffLevel * diffLevel * 3;
			resistChance = Math.Min(resistChance, 99);
		}

	}

	if (Util.Chance(resistChance))
	{
		MessageToCaster(target.GetName(0, true) + " resists the charm!", eChatType.CT_SpellResisted);
		return;
	}
}

Toutes les variables et fonctions de classe existent, reste à tester en Live mais je ne pense pas qu'il y ai beaucoup de risque de régression. (le code provient de la Rev 2203)
Pour info, la dernière modif sur la résistance au charme date de la rev 2154.

Je suis disponible si tu as besoin de quelqu'un pour faire des tests.
Merci,

Re: Aide Script

Posted: 18 Mar 2010, 11:12
by Nep
Salut

Je te conseil de t'adresser directement à Dre par mail:

dre@amtenael.com

Re: Aide Script

Posted: 23 Mar 2010, 16:59
by Deaperblue
Testé hier, moins de résistes sur les lézards de gotar :)
Merci, sujet a clore.

Re: Aide Script

Posted: 04 Apr 2010, 14:42
by Nep
2010-03-18

Code: Select all

Changement par Deaperblue :
- Calcul des resistances