Initial commit

Adding all of the current content for Anphillia Unlimited.
This commit is contained in:
Jaysyn904
2024-01-04 07:49:38 -05:00
parent df18cd54c8
commit 28cdb617b3
12943 changed files with 9727121 additions and 0 deletions

116
_module/nss/intro_enter.nss Normal file
View File

@@ -0,0 +1,116 @@
#include "faction_inc"
#include "subrace_inc"
int checkAlignment(object oPC, int faction)
{
int goodevil = GetAlignmentGoodEvil (oPC);
int lawchaos = GetAlignmentLawChaos (oPC);
if (faction == ANPH_FACTION_AXFELL)
{
if (goodevil == ALIGNMENT_GOOD && lawchaos == ALIGNMENT_LAWFUL)
{
SendMessageToPC(oPC, "Lawful good characters are not allowed in Axfell");
return FALSE;
}
}
if (faction == ANPH_FACTION_CLEAVEN)
{
if (goodevil == ALIGNMENT_EVIL && lawchaos == ALIGNMENT_CHAOTIC)
{
SendMessageToPC(oPC, "Chaotic Evil characters are not allowed in Cleaven");
return FALSE;
}
}
return TRUE;
}
int checkClass(object oPC, int faction)
{
return TRUE;
}
int checkRace(object oPC, int faction)
{
int race = GetRacialType(oPC);
string racename = Get2DAString("racialtypes", "name", race);
string subrace = GetSubRace(oPC);
if (faction == ANPH_FACTION_CLEAVEN)
{
if (FindSubString("Drow###Duergar###Dark Elf###Gray Dwarf###Grey Dwarf###Deep Gnome###Svirfneblin", subrace) > 0)
{
SendMessageToPC(oPC, "Underdark race characters are not allowed in Cleaven");
return FALSE;
}
if (FindSubString("Drow###Duergar###Dark Elf###Gray Dwarf###Grey Dwarf###Deep Gnome###Svirfneblin", racename) > 0)
{
SendMessageToPC(oPC, "Underdark race characters are not allowed in Cleaven");
return FALSE;
}
}
return TRUE;
}
void giveStartingGear(object oPC, int faction)
{
CreateItemOnObject("FoodRation", oPC);
CreateItemOnObject("FoodRation", oPC);
CreateItemOnObject("FoodRation", oPC);
CreateItemOnObject("FoodRation", oPC);
CreateItemOnObject("FoodRation", oPC);
CreateItemOnObject("FoodRation", oPC);
GiveGoldToCreature(oPC, 140);
// Give druids Ear of the Druid
/* if(GetLevelByClass(CLASS_TYPE_DRUID, oPC) > 0 && !GetIsObjectValid(GetItemPossessedBy(oPC, "DruidEar")))
{
CreateItemOnObject("DruidEar", oPC);
}*/
/*
if (GetXP(oPC) < 3000)
GiveXPToCreature(oPC, 3001 - GetXP(oPC));*/
}
void main()
{
object oPC = GetPCSpeaker();
string sSubrace = GetSubRace(oPC);
string sFaction = GetLocalString(oPC, "INTRO_FACTION");
int faction = fctn_GetFactionIdFromName(sFaction);
if (faction == 0)
{
dbg_ReportBug("No faction found with name " + sFaction);
return;
}
if (!checkAlignment(oPC, faction))
return;
if (!checkClass(oPC, faction))
return;
if (!checkRace(oPC, faction))
return;
giveStartingGear(oPC, faction);
fctn_JoinFaction(oPC, faction);
if (sSubrace != "")
{
// No return statements after this.
if (subrace_Apply(oPC, sSubrace))
{
SendMessageToPC(oPC, "Subrace bonuses applied");
}
else
{
dbg_ReportBug("No subrace stats found for " + sSubrace, oPC);
}
}
ExportSingleCharacter(oPC);
location loc = fctn_GetFactionStartingLocation(faction);
AssignCommand (oPC, JumpToLocation(loc));
}