//Le Livre d'Ymir http://www.bookofymir.net/ //traduit par No Healing //===== eAthena Script ======================================= //= Global functions //===== By: ================================================== //= Skotlex //===== Current Version: ===================================== //= 1.5 //===== Compatible With: ===================================== //= eAthena SVN R3424+, RO Ep6+ //===== Description: ========================================= //= Global Functions //= //===== Additional Comments: ================================= //= GF_getJobName= function for getting a job's name //= GF_getJobName2= gets a jobs name modified by Type (see below) //= GF_getJobId= gets a jobs number modified by Type (see below) //= GF_getJobLevel= identifies novices/1st/2nd among classes //= GF_getJobType= identifies normal/advanced/babies classes //= - GF_getJobClass= identifies job class (swordie, mage, etc) //============================================================ function script GF_getJobName { switch (getarg(0)) { case Job_Novice: return "Novice"; case Job_Acolyte: return "Acolyte"; case Job_Archer: return "Archer"; case Job_Mage: return "Mage"; case Job_Merchant: return "Marchand"; case Job_Swordman: return "Epéiste"; case Job_Thief: return "Voleur"; case Job_Taekwon: return "Taekwon"; case Job_SuperNovice: return "Super Novice"; case Job_Hunter: return "Chasseur"; case Job_Dancer: return "Danseuse"; case Job_Bard: return "Barde"; case Job_Priest: return "Prêtre"; case Job_Monk: return "Moine"; case Job_Wizard: return "Sorcier"; case Job_Sage: return "Sage"; case Job_BlackSmith: return "Forgeron"; case Job_Alchemist: return "Alchimiste"; case Job_Knight: case Job_Knight2: return "Chevalier"; case Job_Crusader: case Job_Crusader2: return "Croisé"; case Job_Assassin: return "Assassin"; case Job_Rogue: return "Maraudeur"; case Job_Star_Gladiator: case Job_Star_Gladiator2: return "Guerrier Stellaire"; case Job_Soul_Linker: return "Lieur d'Âmes"; case Job_Novice_High: return "Haut Novice"; case Job_Acolyte_High: return "Haut Acolyte"; case Job_Archer_High: return "Haut Archer"; case Job_Mage_High: return "Haut Mage"; case Job_Merchant_High: return "Haut Marchand"; case Job_Swordman_High: return "Haut Epéiste"; case Job_Thief_High: return "Haut Voleur"; case Job_Assassin_Cross: return "Assassin Cross"; case Job_Champion: return "Champion"; case Job_Clown: return "Clown"; case Job_Creator: return "Biochimiste"; case Job_Gypsy: return "Bohémienne"; case Job_High_Priest: return "Grand Prêtre"; case Job_High_Wizard: return "Grand Sorcier"; case Job_Lord_Knight: case Job_Lord_Knight2: return "Seigneur Chevalier"; case Job_Paladin: case Job_Paladin2: return "Paladin"; case Job_Professor: return "Professeur"; case Job_Sniper: return "Tireur d'Elite"; case Job_Stalker: return "Rôdeur"; case Job_Whitesmith: return "Maître Forgeron"; case Job_Baby: return "Enfant"; case Job_Baby_Acolyte: return "Enfant Acolyte"; case Job_Baby_Archer: return "Enfant Archer"; case Job_Baby_Mage: return "Enfant Mage"; case Job_Baby_Merchant: return "Enfant Marchand"; case Job_Baby_Swordman: return "Enfant Epéiste"; case Job_Baby_Thief: return "Enfant Voleur"; case Job_Super_Baby: return "Super Bébé"; case Job_Baby_Hunter: return "Enfant Chasseur"; case Job_Baby_Dancer: return "Enfant Danseuse"; case Job_Baby_Bard: return "Enfant Barde"; case Job_Baby_Priest: return "Enfant Prêtre"; case Job_Baby_Monk: return "Enfant Moine"; case Job_Baby_Wizard: return "Enfant Sorcier"; case Job_Baby_Sage: return "Enfant Sage"; case Job_Baby_BlackSmith: return "Enfant Forgeron"; case Job_Baby_Alchemist: return "Enfant Alchimiste"; case Job_Baby_Knight: case Job_Baby_Knight2: return "Enfant Chevalier"; case Job_Baby_Crusader: case Job_Baby_Crusader2: return "Enfant Croisé"; case Job_Baby_Assassin: return "Enfant Assassin"; case Job_Baby_Rogue: return "Enfant Mauraudeur"; default: return "Inconnu"; } } //Returns job name using two params: JobId and Type function script GF_getJobName2 { set @classId, callfunc("GF_getJobId", getarg(0), getarg(1)); return callfunc("GF_getJobName", @classId); } //Returns a Job's ID modified by their Type function script GF_getJobId { set @classId, getarg(0); set @type, getarg(1); if (@classId == Job_SuperNovice || @classId == Job_Super_Baby) { switch (@type) { case 0: return Job_SuperNovice; case 2: return Job_Super_Baby; default: return @classId; } } if (@classId >= Job_Taekwon && @classId <= Job_Soul_Linker) { //Currently has no alternates. return @classId; } if (@classId >= Job_Novice_High && @classId <= Job_Paladin2) set @classId, @classId -Job_Novice_High; else if (@classId >= Job_Baby && @classId <= Job_Super_Baby) set @classId, @classId -Job_Baby; if (@type == 1) set @classId, @classId +Job_Novice_High; if (@type == 2) set @classId, @classId +Job_Baby; return @classId; } //Returns the type of class: //0= Novice, 1= First Class, 2= Second Class, 3= Super Novice //4= Wedding function script GF_getJobLevel { set @classId, getarg(0); if (@classId >= Job_Novice_High && @classId <= Job_Paladin2) set @classId, @classId -Job_Novice_High; if (@classId >= Job_Baby && @classId <= Job_Baby_Crusader2) set @classId, @classId -Job_Baby; if(@classId == Job_Novice) { return 0; } if((@classId >= Job_Swordman && @classId <= Job_Thief) || @classId == Job_Taekwon) { return 1; } if ((@classId >= Job_Knight && @classId <= Job_Crusader2) || (@classId >= Job_Star_Gladiator && @classId <= Job_Soul_Linker)) { return 2; } if(@classId == Job_SuperNovice || @classId == Job_Super_Baby) { return 3; } if(@classId == 22) { return 4; } return -1; } //Returns the type of class, based on path: //0= Normal Jobs, 1= Upper Jobs, 2= Baby Jobs //Works the same as Upper, except you can pass any job id to get it's upper value function script GF_getJobType { set @classId, getarg(0); if ((@classId >= Job_Novice && @classId <= Job_SuperNovice) || (@classId >= Job_Taekwon && @classId <= Job_Soul_Linker)) { return 0; } if (@classId >= Job_Novice_High && @classId <= Job_Paladin2) { return 1; } if (@classId >= Job_Baby && @classId <= Job_Super_Baby) { return 2; } return -1; } //Returns the base class of the given job, return values are: //Job_Novice (Novice, Baby Novice, Super Novice //Job_Acolyte (Aco, Priest, Monk +High/Baby variations) //Job_Archer (Archer, Sniper, Bard, Dancer +High/Baby variations) //Job_Mage (Mage, Wizard, Sage +High/Baby variations) //Job_Swordman (Swordsman, Knight, Crusader +High/Baby variations) //Job_Thief (Thief, Assassin, Rogue +High/Baby variations) //-1 : others (when wearing Tux/Wedding dress, for example) //Works the same as baseClass, except you pass the class which you want //examined. function script GF_getJobClass { set @classId, getarg(0); if (@classId >= Job_Novice_High && @classId <= Job_Paladin2) set @classId, @classId -Job_Novice_High; if (@classId >= Job_Baby && @classId <= Job_Baby_Crusader2) set @classId, @classId -Job_Baby; switch (@classId) { case Job_Novice: case Job_SuperNovice: case Job_Super_Baby: return Job_Novice; case Job_Acolyte: case Job_Priest: case Job_Monk: return Job_Acolyte; case Job_Archer: case Job_Hunter: case Job_Bard: case Job_Dancer: return Job_Archer; case Job_Mage: case Job_Wizard: case Job_Sage: return Job_Mage; case Job_Merchant: case Job_BlackSmith: case Job_Alchemist: return Job_Merchant; case Job_Swordman: case Job_Knight: case Job_Knight2: case Job_Paladin: case Job_Paladin2: return Job_Swordman; case Job_Thief: case Job_Assassin: case Job_Rogue: return Job_Thief; case Job_Taekwon: case Job_Star_Gladiator: case Job_Star_Gladiator2: case Job_Soul_Linker: return Job_Taekwon; default: return -1; } }