ChrisC26

Star Forge Robes/Darth Revan's Robes Alteration

Recommended Posts

 

 

// Globals
	int intGLOB_1 = 0;
	int intGLOB_2 = 1;
	int intGLOB_3 = 2;
	int intGLOB_4 = 3;
	int intGLOB_5 = 4;
	int intGLOB_6 = 5;
	int intGLOB_7 = 6;
	int intGLOB_8 = 7;
	int intGLOB_9 = 8;
	int intGLOB_10 = 9;
	int intGLOB_11 = 10;
	int intGLOB_12 = 11;
	int intGLOB_13 = 12;
	int intGLOB_14 = 13;
	int intGLOB_15 = 14;
	int intGLOB_16 = 15;
	int intGLOB_17 = 16;
	int intGLOB_18 = 17;
	int intGLOB_19 = 18;
	int intGLOB_20 = 19;
	int intGLOB_21 = 1100;
	int intGLOB_22 = (-6);
	int intGLOB_23 = (-5);
	int intGLOB_24 = (-4);
	int intGLOB_25 = (-2);
	int intGLOB_26 = (-1);
	int intGLOB_27 = 0;

// Prototypes
void sub1(float floatParam1);

void sub1(float floatParam1) {
	ActionPauseConversation();
	DelayCommand(floatParam1, ActionResumeConversation());
}

