<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://t4ctech.hyperion-roleplay.com/index.php?action=history&amp;feed=atom&amp;title=Algorithme_%C3%A0_la_renaissance</id>
	<title>Algorithme à la renaissance - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://t4ctech.hyperion-roleplay.com/index.php?action=history&amp;feed=atom&amp;title=Algorithme_%C3%A0_la_renaissance"/>
	<link rel="alternate" type="text/html" href="https://t4ctech.hyperion-roleplay.com/index.php?title=Algorithme_%C3%A0_la_renaissance&amp;action=history"/>
	<updated>2026-07-10T05:46:43Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://t4ctech.hyperion-roleplay.com/index.php?title=Algorithme_%C3%A0_la_renaissance&amp;diff=46&amp;oldid=prev</id>
		<title>FunJp : Page créée avec « = Calcul à la renaissance = Sur cette page vous expose les algorithmes des calculs de points séraphin et statistique du personnage lors de la renaissance.  = Reverse pou... »</title>
		<link rel="alternate" type="text/html" href="https://t4ctech.hyperion-roleplay.com/index.php?title=Algorithme_%C3%A0_la_renaissance&amp;diff=46&amp;oldid=prev"/>
		<updated>2017-04-23T19:44:46Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « = Calcul à la renaissance = Sur cette page vous expose les algorithmes des calculs de points séraphin et statistique du personnage lors de la renaissance.  = Reverse pou... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Calcul à la renaissance =&lt;br /&gt;
Sur cette page vous expose les algorithmes des calculs de points séraphin et statistique du personnage lors de la renaissance.&lt;br /&gt;
&lt;br /&gt;
= Reverse pour les points séraphin =&lt;br /&gt;
Ici nous avons rechercher l&amp;#039;endroit ou le flag 30477 (0x76EF - Flag des points séraph) et calculer et modifier à la renaissance.&lt;br /&gt;
 .text:00448B80 ; void __cdecl RemortTo(class Unit *, unsigned long, unsigned long, unsigned long)&lt;br /&gt;
 .text:00448B80                 public ?RemortTo@@YAXPAVUnit@@KKK@Z&lt;br /&gt;
 .text:00448B80 ?RemortTo@@YAXPAVUnit@@KKK@Z proc near&lt;br /&gt;
 .text:00448B80&lt;br /&gt;
 ...&lt;br /&gt;
 .text:00448C52                 mov     edx, [esi]&lt;br /&gt;
 .text:00448C54                 lea     eax, [ebx+ebx+8] ; Le calcul ce trouve ici&lt;br /&gt;
 .text:00448C58                 push    eax&lt;br /&gt;
 .text:00448C59                 push    76EFh ; Flag a modifier&lt;br /&gt;
 .text:00448C5E                 mov     ecx, esi&lt;br /&gt;
 .text:00448C60                 call    dword ptr [edx+4] ; On appel la fonction de modification d&amp;#039;un flag&lt;br /&gt;
 .text:00448C63                 xor     edi, edi&lt;br /&gt;
 .text:00448C65&lt;br /&gt;
