mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-10-20 11:03:07 -04:00
who isn't sick of converting the freaking scripts? this negates the need
This commit is contained in:
@@ -0,0 +1,383 @@
|
||||
package script.npc.celebrity;
|
||||
|
||||
import script.*;
|
||||
import script.base_class.*;
|
||||
import script.combat_engine.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Vector;
|
||||
import script.base_script;
|
||||
|
||||
import script.library.utils;
|
||||
import script.library.ai_lib;
|
||||
import script.library.hue;
|
||||
import script.library.colors;
|
||||
import script.library.chat;
|
||||
|
||||
public class kole extends script.base_script
|
||||
{
|
||||
public kole()
|
||||
{
|
||||
}
|
||||
public static final String CONVO = "celebrity/kole";
|
||||
public static final String FACETO_VOLUME_NAME = "faceToTriggerVolume";
|
||||
public int OnAttach(obj_id self) throws InterruptedException
|
||||
{
|
||||
setName(self, "Kole");
|
||||
ai_lib.setDefaultCalmBehavior(self, ai_lib.BEHAVIOR_SENTINEL);
|
||||
setInvulnerable(self, false);
|
||||
debugSpeakMsg(self, "I work for Nym...I might be a doctor...");
|
||||
attachScript(self, "npc.converse.npc_converse_menu");
|
||||
createTriggerVolume(FACETO_VOLUME_NAME, 8.0f, true);
|
||||
messageTo(self, "doISetup", null, 2, false);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
public int OnStartNpcConversation(obj_id self, obj_id speaker) throws InterruptedException
|
||||
{
|
||||
String questInfo = "tell_me_quest";
|
||||
faceTo(self, speaker);
|
||||
if (hasObjVar(speaker, "nym.nym.finished"))
|
||||
{
|
||||
string_id greeting = new string_id(CONVO, "good_work");
|
||||
chat.chat(self, greeting);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if (hasObjVar(speaker, "nym.kole.done"))
|
||||
{
|
||||
string_id greeting = new string_id(CONVO, "good_work");
|
||||
string_id response[] = new string_id[2];
|
||||
response[0] = new string_id(CONVO, "what_now");
|
||||
response[1] = new string_id(CONVO, "see_ya");
|
||||
setObjVar(speaker, "nym.kole.finished", 1);
|
||||
npcStartConversation(speaker, self, "celebConvo", greeting, response);
|
||||
}
|
||||
if (hasObjVar(speaker, "nym"))
|
||||
{
|
||||
if (hasObjVar(speaker, "nym.openedGas"))
|
||||
{
|
||||
obj_id gas = utils.getItemPlayerHasByTemplate(speaker, "object/tangible/loot/quest/nym_filtered_gas.iff");
|
||||
if (gas != null)
|
||||
{
|
||||
destroyObject(gas);
|
||||
}
|
||||
setObjVar(speaker, "nym.kole.done", 1);
|
||||
string_id message = new string_id(CONVO, "gave_gas");
|
||||
chat.chat(self, message);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
}
|
||||
if (hasObjVar(speaker, "nym.kole.gotgas"))
|
||||
{
|
||||
string_id greeting = new string_id(CONVO, "bring_gas");
|
||||
string_id response[] = new string_id[2];
|
||||
response[0] = new string_id(CONVO, "yes");
|
||||
response[1] = new string_id(CONVO, "no");
|
||||
npcStartConversation(speaker, self, "celebConvo", greeting, response);
|
||||
}
|
||||
if (hasObjVar(speaker, "nym.kole.officerPoint") || hasObjVar(speaker, "nym.kole.gasPoint"))
|
||||
{
|
||||
questInfo = "tell_me_again";
|
||||
}
|
||||
if (ai_lib.isInCombat(self) || ai_lib.isInCombat(speaker))
|
||||
{
|
||||
return SCRIPT_OVERRIDE;
|
||||
}
|
||||
if (hasObjVar(speaker, "nym.kole.everyone"))
|
||||
{
|
||||
string_id greeting = new string_id(CONVO, "hello_again");
|
||||
string_id response[] = new string_id[1];
|
||||
response[0] = new string_id(CONVO, questInfo);
|
||||
npcStartConversation(speaker, self, "celebConvo", greeting, response);
|
||||
}
|
||||
else if (hasObjVar(speaker, "nym.kole.jinkins") && hasObjVar(speaker, "nym.kole.nym") && hasObjVar(speaker, "nym.kole.kole"))
|
||||
{
|
||||
setObjVar(speaker, "nym.kole.everyone", 1);
|
||||
removeObjVar(speaker, "nym.kole.kole");
|
||||
removeObjVar(speaker, "nym.kole.nym");
|
||||
removeObjVar(speaker, "nym.kole.jinkins");
|
||||
string_id greeting = new string_id(CONVO, "hello_again");
|
||||
string_id response[] = new string_id[1];
|
||||
response[0] = new string_id(CONVO, questInfo);
|
||||
npcStartConversation(speaker, self, "celebConvo", greeting, response);
|
||||
}
|
||||
else if (hasObjVar(speaker, "nym.kole.jinkins"))
|
||||
{
|
||||
string_id greeting = new string_id(CONVO, "hello_again");
|
||||
string_id response[] = new string_id[2];
|
||||
response[0] = new string_id(CONVO, questInfo);
|
||||
response[1] = new string_id(CONVO, "who_is_nym");
|
||||
npcStartConversation(speaker, self, "celebConvo", greeting, response);
|
||||
}
|
||||
else if (hasObjVar(speaker, "nym.kole.nym"))
|
||||
{
|
||||
string_id greeting = new string_id(CONVO, "hello_again");
|
||||
string_id response[] = new string_id[2];
|
||||
response[0] = new string_id(CONVO, questInfo);
|
||||
response[1] = new string_id(CONVO, "who_is_jinkins");
|
||||
npcStartConversation(speaker, self, "celebConvo", greeting, response);
|
||||
}
|
||||
else if (hasObjVar(speaker, "nym.kole.kole"))
|
||||
{
|
||||
string_id greeting = new string_id(CONVO, "hello_again");
|
||||
string_id response[] = new string_id[3];
|
||||
response[0] = new string_id(CONVO, questInfo);
|
||||
response[1] = new string_id(CONVO, "who_is_nym");
|
||||
response[2] = new string_id(CONVO, "who_is_jinkins");
|
||||
npcStartConversation(speaker, self, "celebConvo", greeting, response);
|
||||
}
|
||||
else if (hasObjVar(speaker, "nym.kole.talked"))
|
||||
{
|
||||
string_id greeting = new string_id(CONVO, "hello_again");
|
||||
string_id response[] = new string_id[2];
|
||||
response[0] = new string_id(CONVO, questInfo);
|
||||
response[1] = new string_id(CONVO, "who_are_you");
|
||||
npcStartConversation(speaker, self, "celebConvo", greeting, response);
|
||||
}
|
||||
else
|
||||
{
|
||||
string_id greeting = new string_id(CONVO, "first_time_hello");
|
||||
string_id response[] = new string_id[2];
|
||||
response[0] = new string_id(CONVO, questInfo);
|
||||
response[1] = new string_id(CONVO, "who_are_you");
|
||||
npcStartConversation(speaker, self, "celebConvo", greeting, response);
|
||||
}
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
public int OnNpcConversationResponse(obj_id self, String convo, obj_id player, string_id response) throws InterruptedException
|
||||
{
|
||||
setObjVar(player, "nym.kole.talked", 1);
|
||||
String questInfo = "tell_me_quest";
|
||||
if (hasObjVar(player, "nym.kole.officerPoint") || hasObjVar(player, "nym.kole.gasPoint"))
|
||||
{
|
||||
questInfo = "tell_me_again";
|
||||
}
|
||||
if ((response.getAsciiId()).equals("tell_me_quest"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "quest_info");
|
||||
if (!hasObjVar(player, "nym.jinkins.done"))
|
||||
{
|
||||
message = new string_id(CONVO, "quest_tease");
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, questInfo));
|
||||
npcSpeak(player, message);
|
||||
npcEndConversation(player);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, questInfo));
|
||||
if (!hasObjVar(player, "nym.kole.gasPoint"))
|
||||
{
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "mining_facility"));
|
||||
}
|
||||
if (!hasObjVar(player, "nym.kole.officerPoint"))
|
||||
{
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "probe_droid"));
|
||||
}
|
||||
if (hasObjVar(player, "nym.kole.officerPoint") && hasObjVar(player, "nym.kole.gasPoint"))
|
||||
{
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "anything_else"));
|
||||
}
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("tell_me_again"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "quest_info_again");
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, questInfo));
|
||||
if (!hasObjVar(player, "nym.kole.gasPoint"))
|
||||
{
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "mining_facility"));
|
||||
}
|
||||
if (!hasObjVar(player, "nym.kole.officerPoint"))
|
||||
{
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "probe_droid"));
|
||||
}
|
||||
if (hasObjVar(player, "nym.kole.officerPoint") && hasObjVar(player, "nym.kole.gasPoint"))
|
||||
{
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "anything_else"));
|
||||
}
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("who_are_you"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "im_kole");
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, "who_are_you"));
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "who_is_nym"));
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "who_is_jinkins"));
|
||||
setObjVar(player, "nym.kole.kole", 1);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("mining_facility"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "miners");
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, "mining_facility"));
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "dangerous_gas"));
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("who_is_nym"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "nym_is_chief");
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, "who_is_nym"));
|
||||
setObjVar(player, "nym.kole.nym", 1);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("who_is_jinkins"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "jinkins_is_friend");
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, "who_is_jinkins"));
|
||||
setObjVar(player, "nym.kole.jinkins", 1);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("dangerous_gas"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "gas_info");
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, "dangerous_gas"));
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "ill_get_gas"));
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("probe_droid"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "droid_info");
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, "probe_droid"));
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "imperial_involvement"));
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("imperial_involvement"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "imperial_stuff");
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, "imperial_involvement"));
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "resigned_officer"));
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("resigned_officer"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "officer_info");
|
||||
npcSpeak(player, message);
|
||||
npcRemoveConversationResponse(player, new string_id(CONVO, "resigned_officer"));
|
||||
npcAddConversationResponse(player, new string_id(CONVO, "ill_see_imperial"));
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("anything_else"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "not_really");
|
||||
npcSpeak(player, message);
|
||||
npcEndConversation(player);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("ill_get_gas"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "here_is_gas");
|
||||
setObjVar(player, "nym.jinkins.guy", 1);
|
||||
if (!hasScript(player, "theme_park.nym.player"))
|
||||
{
|
||||
attachScript(player, "theme_park.nym.player");
|
||||
}
|
||||
messageTo(player, "goGetGas", null, 2, true);
|
||||
npcSpeak(player, message);
|
||||
npcEndConversation(player);
|
||||
setObjVar(player, "nym.kole.gasPoint", 1);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("ill_see_imperial"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "here_is_imperial");
|
||||
setObjVar(player, "nym.jinkins.guy", 1);
|
||||
if (!hasScript(player, "theme_park.nym.player"))
|
||||
{
|
||||
attachScript(player, "theme_park.nym.player");
|
||||
}
|
||||
messageTo(player, "goSeeImperial", null, 2, true);
|
||||
npcSpeak(player, message);
|
||||
npcEndConversation(player);
|
||||
setObjVar(player, "nym.kole.officerPoint", 1);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("yes"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "hand_it_over");
|
||||
npcSpeak(player, message);
|
||||
npcEndConversation(player);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("no"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "get_back_to_work");
|
||||
npcSpeak(player, message);
|
||||
npcEndConversation(player);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("see_ya"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "good_bye");
|
||||
npcSpeak(player, message);
|
||||
npcEndConversation(player);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if ((response.getAsciiId()).equals("what_now"))
|
||||
{
|
||||
string_id message = new string_id(CONVO, "youre_done");
|
||||
if (!hasObjVar(player, "nym.nym.finished"))
|
||||
{
|
||||
message = new string_id(CONVO, "talk_to_nym");
|
||||
}
|
||||
npcSpeak(player, message);
|
||||
npcEndConversation(player);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
public int OnGiveItem(obj_id self, obj_id item, obj_id player) throws InterruptedException
|
||||
{
|
||||
String gaveMe = getTemplateName(item);
|
||||
if (gaveMe.equals("object/tangible/loot/quest/nym_filtered_gas.iff"))
|
||||
{
|
||||
setObjVar(player, "nym.kole.done", 1);
|
||||
string_id message = new string_id(CONVO, "gave_gas");
|
||||
chat.chat(self, message);
|
||||
return SCRIPT_OVERRIDE;
|
||||
}
|
||||
else
|
||||
{
|
||||
string_id message = new string_id(CONVO, "whats_this");
|
||||
chat.chat(self, message);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
}
|
||||
public int OnTriggerVolumeEntered(obj_id self, String volumeName, obj_id breacher) throws InterruptedException
|
||||
{
|
||||
if (!isPlayer(breacher))
|
||||
{
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if (!volumeName.equals(FACETO_VOLUME_NAME))
|
||||
{
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if (isInNpcConversation(self))
|
||||
{
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
if (canSee(self, breacher))
|
||||
{
|
||||
faceTo(self, breacher);
|
||||
}
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
public int doISetup(obj_id self, dictionary params) throws InterruptedException
|
||||
{
|
||||
setCondition(self, CONDITION_INTERESTING);
|
||||
messageTo(self, "unkillable", null, 2, false);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
public int unkillable(obj_id self, dictionary params) throws InterruptedException
|
||||
{
|
||||
setInvulnerable(self, true);
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user