void main() {
	object oSta_force_cage = GetObjectByTag("sta_force_cage", 0);
	object oSta_armor_container = GetObjectByTag("sta_armor_container", 0);
	string string1 = "g_a_mstrrobe06";
	effect efVisual = EffectVisualEffect(1046, 0);
	effect effect3 = EffectVisualEffect(2045, 0);
	sub1(6.5);
	
	int int1 = GetAppearanceType(OBJECT_SELF); // Get the PC's appearance
	if (int1 == 91) {
		// If P_FEM_A_SML_01
		string1 = "DP_RevRobe_FA1S";
	}
	else if (int1 == 92) {
		// If P_FEM_A_MED_01
		string1 = "DP_RevRobe_FA1M";
	}
	else if (int1 == 93) {
		// If P_FEM_A_LRG_01
		string1 = "DP_RevRobe_FA1L";
	}
	else if (int1 == 94) {
		// If P_FEM_A_SML_02
		string1 = "DP_RevRobe_FA2S";
	}
	else if (int1 == 95) {
		// If P_FEM_A_MED_02
		string1 = "DP_RevRobe_FA2M";
	}
	else if (int1 == 96) {
		// If P_FEM_A_LRG_02
		string1 = "DP_RevRobe_FA2L";
	}
	else if (int1 == 97) {
		// If P_FEM_A_SML_03
		string1 = "DP_RevRobe_FA3S";
	}
	else if (int1 == 98) {
		// If P_FEM_A_MED_03
		string1 = "DP_RevRobe_FA3M";
	}
	else if (int1 == 99) {
		// If P_FEM_A_LRG_03
		string1 = "DP_RevRobe_FA3L";
	}
	else if (int1 == 100) {
		// If P_FEM_A_SML_04
		string1 = "DP_RevRobe_FA4S";
	}
	else if (int1 == 101) {
		// If P_FEM_A_MED_04
		string1 = "DP_RevRobe_FA4M";
	}
	else if (int1 == 102) {
		// If P_FEM_A_LRG_04
		string1 = "DP_RevRobe_FA4L";
	}
	else if (int1 == 103) {
		// If P_FEM_A_SML_05
		string1 = "DP_RevRobe_FA5S";
	}
	else if (int1 == 104) {
		// If P_FEM_A_MED_05
		string1 = "DP_RevRobe_FA5M";
	}
	else if (int1 == 105) {
		// If P_FEM_A_LRG_05
		string1 = "DP_RevRobe_FA5L";
	}
	else if (int1 == 106) {
		// If P_FEM_B_SML_01
		string1 = "DP_RevRobe_FB1S";
	}
	else if (int1 == 107) {
		// If P_FEM_B_MED_01
		string1 = "DP_RevRobe_FB1M";
	}
	else if (int1 == 108) {
		// If P_FEM_B_LRG_01
		string1 = "DP_RevRobe_FB1L";
	}
	else if (int1 == 109) {
		// If P_FEM_B_SML_02
		string1 = "DP_RevRobe_FB2S";
	}
	else if (int1 == 110) {
		// If P_FEM_B_MED_02
		string1 = "DP_RevRobe_FB2M";
	}
	else if (int1 == 111) {
		// If P_FEM_B_LRG_02
		string1 = "DP_RevRobe_FB2L";
	}
	else if (int1 == 112) {
		// If P_FEM_B_SML_03
		string1 = "DP_RevRobe_FB3S";
	}
	else if (int1 == 113) {
		// If P_FEM_B_MED_03
		string1 = "DP_RevRobe_FB3M";
	}
	else if (int1 == 114) {
		// If P_FEM_B_LRG_03
		string1 = "DP_RevRobe_FB3L";
	}
	else if (int1 == 115) {
		// If P_FEM_B_SML_04
		string1 = "DP_RevRobe_FB4S";
	}
	else if (int1 == 116) {
		// If P_FEM_B_MED_04
		string1 = "DP_RevRobe_FB4M";
	}
	else if (int1 == 117) {
		// If P_FEM_B_LRG_04
		string1 = "DP_RevRobe_FB4L";
	}
	else if (int1 == 118) {
		// If P_FEM_B_SML_05
		string1 = "DP_RevRobe_FB5S";
	}
	else if (int1 == 119) {
		// If P_FEM_B_MED_05
		string1 = "DP_RevRobe_FB5M";
	}
	else if (int1 == 120) {
		// If P_FEM_B_LRG_05
		string1 = "DP_RevRobe_FB5L";
	}
	else if (int1 == 121) {
		// If P_FEM_C_SML_01
		string1 = "DP_RevRobe_FC1S";
	}
	else if (int1 == 122) {
		// If P_FEM_C_MED_01
		string1 = "DP_RevRobe_FC1M";
	}
	else if (int1 == 123) {
		// If P_FEM_C_LRG_01
		string1 = "DP_RevRobe_FC1L";
	}
	else if (int1 == 124) {
		// If P_FEM_C_SML_02
		string1 = "DP_RevRobe_FC2S";
	}
	else if (int1 == 125) {
		// If P_FEM_C_MED_02
		string1 = "DP_RevRobe_FC2M";
	}
	else if (int1 == 126) {
		// If P_FEM_C_LRG_02
		string1 = "DP_RevRobe_FC2L";
	}
	else if (int1 == 127) {
		// If P_FEM_C_SML_03
		string1 = "DP_RevRobe_FC3S";
	}
	else if (int1 == 128) {
		// If P_FEM_C_MED_03
		string1 = "DP_RevRobe_FC3M";
	}
	else if (int1 == 129) {
		// If P_FEM_C_LRG_03
		string1 = "DP_RevRobe_FC3L";
	}
	else if (int1 == 130) {
		// If P_FEM_C_SML_04
		string1 = "DP_RevRobe_FC4S";
	}
	else if (int1 == 131) {
		// If P_FEM_C_MED_04
		string1 = "DP_RevRobe_FC4M";
	}
	else if (int1 == 132) {
		// If P_FEM_C_LRG_04
		string1 = "DP_RevRobe_FC4L";
	}
	else if (int1 == 133) {
		// If P_FEM_C_SML_05
		string1 = "DP_RevRobe_FC5S";
	}
	else if (int1 == 134) {
		// If P_FEM_C_MED_05
		string1 = "DP_RevRobe_FC5M";
	}
	else if (int1 == 135) {
		// If P_FEM_C_LRG_05
		string1 = "DP_RevRobe_FC5L";
	}
	else {
		// Player is male
		string1 = "g_a_mstrrobe06";
	}
	
	SetLocked(oSta_armor_container, 0);
	AssignCommand(oSta_armor_container, ClearAllEffects());
	CreateItemOnObject(string1, oSta_armor_container, 1);
	DelayCommand(1.4, PlaySound("v_pro_resfrc"));
	DelayCommand(1.5, ApplyEffectAtLocation(0, efVisual, GetLocation(oSta_armor_container), 0.0));
	DelayCommand(3.5, ApplyEffectToObject(2, effect3, oSta_armor_container, 0.0));
	DelayCommand(2.5, AssignCommand(oSta_force_cage, PlayAnimation(202, 1.0, 0.0)));
}

 

