forked from Jaysyn/PRC8
Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
61 lines
1.8 KiB
Plaintext
61 lines
1.8 KiB
Plaintext
#include "prc_alterations"
|
|
#include "prc_class_const"
|
|
|
|
void ChooseWeapon(object oPC, object oWeapon)
|
|
{
|
|
string sName = GetName(oWeapon);
|
|
|
|
SetLocalInt(oPC, "HAS_CHOSEN_WEAPON", 2);
|
|
SetLocalInt(oWeapon, "CHOSEN_WEAPON", 2);
|
|
SetLocalObject(oPC, "CHOSEN_WEAPON", oWeapon);
|
|
if (GetPlotFlag(oWeapon) == FALSE)
|
|
{
|
|
SetLocalInt(oWeapon, "CHOSEN_WEAPON_PLOT", TRUE);
|
|
SetPlotFlag(oWeapon, TRUE);
|
|
}
|
|
SendMessageToPC(oPC, "You have chosen "+sName+" to be your chosen weapon.");
|
|
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyVisualEffect(ITEM_VISUAL_HOLY), oWeapon, 0.0);
|
|
|
|
DelayCommand(0.1, ExecuteScript("prc_arcduel", oPC)); // reevaluate things so the weapon bonus is applied.
|
|
}
|
|
|
|
void UnchooseWeapon(object oPC)
|
|
{
|
|
object oWeapon = GetLocalObject(oPC, "CHOSEN_WEAPON");
|
|
string sName = GetName(oWeapon);
|
|
|
|
DeleteLocalInt(oWeapon, "CHOSEN_WEAPON");
|
|
if (GetLocalInt(oWeapon, "CHOSEN_WEAPON_PLOT"))
|
|
{
|
|
DeleteLocalInt(oWeapon, "CHOSEN_WEAPON_PLOT");
|
|
SetPlotFlag(oWeapon, FALSE);
|
|
}
|
|
SendMessageToPC(oPC, sName+" is no longer your chosen weapon.");
|
|
RemoveSpecificProperty(oWeapon, ITEM_PROPERTY_VISUALEFFECT);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oWeapon = PRCGetSpellTargetObject();
|
|
object oPC = OBJECT_SELF;
|
|
int iChosen = GetLocalInt(oPC, "HAS_CHOSEN_WEAPON");
|
|
|
|
if (iChosen == 2)
|
|
{
|
|
if (oWeapon == GetLocalObject(oPC, "CHOSEN_WEAPON"))
|
|
{
|
|
SendMessageToPC(oPC, "That weapon is already your chosen weapon.");
|
|
return;
|
|
}
|
|
|
|
SendMessageToPC(oPC, "You begin to bond with the new weapon. It will be your chosen weapon in 20 turns.");
|
|
DelayCommand(TurnsToSeconds(20)+0.0, UnchooseWeapon(oPC));
|
|
DelayCommand(TurnsToSeconds(20)+0.1, ChooseWeapon(oPC, oWeapon));
|
|
}
|
|
else
|
|
{
|
|
ChooseWeapon(oPC, oWeapon);
|
|
}
|
|
}
|
|
|