public void OnPointerDown(PointerEventData eventData) { var mouseItem = PlayerController.instance.mouseItem; if (mouseItem != null && !CanAccept(mouseItem)) { return; } Item[] unequipped = PlayerController.instance.equip.Equip(mouseItem, bodyLoc); if (mouseItem != null) { AudioManager.instance.Play(mouseItem.useSound); } else if (unequipped[0] != null) { AudioManager.instance.Play(SoundInfo.itemPickup); } PlayerController.instance.mouseItem = unequipped[0]; if (unequipped[1] != null) { if (!PlayerController.instance.inventory.Put(unequipped[1])) { Pickup.Create(PlayerController.instance.character.transform.position, unequipped[1]); } } }
public void OnPointerDown(PointerEventData eventData) { var mouseItem = PlayerController.instance.mouseItem; if (mouseItem != null && !CanEquip(mouseItem)) { string charClass = PlayerController.instance.charStat.info.classNameLower; AudioManager.instance.Play(charClass + "_impossible_1"); return; } Item[] unequipped = PlayerController.instance.equip.Equip(mouseItem, bodyLoc); if (mouseItem != null) { AudioManager.instance.Play(mouseItem.useSound); } else if (unequipped[0] != null) { AudioManager.instance.Play(SoundInfo.itemPickup); } PlayerController.instance.mouseItem = unequipped[0]; if (unequipped[1] != null) { if (!PlayerController.instance.inventory.Put(unequipped[1])) { Pickup.Create(PlayerController.instance.character.transform.position, unequipped[1]); } } }
public GasStation(Vector3 position) { Position = position; _pickup = Pickup.Create(ObjectModel.Petrolpump, PickupType.ScriptedActionsOnlyEveryFewSeconds, position); _textLabel = new TextLabel("Honk the horn\nto refuel your vehicle", Color.Teal, position, 30.0f); _mapIcon = new DynamicMapIcon(position, 56); }
static void Drop(string code, Vector3 pos, int itemLevel, QualityFactors qualityFactors = new QualityFactors()) { var treasureClass = TreasureClass.Find(code); if (treasureClass == null) { var item = Item.Create(code); if (item == null) { Debug.LogWarning("Item wasn't spawned: " + code); return; } item.level = itemLevel; SelectItemQuality(item, qualityFactors, mf: 1000); if (item.quality != Item.Quality.HiQuality && item.quality != Item.Quality.Normal && item.quality != Item.Quality.LowQuality) { item.identified = false; } GenerateItemProperties(item); GenerateItemQuantity(item); Pickup.Create(pos, item); } else { Drop(treasureClass, pos, itemLevel, qualityFactors); } }
public void OnPointerDown(PointerEventData eventData) { if (_player.HandsItem != null && !CanEquip(_player.HandsItem)) { string charClass = _player.charStatInfo.classNameLower; AudioManager.instance.Play(charClass + "_impossible_1"); return; } Item[] unequipped = _player.equip.Equip(_player.HandsItem, bodyLoc); if (_player.HandsItem != null) { AudioManager.instance.Play(_player.HandsItem.useSound); } else if (unequipped[0] != null) { AudioManager.instance.Play(SoundInfo.itemPickup); } _player.HandsItem = unequipped[0]; if (unequipped[1] != null) { if (!_player.inventory.Put(unequipped[1])) { Pickup.Create(_player.transform.position, unequipped[1]); } } }
public static void Drop(SetItem setItem, Vector3 pos) { var item = Item.Create(setItem.itemCode); item.quality = Item.Quality.Set; item.level = setItem.level; item.identified = false; GenerateSetItem(item, setItem); Pickup.Create(pos, item); }
public void TestBuyAndCancel() { Pickup pickup = Pickup.Create(parameters); pickup.Buy("UPS", pickup.pickup_rates[0].service); Assert.IsNotNull(pickup.confirmation); pickup.Cancel(); Assert.AreEqual(pickup.status, "canceled"); }
public void OnGoldButton() { if (PlayerController.instance.inventory.gold > 0) { var item = Item.Create("gld"); item.quantity = PlayerController.instance.inventory.gold; Pickup.Create(PlayerController.instance.character.transform.position, item); PlayerController.instance.inventory.gold = 0; } }
public void OnGoldButton() { if (_player.inventory.gold > 0) { var item = Item.Create("gld"); item.quantity = _player.inventory.gold; Pickup.Create(_player.transform.position, item); _player.inventory.gold = 0; } }
public static void Drop(UniqueItem uniqueItem, Vector3 pos) { var item = Item.Create(uniqueItem.code); item.quality = Item.Quality.Unique; item.level = uniqueItem.level; item.identified = false; GenerateUnique(item, uniqueItem); Pickup.Create(pos, item); }
public void TestCreateAndRetrieve() { Pickup pickup = Pickup.Create(parameters); Assert.IsNotNull(pickup.id); Assert.AreEqual(pickup.address.street1, "164 Townsend Street"); Pickup retrieved = Pickup.Retrieve(pickup.id); Assert.AreEqual(pickup.id, retrieved.id); }
public void TestBuyAndCancel() { Pickup pickup = Pickup.Create(parameters); pickup.Buy(pickup.pickup_rates[0].carrier, pickup.pickup_rates[0].service); Assert.IsNotNull(pickup.confirmation); // XXX: This isn't working. //pickup.Cancel(); //Assert.AreEqual(pickup.status, "canceled"); }
public void Captured(Player player, bool takeInPosBase = true) { Flag.IsPositionBase = false; Flag.AttachedObject(player); Flag.PlayerCaptured = player; player.JumpTime = 0; if (player.IsEnableSpeed()) { player.SpeedTime = 0; player.ClearAnimations(); } if (player.IsEnableInvisible()) { player.InvisibleTime = 0; player.DisableInvisibility(); } if (player.IsInvisible) { player.DisableInvisibility(); player.IsInvisible = false; } if (takeInPosBase) { PickupInfo = Pickup.Create(1239, 1, Flag.PositionBase); PickupInfo.PickUp += OnPickUp; BasePlayer.SendClientMessageToAll($"{OtherColor}[Team {NameTeam}]: {player.Name} capturó la bandera {NameColor} del equipo {NameTeam}."); player.SendClientMessage($"{Color.Pink}[!]: {Color.White}Capturaste la bandera, debes llevarla a tu base."); player.UpdateAdrenaline(4, "capturar la bandera"); BasePlayer.GameTextForAll($"~n~~n~~n~{ColorGameText}la bandera {NameColor} fue capturada!", 5000, 3); } else { BasePlayer.SendClientMessageToAll($"{OtherColor}[Team {NameTeam}]: {player.Name} tomó la bandera {NameColor} del equipo {NameTeam}."); player.SendClientMessage($"{Color.Pink}[!]: {Color.White}Debes llevar esa bandera a tu base."); BasePlayer.GameTextForAll($"~n~~n~~n~{ColorGameText}la bandera {NameColor} fue tomada!", 5000, 3); Timer.Stop(); } player.GameText($"~n~~n~~n~{ColorGameText}lleva la bandera {NameColor} a tu base!", 5000, 3); }
void ControlCharacter() { if (player == null) { return; } DrawDebugPath(); if (player.HandsItem != null) { if (Input.GetMouseButtonDown(0)) { Pickup.Create(player.transform.position, player.HandsItem); FlushInput(); player.HandsItem = null; } return; } usingSkills = false; for (int i = 0; i < hotSkills.Count; ++i) { SkillInfo skill = hotSkills[i]; KeyCode key = hotSkillsBindings[i]; if (skill == null || !Input.GetKey(key)) { continue; } usingSkills = true; if (MouseSelection.instance.HotEntity != null) { var targetCharacter = MouseSelection.instance.HotEntity.GetComponent <Character>(); if (targetCharacter != null) { player.character.UseSkill(skill, targetCharacter); } else { player.character.UseSkill(skill, Iso.MapToIso(MouseSelection.instance.HotEntity.transform.position)); } } else { player.character.UseSkill(skill, IsoInput.mousePosition); } } if (!usingSkills) { if (Input.GetMouseButton(1) || (Input.GetKey(KeyCode.LeftShift) && Input.GetMouseButton(0))) { player.character.UseSkill(rightSkill, IsoInput.mousePosition); } else if (Input.GetMouseButton(0)) { if (MouseSelection.instance.HotEntity != null) { var targetCharacter = MouseSelection.instance.HotEntity.GetComponent <Character>(); if (targetCharacter != null) { if (targetCharacter.monStat != null && targetCharacter.monStat.npc) { // todo interact with npc } else { player.character.UseSkill(leftSkill, targetCharacter); } } else { player.character.Use(MouseSelection.instance.HotEntity); } } else { player.character.GoTo(IsoInput.mousePosition); } } } player.character.run = run; }
void Execute(string input) { if (input == "") { return; } if (history.Count == 0 || history[history.Count - 1] != input) { history.Add(input); } string[] parts = input.Split(' '); if (parts.Length >= 2 && parts[0] == "/spawn") { var pos = Iso.MapToWorld(IsoInput.mouseTile); if (parts[1] == "pickup") { string flippyFile = @"data\global\items\flp" + parts[2] + ".dc6"; Pickup.Create(pos, flippyFile, flippyFile); return; } if (parts[1] == "item") { string subname = parts[2].ToLower(); var uniqueItem = UniqueItem.sheet.Find(s => s.nameStr.ToLower().Contains(subname)); if (uniqueItem != null) { ItemDrop.Drop(uniqueItem, pos); } else { string code = parts[2]; ItemDrop.Drop(code, pos, 100); } return; } if (parts[1] == "itemset") { string subname = parts[2].ToLower(); var set = ItemSet.sheet.Find(s => s.id.ToLower().Contains(subname)); if (set != null) { foreach (var setItem in set.items) { ItemDrop.Drop(setItem, pos); } } return; } var id = parts[1]; var objectInfo = ObjectInfo.Find(id); if (objectInfo != null) { var obj = WorldBuilder.SpawnObject(objectInfo, pos, fit: true); if (obj != null && parts.Length > 2) { obj.modeName = parts[2]; } } else { int monsterCount = parts.Length > 2 ? int.Parse(parts[2]) : 1; for (int i = 0; i < monsterCount; ++i) { WorldBuilder.SpawnMonster(id, pos); } } } else if (parts.Length == 2 && parts[0] == "/act") { if (int.TryParse(parts[1], out int actNumber)) { WorldBuilder.GoToAct(actNumber); } } else if (parts.Length == 2 && parts[0] == "/addstate") { string stateCode = parts[1]; var stateInfo = StateInfo.FindByCode(stateCode); if (stateInfo != null) { var player = WorldState.instance.Player.gameObject; Overlay.Create(player, stateInfo.castoverlay, loop: false); Overlay.Create(player, stateInfo.overlay1, loop: true); Overlay.Create(player, stateInfo.overlay2, loop: true); Overlay.Create(player, stateInfo.overlay3, loop: true); Overlay.Create(player, stateInfo.overlay4, loop: true); } } else { Debug.LogWarning(input); } }
void ControlCharacter() { if (character == null) { return; } DrawDebugPath(); if (_mouseItem != null) { if (Input.GetMouseButtonDown(0)) { Pickup.Create(character.transform.position, _mouseItem); FlushInput(); mouseItem = null; } return; } usingSkills = false; for (int i = 0; i < hotSkills.Count; ++i) { SkillInfo skill = hotSkills[i]; KeyCode key = hotSkillsBindings[i]; if (skill == null || !Input.GetKey(key)) { continue; } usingSkills = true; if (MouseSelection.current != null) { var targetCharacter = MouseSelection.current.GetComponent <Character>(); if (targetCharacter != null) { character.UseSkill(skill, targetCharacter); } else { character.UseSkill(skill, Iso.MapToIso(MouseSelection.current.transform.position)); } } else { character.UseSkill(skill, IsoInput.mousePosition); } } // move to PlayerController members once Datasheets loading done not in static section SkillInfo leftSkill = SkillInfo.Attack; SkillInfo rightSkill = SkillInfo.Attack; if (!usingSkills) { if (Input.GetMouseButton(1) || (Input.GetKey(KeyCode.LeftShift) && Input.GetMouseButton(0))) { character.UseSkill(rightSkill, IsoInput.mousePosition); } else if (Input.GetMouseButton(0) && !EventSystem.current.IsPointerOverGameObject()) { if (MouseSelection.current != null) { var targetCharacter = MouseSelection.current.GetComponent <Character>(); if (targetCharacter != null) { if (targetCharacter.monStat != null && targetCharacter.monStat.npc) { // todo interact with npc } else { character.UseSkill(leftSkill, targetCharacter); } } else { character.Use(MouseSelection.current); } } else { character.GoTo(IsoInput.mousePosition); } } else { character.LookAt(IsoInput.mousePosition); } } character.run = run; }
void Process(string input) { if (input == "") { return; } if (history.Count == 0 || history[history.Count - 1] != input) { history.Add(input); } string[] parts = input.Split(' '); if (parts.Length >= 2 && parts[0] == "/spawn") { var pos = Iso.MapToWorld(IsoInput.mouseTile); if (parts[1] == "pickup") { string flippyFile = @"data\global\items\flp" + parts[2] + ".dc6"; Pickup.Create(pos, flippyFile, flippyFile); return; } if (parts[1] == "item") { string code = parts[2]; ItemDrop.Drop(code, pos, 100); return; } if (parts[1] == "itemset") { string subname = parts[2]; var set = ItemSet.sheet.Find(s => s.id.ToLower().Contains(subname)); if (set != null) { foreach (var setItem in set.items) { var item = Item.Create(setItem.itemCode); item.quality = Item.Quality.Set; item.level = setItem.level; item.identified = false; ItemDrop.GenerateSetItem(item); Pickup.Create(pos, item); } } return; } var id = parts[1]; var objectInfo = ObjectInfo.Find(id); if (objectInfo != null) { var obj = World.SpawnObject(objectInfo, pos, fit: true); if (obj != null && parts.Length > 2) { obj.modeName = parts[2]; } return; } World.SpawnMonster(id, pos); } else { Debug.LogWarning(input); } }