Updated AMS marker feats. Removed arcane & divine marker feats. Updated Dread Necromancer for epic progression. Updated weapon baseitem models. Updated new weapons for crafting & npc equip. Updated prefix. Updated release archive.
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #include "moi_inc_moifunc" 
 | |
| #include "inc_dynconv"
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     int nEvent = GetRunningEvent();
 | |
|     if(DEBUG) DoDebug("moi_incarnate running, event: " + IntToString(nEvent));
 | |
| 
 | |
|     // Get the PC. This is event-dependent
 | |
|     object oMeldshaper;
 | |
|     switch(nEvent)
 | |
|     {
 | |
|         case EVENT_ONPLAYERREST_FINISHED:   oMeldshaper = GetLastBeingRested();      break;
 | |
|         case EVENT_ONCLIENTENTER:           oMeldshaper = GetEnteringObject();       break;
 | |
| 
 | |
|         default:
 | |
|             oMeldshaper = OBJECT_SELF;
 | |
|     }
 | |
|     
 | |
| 	if (!GetLocalInt(oMeldshaper, "IncarnateDelay"))
 | |
| 	{
 | |
| 		SetLocalInt(oMeldshaper, "IncarnateDelay", TRUE);
 | |
| 		DelayCommand(0.1, DeleteLocalInt(oMeldshaper, "IncarnateDelay"));
 | |
|     	int nClass = GetLevelByClass(CLASS_TYPE_INCARNATE, oMeldshaper);
 | |
|     	object oSkin = GetPCSkin(oMeldshaper);
 | |
| 	
 | |
|     	// We aren't being called from any event, instead from EvalPRCFeats
 | |
|     	if(nEvent == FALSE)
 | |
|     	{
 | |
|     		//DoDebug("moi_incarnate Event False");
 | |
|     	    // Add eventhook to OnRestFinished to reset the used marker
 | |
|     	    AddEventScript(oMeldshaper, EVENT_ONPLAYERREST_FINISHED, "moi_incarnate", TRUE, TRUE); 
 | |
|     	    AddEventScript(oMeldshaper, EVENT_ONPLAYEREQUIPITEM,     "moi_incarnate", TRUE, TRUE);
 | |
|     	}
 | |
|     	else if(nEvent == EVENT_ONPLAYERREST_FINISHED && IncarnateAlignment(oMeldshaper) && (PRCGetIsAliveCreature(oMeldshaper)|| GetHasFeat(FEAT_UNDEAD_MELDSHAPER, oMeldshaper)))    
 | |
|     	{
 | |
|     		ClearMeldShapes(oMeldshaper);
 | |
|     	    AssignCommand(oMeldshaper, ClearAllActions(TRUE));
 | |
|     	    SetLocalInt(oMeldshaper, "MeldshapeClass", CLASS_TYPE_INCARNATE);
 | |
|     	    StartDynamicConversation("moi_meldshapecnv", oMeldshaper, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oMeldshaper);
 | |
|     	}    
 | |
|     	else if(nEvent == EVENT_ONPLAYEREQUIPITEM)
 | |
|     	{
 | |
|     	    oMeldshaper   = GetItemLastEquippedBy();
 | |
|     	    ChakraBindUnequip(oMeldshaper, GetItemLastEquipped());
 | |
|     	}
 | |
|     }	
 | |
| }
 |