Share this post


Link to post
Share on other sites

Okay, where it gets the appearance type, try changing OBJECT_SELF to GetFirstPC(). I'm assuming that OBJECT_SELF refers to the computer instead of the PC like I thought it did.

Share this post


Link to post
Share on other sites

Ahah! Success:

 

K1_Revan_Maskless_Robes_08_TH.jpg

 

Interestingly, GetFirstPC() is what I had when I was first muddling out a solution, cobbled together from various code snippets.

 

Yayyyyyyyyyyyyyyyyyyy.

 

Waiting for your mod post.

 

Thank you for all your hard work. MTFBWY.

Share this post


Link to post
Share on other sites

Seeing as you have to wait until the end of the game to get the robes normally, I figured I'd explore an alternative to just telling people to use KSE, especially given that there are 90 UTIs for females.

 

 

I've never messed around with dialogues or cameras before, so it took a bit of head scratching to figure things out. It went smoother than expected, but sweet Jesus cameras are a pain in the ass to position.

 

I took the setup from the scripts that spawn the robes on the Star Forge, posted above. However I am not getting the VFX to generate on the cylinder. The Star Forge version has a white glowy effect, then a red shield effect. I'm assuming it is not finding my placeable to attach the VFX to for some reason.

  • Like 1

Share this post


Link to post
Share on other sites

In your script for Dantooine, did you change these lines?

    object oSta_force_cage = GetObjectByTag("sta_force_cage", 0);
    object oSta_armor_container = GetObjectByTag("sta_armor_container", 0);

    DelayCommand(1.5, ApplyEffectAtLocation(0, efVisual, GetLocation(oSta_armor_container), 0.0));
    DelayCommand(3.5, ApplyEffectToObject(2, effect3, oSta_armor_container, 0.0));
    DelayCommand(2.5, AssignCommand(oSta_force_cage, PlayAnimation(202, 1.0, 0.0)));

Considering that the armor spawned as intended, you probably did, but make sure that the tags in the first two lines and the object names in the latter three are correct. That'd be the obvious reason why something could go wrong here.

Share this post


Link to post
Share on other sites

Yeah I changed the tags to my custom ones. Here's the script (source is modified from the Star Forge one posted above):

 

 

 

// Prototypes
void sub1(float floatParam1);

void sub1(float floatParam1) {
	ActionPauseConversation();
	DelayCommand(floatParam1, ActionResumeConversation());
}

void main() {
	object oSta_DP_Container = GetObjectByTag("PLC_DPRevCyl", 0);
	string string1 = "g_a_mstrrobe06";
	effect efVisual = EffectVisualEffect(1046, 0);
	effect effect3 = EffectVisualEffect(2045, 0);
	sub1(6.5);
	
	int int1 = GetAppearanceType(GetFirstPC()); // Get the PC's appearance
	if (int1 == 91) {
		// If P_FEM_A_SML_01
		string1 = "DP_RevRobe_FA1S";
	}
	else if (int1 == 92) {
		// If P_FEM_A_MED_01
		string1 = "DP_RevRobe_FA1M";
	}

	[ TRIMMED FOR BREVITY, CONTENTS HERE SAME AS OTHER SCRIPT ]
	
	else {
		// Player is male
		string1 = "g_a_mstrrobe06";
	}
	
	SetLocked(oSta_DP_Container, 0);
	AssignCommand(oSta_DP_Container, ClearAllEffects());
	CreateItemOnObject(string1, oSta_DP_Container, 1);
	DelayCommand(1.4, PlaySound("v_pro_resfrc"));
	DelayCommand(1.5, ApplyEffectAtLocation(0, efVisual, GetLocation(oSta_DP_Container), 0.0));
	DelayCommand(3.5, ApplyEffectToObject(2, effect3, oSta_DP_Container, 0.0));
}

 

Share this post


Link to post
Share on other sites

Anyone that has ever made a request in this thread should be providing feedback in the release threads. You owe him at least that much.

  • Like 3

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.