mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-29 23:15:55 -04:00
69 lines
1.4 KiB
Plaintext
69 lines
1.4 KiB
Plaintext
|
|
|
|
include library.xp;
|
|
include library.skill;
|
|
include library.player_version;
|
|
|
|
|
|
trigger OnInitialize()
|
|
{
|
|
revokeSkills(self);
|
|
revokeExperience(self);
|
|
|
|
if (hasObjVar(self, "tcTester"))
|
|
setObjVar (self, "jedi.totalPoints", 32);
|
|
else
|
|
setObjVar (self, "jedi.totalPoints", 250);
|
|
|
|
attachScript(self, "player.player_jedi_conversion");
|
|
detachScript(self, "beta.tc_jedi");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
void revokeSkills(obj_id objPlayer)
|
|
{
|
|
string[] skillList = getSkillListingForPlayer(objPlayer);
|
|
|
|
int count = 0;
|
|
while (skillList != null && count < 15)
|
|
{
|
|
skillList = player_version.orderSkillListForRevoke(skillList);
|
|
|
|
if ( (skillList != null) && (skillList.length > 0) )
|
|
{
|
|
for ( int x = 0; x < skillList.length; x++ )
|
|
{
|
|
revokeSkill(objPlayer, skillList[x]);
|
|
}
|
|
}
|
|
|
|
skillList = getSkillListingForPlayer(objPlayer);
|
|
count++;
|
|
}
|
|
|
|
if (hasScript(objPlayer, "player.species_innate"))
|
|
{
|
|
detachScript(objPlayer, "player.species_innate");
|
|
attachScript(objPlayer, "player.species_innate");
|
|
}
|
|
}
|
|
|
|
void revokeExperience(obj_id objPlayer)
|
|
{
|
|
if(objPlayer == null || !isIdValid(objPlayer))
|
|
return;
|
|
|
|
string xpList[] = xp.getXpTypes(objPlayer);
|
|
if (xpList != null && xpList.length > 0)
|
|
{
|
|
for (int i = 0; i < xpList.length; i++)
|
|
{
|
|
int xpAmount = getExperiencePoints(objPlayer, xpList[i]);
|
|
if (xpAmount > 0)
|
|
grantExperiencePoints(objPlayer, xpList[i], -xpAmount);
|
|
}
|
|
}
|
|
}
|
|
|