private void GridView_DragDrop(object sender, DragEventArgs e) { DataGridView grid = (DataGridView)sender; Point clientPoint = grid.PointToClient(new Point(e.X, e.Y)); rowIndexOfItemUnderMouseToDrop = grid.HitTest(clientPoint.X, clientPoint.Y).RowIndex; if (rowIndexOfItemUnderMouseToDrop == -1) { return; } if (e.Effect == DragDropEffects.Move) { DataGridViewRow rowToMove = e.Data.GetData(typeof(DataGridViewRow)) as DataGridViewRow; if (rowIndexOfItemUnderMouseToDrop >= (grid.RowCount - 1)) // Blocca il drag fuori dalle celle salvate { return; } if (rowIndexFromMouseDown >= (grid.RowCount - 1)) // Blocca il drag di una cella non salvata { return; } grid.Rows.RemoveAt(rowIndexFromMouseDown); grid.Rows.Insert(rowIndexOfItemUnderMouseToDrop, rowToMove); switch (grid.Name) { case "autolootdataGridView": AutoLoot.CopyTable(); break; case "scavengerdataGridView": Scavenger.CopyTable(); break; case "organizerdataGridView": Organizer.CopyTable(); break; case "vendorbuydataGridView": BuyAgent.CopyTable(); break; case "vendorsellGridView": SellAgent.CopyTable(); break; case "restockdataGridView": Restock.CopyTable(); break; case "graphfilterdatagrid": RazorEnhanced.Filters.CopyGraphTable(); break; } } }
private void scavengerEnableCheck_CheckedChanged(object sender, EventArgs e) { if (World.Player == null) // offline { if (scavengerCheckBox.Checked) { scavengerCheckBox.Checked = false; Scavenger.AddLog("You are not logged in game!"); } return; } if (scavengerListSelect.Text == String.Empty) // Nessuna lista { if (scavengerCheckBox.Checked) { scavengerCheckBox.Checked = false; Scavenger.AddLog("Item list not selected!"); } return; } if (scavengerCheckBox.Checked) { ScavengerListSelect.Enabled = false; scavengerButtonAddList.Enabled = false; scavengerButtonRemoveList.Enabled = false; scavengerButtonExport.Enabled = false; scavengerButtonImport.Enabled = false; scavengerButtonClone.Enabled = false; scavengerDragDelay.Enabled = false; scavengerRange.Enabled = false; Scavenger.ResetIgnore(); Scavenger.AutoMode = true; Scavenger.AddLog("Scavenger Engine Start..."); if (showagentmessageCheckBox.Checked) { Misc.SendMessage("SCAVENGER: Engine Start...", false); } } else { ScavengerListSelect.Enabled = true; scavengerButtonAddList.Enabled = true; scavengerButtonRemoveList.Enabled = true; scavengerButtonExport.Enabled = true; scavengerButtonImport.Enabled = true; scavengerButtonClone.Enabled = true; scavengerDragDelay.Enabled = true; scavengerRange.Enabled = true; Scavenger.AutoMode = false; Scavenger.AddLog("Scavenger Engine Stop..."); if (showagentmessageCheckBox.Checked) { Misc.SendMessage("SCAVENGER: Engine Stop...", false); } } }
//Scavs in the flee list will want to flee the room, and are removed from the list when they do private static void Scavenger_Act(On.Scavenger.orig_Act orig, Scavenger self) { orig.Invoke(self); if (self.room.world.game.IsStorySession) { if (fleeList.Contains(self)) { if (self.abstractCreature.Room.name != shelter) { fleeList.Remove(self); } else { self.AI.behavior = ScavengerAI.Behavior.LeaveRoom; self.abstractCreature.abstractAI.SetDestination(self.room.GetWorldCoordinate(self.room.ShortcutLeadingToNode(0).DestTile)); if (Vector2.Distance(self.mainBodyChunk.pos, self.room.MiddleOfTile(self.room.ShortcutLeadingToNode(0).StartTile)) < 50f) { for (int i = 0; i < self.room.shortcuts.Length; i++) { if (self.room.shortcuts[i].shortCutType == ShortcutData.Type.RoomExit) { self.SuckedIntoShortCut(self.room.shortcuts[i].StartTile, false); } } } } } } }
//Scavengers cannot pick up objects while in a Shelter private static bool Scavenger_Grab(On.Scavenger.orig_Grab orig, Scavenger self, PhysicalObject obj, int graspUsed, int chunkGrabbed, Creature.Grasp.Shareability shareability, float dominance, bool overrideEquallyDominant, bool pacifying) { if (PickUp && self.room != null && self.room.abstractRoom.shelter && self.room.world.game.IsStorySession) { return(false); } return(orig.Invoke(self, obj, graspUsed, chunkGrabbed, shareability, dominance, overrideEquallyDominant, pacifying)); }
//Add scavs to the flee list, changing their behaviour to LeaveRoom while they're in it private static void Scavenger_Violence(On.Scavenger.orig_Violence orig, Scavenger self, BodyChunk source, Vector2?directionAndMomentum, BodyChunk hitChunk, PhysicalObject.Appendage.Pos hitAppendage, Creature.DamageType type, float damage, float stunBonus) { if (Flee && self.room != null && self.room.abstractRoom.shelter && self.room.world.game.IsStorySession) { shelter = self.room.abstractRoom.name; fleeList.Add(self); self.AI.behavior = ScavengerAI.Behavior.LeaveRoom; } orig.Invoke(self, source, directionAndMomentum, hitChunk, hitAppendage, type, damage, stunBonus); }
private void scavengertListSelect_SelectedIndexChanged(object sender, EventArgs e) { Scavenger.UpdateListParam(scavengerListSelect.Text); if (scavengerListSelect.Focused && scavengerListSelect.Text != String.Empty) { Settings.Scavenger.ListUpdate(scavengerListSelect.Text, Scavenger.ScavengerDelay, Scavenger.ScavengerBag, true, Scavenger.MaxRange); Scavenger.AddLog("Scavenger list changed to: " + scavengerListSelect.Text); } Scavenger.InitGrid(); }
internal void ScavengerAddItem() { if (showagentmessageCheckBox.Checked) { Misc.SendMessage("Select item to add in Scavenger list", false); } if (scavengerListSelect.Text != String.Empty) { Targeting.OneTimeTarget(new Targeting.TargetResponseCallback(ScavengerItemTarget_Callback)); } else { Scavenger.AddLog("Item list not selected!"); } }
static void Main(string[] args) { Console.WriteLine("START DUMPING VIEWS FROM WIKIMEDIA - Version 1.0.0"); Console.WriteLine("--------------------------------------------------"); var fileService = new FileService(); var dataService = new DataService(); var consoleReportService = new ConsoleReportService(); var reportBuilderService = new ReportDataBuilderService(); var scavenger = new Scavenger(fileService, dataService, consoleReportService, reportBuilderService); scavenger.Process(); Console.ReadLine(); }
private void GridView_CellContentClick(object sender, DataGridViewCellEventArgs e) { DataGridView grid = (DataGridView)sender; if (!grid.Focused) { return; } if (e.ColumnIndex == 0) // Checkbox cambiate di stato genera save { switch (grid.Name) { case "autolootdataGridView": AutoLoot.CopyTable(); break; case "scavengerdataGridView": Scavenger.CopyTable(); break; case "organizerdataGridView": Organizer.CopyTable(); break; case "vendorbuydataGridView": BuyAgent.CopyTable(); break; case "vendorsellGridView": SellAgent.CopyTable(); break; case "restockdataGridView": Restock.CopyTable(); break; case "graphfilterdatagrid": RazorEnhanced.Filters.CopyGraphTable(); break; case "journalfilterdatagrid": RazorEnhanced.Filters.CopyJournalFilterTable(); break; } } }
private void scavengerEditProps_Click(object sender, EventArgs e) { if (scavengerListSelect.Text != String.Empty) { if (scavengerdataGridView.CurrentCell == null) { return; } DataGridViewRow row = scavengerdataGridView.Rows[scavengerdataGridView.CurrentCell.RowIndex]; EnhancedScavengerEditItemProps editProp = new EnhancedScavengerEditItemProps(ref row) { TopMost = true }; editProp.Show(); } else { Scavenger.AddLog("Item list not selected!"); } }
private void ScavengerItemTarget_Callback(bool loc, Serial serial, Point3D pt, ushort itemid) { Item scavengerItem = World.FindItem(serial); if (scavengerItem != null && scavengerItem.Serial.IsItem) { if (showagentmessageCheckBox.Checked) { Misc.SendMessage("Scavenger item added: " + scavengerItem.ToString(), false); } Scavenger.AddLog("Scavenger item added: " + scavengerItem.ToString()); this.Invoke((MethodInvoker) delegate { Scavenger.AddItemToList(scavengerItem.Name, scavengerItem.ItemID, scavengerItem.Hue); }); } else { if (showagentmessageCheckBox.Checked) { Misc.SendMessage("Invalid target", false); } Scavenger.AddLog("Invalid target"); } }
private void SaveData() { List <Scavenger.ScavengerItem.Property> propslist = new List <Scavenger.ScavengerItem.Property>(); foreach (DataGridViewRow row in scavengerpropGridView.Rows) { if (row.IsNewRow) { continue; } int min = Convert.ToInt32((string)row.Cells[1].Value); int max = Convert.ToInt32((string)row.Cells[2].Value); string propname = string.Empty; if (row.Cells[0].Value != null) { propname = row.Cells[0].Value.ToString(); } propslist.Add(new Scavenger.ScavengerItem.Property(propname, min, max)); } m_row.Cells[4].Value = propslist; Scavenger.CopyTable(); }
private void EnhancedAgentAddList_Click(object sender, EventArgs e) { bool fail = false; string newList = ""; if (AgentListToAdd.Text == "") { fail = true; } if (!Regex.IsMatch(AgentListToAdd.Text, "^[a-zA-Z0-9_]+$")) { fail = true; } newList = AgentListToAdd.Text.ToLower(); switch (m_agentid) { case 1: if (Settings.AutoLoot.ListExists(newList)) { fail = true; } break; case 2: if (Settings.Scavenger.ListExists(newList)) { fail = true; } break; case 3: if (Settings.Organizer.ListExists(newList)) { fail = true; } break; case 4: if (Settings.BuyAgent.ListExists(newList)) { fail = true; } break; case 5: if (Settings.SellAgent.ListExists(newList)) { fail = true; } break; case 6: if (Settings.Dress.ListExists(newList)) { fail = true; } break; case 7: if (Settings.Friend.ListExists(newList)) { fail = true; } break; case 8: if (Settings.Restock.ListExists(newList)) { fail = true; } break; case 9: if (RazorEnhanced.Shard.Exists(newList)) { fail = true; } break; } if (fail) { MessageBox.Show("Invalid list name!", "Invalid list name!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); fail = true; } else { switch (m_agentid) { case 1: AutoLoot.AddList(newList); break; case 2: Scavenger.AddList(newList); break; case 3: Organizer.AddList(newList); break; case 4: BuyAgent.AddList(newList); break; case 5: SellAgent.AddList(newList); break; case 6: Dress.AddList(newList); HotKey.Init(); break; case 7: Friend.AddList(newList); break; case 8: Restock.AddList(newList); break; case 9: RazorEnhanced.Shard.Insert(newList, "Not set", "Not Set", "0.0.0.0", "0", false, false); break; } Close(); } }
void Awake() { instance = this; }
public override void Realize() { if (realizedCreature != null) { return; } switch (creatureTemplate.TopAncestor().type) { case CreatureTemplate.Type.Slugcat: realizedCreature = new Player(this, world); break; case CreatureTemplate.Type.LizardTemplate: realizedCreature = new Lizard(this, world); break; case CreatureTemplate.Type.Fly: realizedCreature = new Fly(this, world); break; case CreatureTemplate.Type.Leech: realizedCreature = new Leech(this, world); break; case CreatureTemplate.Type.Snail: realizedCreature = new Snail(this, world); break; case CreatureTemplate.Type.Vulture: realizedCreature = new Vulture(this, world); break; case CreatureTemplate.Type.GarbageWorm: GarbageWormAI.MoveAbstractCreatureToGarbage(this, Room); realizedCreature = new GarbageWorm(this, world); break; case CreatureTemplate.Type.LanternMouse: realizedCreature = new LanternMouse(this, world); break; case CreatureTemplate.Type.CicadaA: realizedCreature = new Cicada(this, world, creatureTemplate.type == CreatureTemplate.Type.CicadaA); break; case CreatureTemplate.Type.Spider: realizedCreature = new Spider(this, world); break; case CreatureTemplate.Type.JetFish: realizedCreature = new JetFish(this, world); break; case (CreatureTemplate.Type)patch_CreatureTemplate.Type.SeaDrake: realizedCreature = new SeaDrake(this, world); break; case CreatureTemplate.Type.BigEel: realizedCreature = new BigEel(this, world); break; case CreatureTemplate.Type.Deer: realizedCreature = new Deer(this, world); break; case (CreatureTemplate.Type)patch_CreatureTemplate.Type.WalkerBeast: realizedCreature = new WalkerBeast(this, world); break; case CreatureTemplate.Type.TubeWorm: realizedCreature = new TubeWorm(this, world); break; case CreatureTemplate.Type.DaddyLongLegs: realizedCreature = new DaddyLongLegs(this, world); break; case CreatureTemplate.Type.TentaclePlant: if (creatureTemplate.type == CreatureTemplate.Type.TentaclePlant) { realizedCreature = new TentaclePlant(this, world); } else { realizedCreature = new PoleMimic(this, world); } break; case CreatureTemplate.Type.MirosBird: realizedCreature = new MirosBird(this, world); break; case CreatureTemplate.Type.TempleGuard: realizedCreature = new TempleGuard(this, world); break; case CreatureTemplate.Type.Centipede: case CreatureTemplate.Type.RedCentipede: case CreatureTemplate.Type.Centiwing: case CreatureTemplate.Type.SmallCentipede: realizedCreature = new Centipede(this, world); break; case CreatureTemplate.Type.Scavenger: realizedCreature = new Scavenger(this, world); break; case CreatureTemplate.Type.Overseer: realizedCreature = new Overseer(this, world); break; case CreatureTemplate.Type.VultureGrub: if (creatureTemplate.type == CreatureTemplate.Type.VultureGrub) { realizedCreature = new VultureGrub(this, world); } else if (creatureTemplate.type == CreatureTemplate.Type.Hazer) { realizedCreature = new Hazer(this, world); } break; case CreatureTemplate.Type.EggBug: realizedCreature = new EggBug(this, world); break; case CreatureTemplate.Type.BigSpider: case CreatureTemplate.Type.SpitterSpider: realizedCreature = new BigSpider(this, world); break; case CreatureTemplate.Type.BigNeedleWorm: if (creatureTemplate.type == CreatureTemplate.Type.SmallNeedleWorm) { realizedCreature = new SmallNeedleWorm(this, world); } else { realizedCreature = new BigNeedleWorm(this, world); } break; case CreatureTemplate.Type.DropBug: realizedCreature = new DropBug(this, world); break; } InitiateAI(); for (int i = 0; i < stuckObjects.Count; i++) { if (stuckObjects[i].A.realizedObject == null) { stuckObjects[i].A.Realize(); } if (stuckObjects[i].B.realizedObject == null) { stuckObjects[i].B.Realize(); } } }
public Fish GetFishByStr() { Fish fish = null; var regex = new Regex(@".*(?=:)"); var fishName = regex.Match(LoadStr); var name = fishName.Value; regex = new Regex(@"\d+"); var matches = regex.Matches(LoadStr); var sizeCf = Convert.ToSingle(matches[0].Value) / 100; var minDeep = Convert.ToInt32(matches[1].Value); var maxDeep = Convert.ToInt32(matches[2].Value); regex = new Regex(@"(?<=\[).*(?=\])"); var match = regex.Match(LoadStr); var luresList = match.Value; var lures = luresList.Split(','); HashSet <FishBait> baits = new HashSet <FishBait>(); foreach (var s in lures) { baits.Add(FishBait.GetFishBaitByName(s)); } switch (name) { case "Щука": fish = new Pike(minDeep, maxDeep, sizeCf, baits); break; case "Арктич. Голец": fish = new ArcticChar(minDeep, maxDeep, sizeCf, baits); break; case "Жерех": fish = new Asp(minDeep, maxDeep, sizeCf, baits); break; case "Лещ": fish = new Bream(minDeep, maxDeep, sizeCf, baits); break; case "Налим": fish = new Burbot(minDeep, maxDeep, sizeCf, baits); break; case "Голавль": fish = new Chub(minDeep, maxDeep, sizeCf, baits); break; case "Карась Зол": fish = new GoldCarp(minDeep, maxDeep, sizeCf, baits); break; case "Карась Сер": fish = new SilverCarp(minDeep, maxDeep, sizeCf, baits); break; case "Хариус": fish = new Grayling(minDeep, maxDeep, sizeCf, baits); break; case "Окунь": fish = new Perch(minDeep, maxDeep, sizeCf, baits); break; case "Горбуша": fish = new PinkSalmon(minDeep, maxDeep, sizeCf, baits); break; case "Плотва": fish = new Roach(minDeep, maxDeep, sizeCf, baits); break; case "Рыбец": fish = new Rybets(minDeep, maxDeep, sizeCf, baits); break; case "Сёмга": fish = new Salmon(minDeep, maxDeep, sizeCf, baits); break; case "Подлещик": fish = new Scavenger(minDeep, maxDeep, sizeCf, baits); break; case "Змееголов": fish = new SnakeHead(minDeep, maxDeep, sizeCf, baits); break; case "Линь": fish = new Tench(minDeep, maxDeep, sizeCf, baits); break; } return(fish); }
// Use this for initialization void Start() { if (MomentumLabel == null) { MomentumLabel = this.transform.Find("MomentumLabel").GetComponent <Text>(); } if (overviewToggle == null) { overviewToggle = this.transform.Find("OverViewToggle").GetComponent <Toggle>(); } if (widthInput == null) { widthInput = this.transform.Find("MainMenu/SubMenu/Dev/MapW").GetComponent <InputField>(); } if (heightInput == null) { heightInput = this.transform.Find("MainMenu/SubMenu/Dev/MapH").GetComponent <InputField>(); } //main menu if (Level == null) { Level = this.transform.Find("MainMenu/Level").GetComponent <Button>(); } if (Puzzle == null) { Puzzle = this.transform.Find("MainMenu/Puzzle").GetComponent <Button>(); } if (Endless == null) { Endless = this.transform.Find("MainMenu/Endless").GetComponent <Button>(); } if (Scavenger == null) { Scavenger = this.transform.Find("MainMenu/Scavenger").GetComponent <Button>(); } if (reset == null) { reset = this.transform.Find("MainMenu/Reset").GetComponent <Button>(); } if (MainMenuToggle == null) { MainMenuToggle = this.transform.Find("MainMenu").GetComponent <UIGroupToggle>(); } Level.OnClickAsObservable().Subscribe(_ => GlobalVariables.variablesRx.mode.Value = Global.Enumerations.GameMode.LEVELS).AddTo(Level); Puzzle.OnClickAsObservable().Subscribe(_ => GlobalVariables.variablesRx.mode.Value = Global.Enumerations.GameMode.PUZZLE).AddTo(Puzzle); Endless.OnClickAsObservable().Subscribe(_ => GlobalVariables.variablesRx.mode.Value = Global.Enumerations.GameMode.ENDLESS).AddTo(Endless); Scavenger.OnClickAsObservable().Subscribe(_ => GlobalVariables.variablesRx.mode.Value = Global.Enumerations.GameMode.SCAVENGER).AddTo(Scavenger); reset.OnClickAsObservable().Subscribe(_ => player.reset()).AddTo(reset); GlobalVariables.variablesRx.mode.Subscribe(x => this.SetColor(x == Global.Enumerations.GameMode.LEVELS, Level)).AddTo(Level); GlobalVariables.variablesRx.mode.Subscribe(x => this.SetColor(x == Global.Enumerations.GameMode.PUZZLE, Puzzle)).AddTo(Puzzle); GlobalVariables.variablesRx.mode.Subscribe(x => this.SetColor(x == Global.Enumerations.GameMode.ENDLESS, Endless)).AddTo(Endless); GlobalVariables.variablesRx.mode.Subscribe(x => this.SetColor(x == Global.Enumerations.GameMode.SCAVENGER, Scavenger)).AddTo(Scavenger); //hook rx components into GlobalVariables.variablesRx.player_screen_coordinates.SubscribeToText(MomentumLabel).AddTo(MomentumLabel); GlobalVariables.preferencesRx.camera_overview.Subscribe(x => overviewToggle.isOn = x).AddTo(overviewToggle); overviewToggle.OnValueChangedAsObservable() .Subscribe(_ => GlobalVariables.preferencesRx.camera_overview.Value = !GlobalVariables.preferencesRx.camera_overview.Value) .AddTo(overviewToggle); GlobalVariables.levelPrefsRx.width.SubscribeToText(widthInput.textComponent).AddTo(widthInput.textComponent); GlobalVariables.levelPrefsRx.height.SubscribeToText(heightInput.textComponent).AddTo(heightInput.textComponent); widthInput.OnEndEditAsObservable().Subscribe(x => GlobalVariables.levelPrefsRx.width.Value = int.Parse(x)).AddTo(widthInput); heightInput.OnEndEditAsObservable().Subscribe(x => GlobalVariables.levelPrefsRx.height.Value = int.Parse(x)).AddTo(widthInput); }