&lt;br /&gt;
= Reverse pour le calcule des statistiques =&lt;br /&gt;
Dans cette seconde partie, nous avons rechercher les informations concernant la distribution des statistiques à la renaissance.&lt;br /&gt;
 .text:00448DFF loc_448DFF:                             ; CODE XREF: RemortTo(Unit *,ulong,ulong,ulong)+112�j&lt;br /&gt;
 ...&lt;br /&gt;
 .text:00448EAA                 lea     edi, [ebx+ebx*4+14h] ; Le calcul ce trouve ici&lt;br /&gt;
 .text:00448EAE                 push    edi&lt;br /&gt;
 .text:00448EAF                 mov     ecx, esi&lt;br /&gt;
 .text:00448EB1                 call    ?SetINT@Unit@@QAEXG@Z ; Unit::SetINT(ushort)&lt;br /&gt;
 .text:00448EB6                 push    edi&lt;br /&gt;
 .text:00448EB7                 mov     ecx, esi&lt;br /&gt;
 .text:00448EB9                 call    ?SetEND@Unit@@QAEXG@Z ; Unit::SetEND(ushort)&lt;br /&gt;
 .text:00448EBE                 push    edi&lt;br /&gt;
 .text:00448EBF                 mov     ecx, esi&lt;br /&gt;
 .text:00448EC1                 call    ?SetSTR@Unit@@QAEXG@Z ; Unit::SetSTR(ushort)&lt;br /&gt;
 .text:00448EC6                 push    edi&lt;br /&gt;
 .text:00448EC7                 mov     ecx, esi&lt;br /&gt;
 .text:00448EC9                 call    ?SetAGI@Unit@@QAEXG@Z ; Unit::SetAGI(ushort)&lt;br /&gt;
 .text:00448ECE                 push    edi&lt;br /&gt;
 .text:00448ECF                 mov     ecx, esi&lt;br /&gt;
 .text:00448ED1                 call    ?SetWIS@Unit@@QAEXG@Z ; Unit::SetWIS(ushort)&lt;br /&gt;
 .text:00448ED6                 push    0Fh&lt;br /&gt;
 .text:00448ED8                 mov     ecx, esi&lt;br /&gt;
 .text:00448EDA                 call    ?SetATTACK@Unit@@QAEXG@Z ; Unit::SetATTACK(ushort)&lt;br /&gt;
 .text:00448EDF                 push    0Fh&lt;br /&gt;
 .text:00448EE1                 mov     ecx, esi&lt;br /&gt;
 .text:00448EE3                 call    ?SetDODGE@Unit@@QAEXG@Z ; Unit::SetDODGE(ushort)&lt;br /&gt;
 ...&lt;br /&gt;
 .text:00449021                 call    ??0Objects@@QAE@XZ ; Objects::Objects(void)&lt;br /&gt;
 .text:00449026                 mov     ebx, eax&lt;br /&gt;
 .text:00449028&lt;br /&gt;
&lt;br /&gt;
= Algorithme du calcul de la renaissance =&lt;br /&gt;
 #include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;
 #include &amp;lt;iostream&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 char *RebornArray[10] = {&lt;br /&gt;
     &amp;quot;first&amp;quot;, &amp;quot;second&amp;quot;, &amp;quot;third&amp;quot; , &amp;quot;fourth&amp;quot;, &amp;quot;fifth&amp;quot;,&lt;br /&gt;
     &amp;quot;sixth&amp;quot;, &amp;quot;seventh&amp;quot;, &amp;quot;eighth&amp;quot;, &amp;quot;ninth&amp;quot;, &amp;quot;th&amp;quot;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 int reborn(int nbreborn) {&lt;br /&gt;
     int stat, seraphpt;&lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;Congratulations to &amp;lt;Player&amp;gt; for attaining his &amp;quot;;&lt;br /&gt;
     if (nbreborn &amp;lt; 10) cout &amp;lt;&amp;lt; RebornArray[nbreborn - 1];&lt;br /&gt;
     else cout &amp;lt;&amp;lt; nbreborn &amp;lt;&amp;lt; RebornArray[9];&lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot; rebirth!\n&amp;quot;;&lt;br /&gt;
     // Calculate the number of points for a seraphin &lt;br /&gt;
     seraphpt = (nbreborn * 2) + 8;&lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;\tSeraph number of points : &amp;quot; &amp;lt;&amp;lt;seraphpt &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;; &lt;br /&gt;
     // Calculate the number of points for the all stats&lt;br /&gt;
     stat = (nbreborn * 5) + 20;&lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;\tAll statistics contain &amp;quot; &amp;lt;&amp;lt; stat &amp;lt;&amp;lt; &amp;quot; points\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char *argv[])&lt;br /&gt;
 {&lt;br /&gt;
     for (int i = 1; i &amp;lt;= 10; i++) reborn(i);&lt;br /&gt;
     system(&amp;quot;PAUSE&amp;quot;);&lt;br /&gt;
     return EXIT_SUCCESS;&lt;br /&gt;
 }&lt;br /&gt;
--Mestoph 16 mars 2008 à 19:19 (MSK)&lt;/div&gt;</summary>
		<author><name>FunJp</name></author>
	</entry>
</feed>