Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void QuestLevel7GenerateActionChain(Chain [int] chains)
- {
- if (my_level() < 7) return;
- QuestState state = QuestState("questL07Cyrptic");
- if (state.finished)
- return;
- int default_priority = 0;
- if ($effect[human-fish hybrid].have_effect() == 0 && CounterLookup("Rain Monster").CounterMayHitNextTurn() && get_campground()[$item[Little Geneticist DNA-Splicing Lab]] > 0)
- default_priority = 40;
- if (!state.started)
- {
- chains.listAppend(Chain().ChainAction(ActionVisitURL("council.php")));
- return;
- }
- if (get_property_int("cyrptAlcoveEvilness") > 26)
- {
- if (my_meat() >= 1000)
- {
- boolean avoid_appending = false;
- string waiting_for = "";
- Chain c;
- if (true)
- {
- if ($effect[frosty].have_effect() == 0 && $effect[Human-Insect Hybrid].have_effect() == 0)
- {
- if (chains.count() > 0 && false)
- {
- avoid_appending = true;
- waiting_for = "frost flower";
- }
- if (get_property("sidequestOrchardCompleted") == "none" || get_property("sidequestNunsCompleted") == "none" || !QuestState("questL12War").started)
- {
- int main_substats = my_basestat(my_primesubstat());
- int substats_remaining = substatsForLevel(my_level() + 1) - main_substats;
- if (my_level() <= 10 && (my_level() < 10 || substats_remaining >= 300))
- c.ChainPriority(default_priority + 24);
- else
- c.ChainPriority(default_priority + 60);
- }
- }
- else if (!temporarily_disable_alternate_frosty_uses)
- {
- if ($effect[Human-Insect Hybrid].have_effect() > 0)
- c.ChainPriority(WAR_PRIORITY - 6);
- else
- c.ChainPriority(WAR_PRIORITY);
- }
- }
- if (get_campground()[$item[Little Geneticist DNA-Splicing Lab]] > 0)
- {
- if ($item[gene tonic: insect].available_amount() == 0 && $effect[human-insect hybrid].have_effect() == 0 && my_daycount() <3 ) //try for potion first
- {
- avoid_appending = true;
- waiting_for = "insect DNA potion";
- }
- }
- boolean requiring_offhand = false;
- if ($item[Sheila Take a Crossbow].available_amount() >= 2)
- {
- c.ChainAction(ActionCLICommand("equip offhand Sheila Take a Crossbow"));
- requiring_offhand = true;
- }
- if ($item[hors d'oeuvre tray].available_amount() > 0 && !requiring_offhand)
- {
- c.ChainRequireEquipment($item[hors d'oeuvre tray]);
- requiring_offhand = true;
- }
- if ($item[1-ball].available_amount() > 0)
- {
- if ($effect[Blessing of Pikachutlotal].have_effect() == 0 && QuestState("questL11Worship").mafia_internal_step >= 4 && get_property_int("hiddenOfficeProgress") >= 1)
- {
- c.ChainAction(ActionCLICommand("abort use 1-ball in north-east shrine"));
- }
- else if (!requiring_offhand)
- {
- requiring_offhand = true;
- c.ChainRequireEquipment($item[1-ball]);
- }
- }
- if ($item[buddy bjorn].available_amount() > 0)
- c.ChainDesireBjornFamiliar($familiar[cuddlefish]);
- if ($item[Sheila Take a Crossbow].available_amount() > 0)
- {
- c.ChainRequireEquipment($item[Sheila Take a Crossbow]);
- if (!requiring_offhand && $item[half a purse].available_amount() > 0)
- {
- c.ChainRequireEquipment($item[half a purse]);
- requiring_offhand = true;
- }
- }
- c.ChainDesireInit(850);
- if ($item[over-the-shoulder folder holder].available_amount() > 0 && $item[lord soggyraven's slippers].available_amount() > 0 && $item[furniture dolly].available_amount() > 0)
- {
- c.ChainAvoidEquipment($item[duonoculars]);
- c.ChainAvoidEquipment($item[red shoe]);
- c.ChainAvoidEquipment($item[ring of conflict]);
- }
- c.ChainDesireCombatRate(-25);
- c.ChainAction(ActionAdventure($location[the defiled alcove]));
- if (!avoid_appending)
- chains.listAppend(c);
- else
- chains.listAppend(Chain().ChainUnimplemented("defiled alcove waiting for " + waiting_for));
- }
- }
- else if (get_property_int("cyrptAlcoveEvilness") > 0)
- {
- Chain c;
- //boss
- if (get_property_int("cyrptAlcoveEvilness") <= 25)
- {
- c.ChainDesireMeat();
- c.ChainHackStopTheWasabi();
- }
- c.ChainAction(ActionAdventure($location[the defiled alcove]));
- c.ChainPriority(default_priority);
- chains.listAppend(c);
- }
- if (get_property_int("cyrptCrannyEvilness") > 26)
- {
- if (my_path_id() != PATH_HEAVY_RAINS && $items[spooky putty sheet,empty rain-doh can].available_amount() == 0)
- {
- Chain c;
- c.ChainDesireCombatRate(-25);
- c.ChainDesireML(250);
- c.ChainAction(ActionAdventure($location[the defiled cranny]));
- c.ChainPriority(default_priority);
- chains.listAppend(c);
- }
- else
- {
- Chain c;
- c.ChainUnimplemented("cranny");
- c.ChainPriority(default_priority);
- chains.listAppend(c);
- }
- }
- else if (get_property_int("cyrptCrannyEvilness") > 0)
- {
- //boss
- Chain c;
- if (get_property_int("cyrptCrannyEvilness") <= 25)
- {
- c.ChainDesireMeat();
- c.ChainHackStopTheWasabi();
- }
- c.ChainAction(ActionAdventure($location[the defiled cranny]));
- c.ChainPriority(default_priority);
- chains.listAppend(c);
- }
- if (get_property_int("cyrptNicheEvilness") > 26)
- {
- Chain c;
- if (CounterLookup("Rain Monster").CounterMayHitNextTurn() && !$skill[thunder bird].have_skill())
- c.ChainPriority(-21);
- c.ChainDesireMonster($monster[dirty old lihc]);
- c.ChainAction(ActionAdventure($location[the defiled niche]));
- c.ChainPriority(default_priority);
- chains.listAppend(c);
- }
- else if (get_property_int("cyrptNicheEvilness") > 0)
- {
- //boss
- Chain c;
- c.ChainIgnoreMonstersBanishedInZone();
- c.ChainAction(ActionAdventure($location[the defiled niche]));
- c.ChainPriority(default_priority);
- chains.listAppend(c);
- }
- if (get_property_int("cyrptNookEvilness") > 26)
- {
- if ($item[evil eye].available_amount() > 0)
- {
- chains.listAppend(Chain().ChainAction(ActionUseItem($item[evil eye])));
- }
- else if (dispensary_available() || true)
- {
- Chain c;
- boolean using_limited = false;
- if (my_daycount() == 1)
- {
- if ($item[carrot nose].available_amount() > 0 && availableSpleen() >= 3 && $effect[Pla-see-bo].have_effect() == 0)
- {
- c.ChainAction(ActionAcquireItem($item[carrot juice]));
- c.ChainAction(ActionCLICommand("chew carrot juice"));
- using_limited = true;
- }
- if ($item[carrot juice].available_amount() > 0 && availableSpleen() >= 3 && $effect[Pla-see-bo].have_effect() == 0)
- {
- c.ChainAction(ActionCLICommand("chew carrot juice"));
- using_limited = true;
- }
- }
- if ($item[resolution: be happier].available_amount() > 1 && $effect[Joyful Resolve].have_effect() == 0)
- {
- using_limited = true;
- c.ChainAction(ActionUseItem($item[resolution: be happier]));
- }
- c.ChainDesireItem(400);
- c.ChainAction(ActionAdventure($location[the defiled nook]));
- c.ChainIgnoreWashaway();
- c.ChainPriority(default_priority);
- if (!dispensary_available())
- c.ChainPriority(40);
- else if (CounterWanderingMonsterMayHitInXTurns(2) && using_limited)
- c.ChainPriority(10);
- else if (CounterWanderingMonsterMayHitInXTurns(7) && using_limited)
- c.ChainPriority(3);
- if ($effect[Pla-see-bo].have_effect() > 0)
- c.ChainPriority(-4);
- chains.listAppend(c);
- }
- else
- chains.listAppend(Chain().ChainUnimplemented("no dispensary available"));
- }
- else if (get_property_int("cyrptNookEvilness") > 0)
- {
- //boss
- Chain c;
- c.ChainAction(ActionAdventure($location[the defiled nook]));
- c.ChainPriority(default_priority);
- chains.listAppend(c);
- }
- boolean dragon_up = true;
- foreach s in $strings[cyrptAlcoveEvilness,cyrptCrannyEvilness,cyrptNicheEvilness,cyrptNookEvilness]
- {
- if (get_property_int(s) != 0)
- dragon_up = false;
- }
- if (dragon_up)
- {
- Chain c;
- c.ChainDesireEasyFight();
- if (my_path_id() == PATH_HEAVY_RAINS)
- c.ChainRequireFamiliar($familiar[warbear drone]);
- c.ChainPreferWanderingMonster();
- c.ChainAction(ActionVisitURL("crypt.php?action=heart"));
- c.ChainAction(ActionVisitURL("choice.php?whichchoice=527&option=1"));
- c.ChainAction(ActionRunCombat());
- c.ChainAction(ActionVisitURL("council.php")); //is this some sort of joke, commander shepard? are you calling in just to cut us off again?
- c.ChainPriority(default_priority);
- c.ChainSetWillUseAdventure();
- chains.listAppend(c);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement