protected override void UseStart(bool forceSuccess) { if (LastSkillFlavor == ImproveTrapFlavor) { //see if we can improve it any more ITrap trap = null; WaterTrap waterTrap = null; LandTrap landTrap = null; if (LastSkillTarget.worlditem.Is <LandTrap>(out landTrap)) { trap = landTrap; } if (LastSkillTarget.worlditem.Is <WaterTrap>(out waterTrap)) { trap = waterTrap; } if (trap != null) { if (trap.SkillOnSet >= 0.95f) { GUI.GUIManager.PostWarning("This trap's setting can't be improved further"); return; } mProgressDialogMessage = "Tweaking Trap..."; GetProgressDialog(); StartCoroutine(TweakTrapOverTime(trap)); } } else { base.UseStart(forceSuccess); } }
public override WIListOption GetListOption(IItemOfInterest targetObject) { mListOption = base.GetListOption(targetObject); mListOption.Flavors.Clear(); LandTrap landTrap = null; WaterTrap waterTrap = null; if (targetObject.IOIType == ItemOfInterestType.WorldItem) { if (targetObject.worlditem.Is <LandTrap>(out landTrap)) { if (landTrap.State.Mode == TrapMode.Set) { mListOption.Flavors.Add("Un-set Trap"); mListOption.Flavors.Add("Improve Setting"); } else { mListOption.Flavors.Add("Set Trap"); } } else if (targetObject.worlditem.Is <WaterTrap>(out waterTrap)) { if (waterTrap.State.Mode == TrapMode.Set) { mListOption.Flavors.Add("Un-set Trap"); mListOption.Flavors.Add("Improve Setting"); } else { mListOption.Flavors.Add("Set Trap"); } } } return(mListOption); }