public override void OnStart() { //#Sample: a chest containing a Lockpick; onClick, an Interaction is triggered that move the lockpick to player-Inventory InventoryItem Item = new LockPick(); Inventory.AddItem(Item, 1); rRemoveItem a = ScriptableObject.CreateInstance <rRemoveItem>(); rAddItem b = ScriptableObject.CreateInstance <rAddItem>(); a.Inventory = Inventory; a.Item = b.Item = Item; b.Inventory = DataController.instance.game.CurrentPlayer.GetInventory(); ReactionCollection.reactions = new Reaction[] { a, b }; }
public static PlayerClass ThiefClass() { var thief = new PlayerClass { Name = "Thief", IsBaseClass = true, ExperienceModifier = 2000, HelpText = new Help(), Skills = new List <Skill>(), ReclassOptions = new List <PlayerClass>(), MaxHpGain = 15, MinHpGain = 10, MaxManaGain = 15, MinManaGain = 10, MaxEnduranceGain = 15, MinEnduranceGain = 11, StatBonusStr = 1, StatBonusCon = 1 }; #region Lvl 1 skills var longBlades = LongBlades.LongBladesAb(); longBlades.Learned = true; thief.Skills.Add(longBlades); var shortBlades = ShortBlades.ShortBladesAb(); shortBlades.Learned = true; thief.Skills.Add(shortBlades); var staff = Staff.StaffAb(); staff.Learned = true; thief.Skills.Add(staff); var handToHand = HandToHand.HandToHandAb(); handToHand.Learned = true; thief.Skills.Add(handToHand); var lightArmour = LightArmour.LightArmourAb(); lightArmour.Learned = true; thief.Skills.Add(lightArmour); #endregion #region Lvl 2 skills var dodge = Player.Skills.Dodge.DodgeAb(); dodge.LevelObtained = 2; thief.Skills.Add(dodge); #endregion #region Lvl 3 skills var sneak = Player.Skills.Sneak.SneakAb(); sneak.LevelObtained = 3; thief.Skills.Add(dodge); var exotic = Exotic.ExoticAb(); exotic.LevelObtained = 3; thief.Skills.Add(exotic); #endregion #region Lvl 4 skills var kick = Player.Skills.Kick.KickAb(); kick.LevelObtained = 5; thief.Skills.Add(kick); #endregion #region Lvl 5 skills var blunt = BluntWeapons.BluntWeaponsAb(); blunt.LevelObtained = 5; thief.Skills.Add(blunt); #endregion #region Lvl 7 skills var trip = Trip.TripAb(); trip.LevelObtained = 7; thief.Skills.Add(trip); #endregion #region Lvl 8 skills var lore = Lore.LoreAb(); thief.Skills.Add(lore); #endregion #region Lvl 9 skills var hide = Hide.HideAb(); hide.LevelObtained = 9; thief.Skills.Add(hide); #endregion #region Lvl 10 skills var skick = SpinKick.KickAb(); thief.Skills.Add(skick); var peak = Peak.PeakAb(); thief.Skills.Add(peak); #endregion #region Lvl 11 skills var steal = Steal.StealAb(); thief.Skills.Add(steal); #endregion #region Lvl 12 skills var tumble = Tumble.TumbleAb(); thief.Skills.Add(tumble); #endregion #region Lvl 13 skills var picklock = LockPick.LockPickAb(); thief.Skills.Add(picklock); #endregion #region Lvl 14 skills var dkick = DirtKick.DirtKickAb(); dkick.LevelObtained = 14; thief.Skills.Add(dkick); #endregion #region Lvl 15 skills var bstab = Backstab.BackstabAb(); thief.Skills.Add(bstab); #endregion #region Lvl 16 skills var parry = Parry.ParryAb(); parry.LevelObtained = 16; thief.Skills.Add(parry); #endregion #region Lvl 18 skills var disarm = Disarm.DisarmAb(); disarm.LevelObtained = 18; thief.Skills.Add(disarm); #endregion #region Lvl 20 skills var feint = Feint.FeintAb(); thief.Skills.Add(feint); #endregion thief.ReclassOptions.Add(Ranger.RangerClass()); return(thief); }
//static public void setWeapon<W>(W iWeapon, string wName) where W : IWeapon //{ // weaponsCollection.Add(wName, iWeapon); //} void setWeapons() { // Stores names for searching in dictionary // Classes objects used in dictionary Plate plate = new Plate(); Leather leather = new Leather(); LongSword longSword = new LongSword(); GreatSword greatSword = new GreatSword(); Dagger dagger = new Dagger(); LockPick lockPick = new LockPick(); Book book = new Book(); weaponsSelection = new string[3] { "LongSword", "GreatSword", "Dagger" }; armorSelection = new string[2] { "Plate", "Leather" }; itemSelection = new string[2] { "LockPick", "Book" }; genericSelection = new string[3] { "LongSword", "Plate", "LockPick" }; // genericCollection.Add("LongSword", longSword); // genericCollection.Add("Plate", plate); genericCollection.Add("LockPick", lockPick); // Add objects to each respective dictionary weaponsCollection.Add("LongSword", longSword); weaponsCollection.Add("GreatSword", greatSword); weaponsCollection.Add("Dagger", dagger); armorCollection.Add("Plate", plate); armorCollection.Add("Leather", leather); itemCollection.Add("LockPick", lockPick); itemCollection.Add("Book", book); // Add items into chest array based on dictionary keys found in the selection arrays for (int i = 0; i < weaponsCollection.Count; i++) { weaponsArray[i] = weaponsCollection[weaponsSelection[System.Convert.ToInt32(Random.Range(0, weaponsCollection.Count))]]; } for (int i = 0; i < armorCollection.Count; i++) { armorArray[i] = armorCollection[armorSelection[System.Convert.ToInt32(Random.Range(0, armorCollection.Count))]]; } for (int i = 0; i < itemCollection.Count; i++) { itemArray[i] = itemCollection[itemSelection[System.Convert.ToInt32(Random.Range(0, itemCollection.Count))]]; } for (int i = 0; i < itemCollection.Count; i++) { genericArray[i] = genericCollection[genericSelection[System.Convert.ToInt32(Random.Range(0, genericCollection.Count))]]; } }
private void Start() { LongSword longSword = new LongSword(); GreatSword greatSword = new GreatSword(); Dagger dagger = new Dagger(); Plate plate = new Plate(); Leather leather = new Leather(); LockPick lockPick = new LockPick(); Book book = new Book(); weaponsArray1.Add(new LongSword()); weaponsArray1.Add(new GreatSword()); weaponsArray1.Add(new LongSword()); weaponsArray1.Add(new GreatSword()); weaponsArray1.Add(new Dagger()); playerWeaponsArray.Add(new LongSword()); playerWeaponsArray.Add(new GreatSword()); //itemCollection.Add("LongSword", longSword); //itemCollection.Add("GreatSword", greatSword); //itemCollection.Add("Dagger", dagger); //itemCollection.Add("Plate", plate); //itemCollection.Add("Plate", leather); // Sets up weapons to be stored inside weaponsCollection dictionary weaponsSelection = new string[3] { "LongSword", "GreatSword", "Dagger" }; armorSelection = new string[2] { "Plate", "Leather" }; itemSelection = new string[2] { "LockPick", "Book" }; weaponsCollection.Add("LongSword", longSword); weaponsCollection.Add("GreatSword", greatSword); weaponsCollection.Add("Dagger", dagger); armorCollection.Add("Plate", plate); armorCollection.Add("Leather", leather); itemCollection.Add("LockPick", lockPick); itemCollection.Add("Book", book); //setWeapon(longSword,"LongSword"); //setWeapon(greatSword, "GreatSword"); //setWeapon(dagger, "Dagger"); //armorCollection[0] = plate; //armorCollection[1] = leather; //weaponsArray[0] = weaponsCollection["LongSword"]; //weaponsArray[1] = weaponsCollection["GreatSword"]; //weaponsArray[2] = weaponsCollection["Dagger"]; //Debug.Log("Weapon in gameManager: " + weaponsArray[0].Cost); //Debug.Log("Weapon in gameManager: " + weaponsArray[1].Cost); //Debug.Log("Weapon in gameManager: " + weaponsArray[2].Cost); }
/// <summary> /// Command list for the game /// </summary> /// <param name="commandOptions">Everything after the 1st occurance of a space</param> /// <param name="commandKey">The string before the 1st occurance of a space</param> /// <param name="playerData">Player Data</param> /// <param name="room">Current room</param> /// <returns>Returns Dictionary of commands</returns> public static void Commands(string commandOptions, string commandKey, PlayerSetup.Player playerData, Room.Room room) { var context = HubContext.Instance; switch (commandKey) { case "north": Movement.Move(playerData, room, "North"); break; case "east": Movement.Move(playerData, room, "East"); break; case "south": Movement.Move(playerData, room, "South"); break; case "west": Movement.Move(playerData, room, "West"); break; case "up": Movement.Move(playerData, room, "Up"); break; case "down": Movement.Move(playerData, room, "Down"); break; case "look": case "look at": case "l at": case "search": LoadRoom.ReturnRoom(playerData, room, commandOptions, "look"); break; case "l in": case "search in": LoadRoom.ReturnRoom(playerData, room, commandOptions, "look in"); break; case "examine": LoadRoom.ReturnRoom(playerData, room, commandOptions, "examine"); break; case "touch": LoadRoom.ReturnRoom(playerData, room, commandOptions, "touch"); break; case "smell": LoadRoom.ReturnRoom(playerData, room, commandOptions, "smell"); break; case "taste": LoadRoom.ReturnRoom(playerData, room, commandOptions, "taste"); break; case "score": Score.ReturnScore(playerData); break; case "inventory": Inventory.ReturnInventory(playerData.Inventory, playerData); break; case "eq": case "equip": case "equipment": case "garb": Equipment.ShowEquipment(playerData); break; case "loot": case "get": case "take": ManipulateObject.GetItem(room, playerData, commandOptions, commandKey, "item"); break; case "plunder": ManipulateObject.GetItem(room, playerData, "all " + commandOptions, commandKey, "item"); break; case "drop": case "put": ManipulateObject.DropItem(room, playerData, commandOptions, commandKey); break; case "give": ManipulateObject.GiveItem(room, playerData, commandOptions, commandKey, "killable"); break; case "save": Save.SavePlayer(playerData); break; case "say": case "'": Communicate.Say(commandOptions, playerData, room); break; case "sayto": case ">": Communicate.SayTo(commandOptions, room, playerData); break; case "newbie": Communicate.NewbieChannel(commandOptions, playerData); break; case "gossip": Communicate.GossipChannel(commandOptions, playerData); break; case "ooc": Communicate.OocChannel(commandOptions, playerData); break; case "yes": Communicate.Say("Yes", playerData, room); break; case "no": Communicate.Say("No", playerData, room); break; case "yell": Communicate.Yell(commandOptions, room, playerData); break; case "talkto": Talk.TalkTo(commandOptions, room, playerData); break; case "emote": Emote.EmoteActionToRoom(commandOptions, playerData); break; case "use": case "wear": case "wield": Equipment.WearItem(playerData, commandOptions); break; case "remove": case "doff": case "unwield": Equipment.RemoveItem(playerData, commandOptions); break; case "hit": case "kill": case "attack": Fight2.PerpareToFight(playerData, room, commandOptions); break; case "flee": Flee.fleeCombat(playerData, room); break; case "sacrifice": case "harvest": Harvest.Body(playerData, room, commandOptions); break; case "peek": Peak.DoPeak(context, playerData, room, commandOptions); break; case "steal": Steal.DoSteal(context, playerData, room, commandOptions); break; case "pick": LockPick.DoLockPick(context, playerData, room, commandOptions); break; case "c magic missile": case "cast magic missile": MagicMissile.StartMagicMissile(playerData, room, commandOptions); break; case "c armour": case "cast armour": case "c armor": case "cast armor": new Armour().StartArmour(playerData, room, commandOptions); break; case "c continual light": case "cast continual light": ContinualLight.StarContinualLight(playerData, room, commandOptions); break; case "c invis": case "cast invis": Invis.StartInvis(playerData, room, commandOptions); break; case "c weaken": case "cast weaken": Weaken.StartWeaken(playerData, room, commandOptions); break; case "c chill touch": case "cast chill touch": ChillTouch.StartChillTouch(playerData, room, commandOptions); break; case "c fly": case "cast fly": Fly.StartFly(playerData, room, commandOptions); break; case "c refresh": case "cast refresh": Refresh.StartRefresh(playerData, room, commandOptions); break; case "c faerie fire": case "cast faerie fire": FaerieFire.StartFaerieFire(playerData, room, commandOptions); break; case "c teleport": case "cast teleport": Teleport.StartTeleport(playerData, room); break; case "c blindness": case "cast blindness": Blindness.StartBlind(playerData, room, commandOptions); break; case "c haste": case "cast haste": Haste.StartHaste(playerData, room, commandOptions); break; case "c create spring": case "cast create spring": CreateSpring.StartCreateSpring(playerData, room); break; case "c shocking grasp": case "cast shocking grasp": new ShockingGrasp().StartShockingGrasp(playerData, room, commandOptions); break; case "c cause light": case "cast cause light": new CauseLight().StartCauseLight(context, playerData, room, commandOptions); break; case "c cure light": case "cast cure light": new CureLight().StartCureLight(context, playerData, room, commandOptions); break; case "c cure blindness": new CureBlindness().StartCureBlindness(context, playerData, room, commandOptions); break; case "c detect invis": case "cast detect invis": DetectInvis.DoDetectInvis(context, playerData, room); break; case "forage": new Foraging().StartForaging(playerData, room); break; case "fish": case "angle": case "line": case "trawl": case "lure": new Fishing().StartFishing(playerData, room); break; case "reel": Fishing.GetFish(playerData, room); break; case "dirt kick": new DirtKick().StartDirtKick(context, playerData, room, commandOptions); break; case "bash": new Bash().StartBash(context, playerData, room, commandOptions); break; case "shield bash": new ShieldBash().StartBash(context, playerData, room, commandOptions); break; case "punch": Punch.StartPunch(playerData, room); break; case "kick": new Kick().StartKick(context, playerData, room, commandOptions); break; case "spin kick": new SpinKick().StartKick(context, playerData, room, commandOptions); break; case "rescue": new Rescue().StartRescue(context, playerData, room, commandOptions); break; case "lunge": new Lunge().StartLunge(context, playerData, room, commandOptions); break; case "disarm": new Disarm().StartDisarm(context, playerData, room); break; case "backstab": new Backstab().StartBackstab(context, playerData, room, commandOptions); break; case "feint": new Feint().StartFeint(context, playerData, room, commandOptions); break; case "mount": case "ride": Mount.StartMount(playerData, room, commandOptions); break; case "dismount": Mount.Dismount(playerData, room, commandOptions); break; case "trip": new Trip().StartTrip(context, playerData, room, commandOptions); break; case "sneak": Sneak.DoSneak(context, playerData); break; case "hide": Hide.DoHide(context, playerData); break; case "lore": Lore.DoLore(context, playerData, commandOptions); break; case "unlock": ManipulateObject.UnlockItem(room, playerData, commandOptions, commandKey); break; case "lock": ManipulateObject.LockItem(room, playerData, commandOptions, commandKey); break; case "close": case "shut": ManipulateObject.Close(room, playerData, commandOptions, commandKey); break; case "drink": ManipulateObject.Drink(room, playerData, commandOptions, commandKey); break; case "help": case "/help": case "?": case "commands": Help.ShowHelp(commandOptions, playerData); break; case "time": case "clock": Update.Time.ShowTime(); break; case "skills": case "spells": case "skills all": ShowSkills.ShowPlayerSkills(playerData, commandOptions); break; case "practice": Trainer.Practice(playerData, room, commandOptions); break; case "list": Shop.listItems(playerData, room); break; case "buy": Shop.buyItems(playerData, room, commandOptions); break; case "sell": Shop.sellItems(playerData, room, commandOptions); break; case "quest log": case "qlog": Quest.QuestLog(playerData); break; case "wake": Status.WakePlayer(context, playerData, room); break; case "sleep": Status.SleepPlayer(context, playerData, room); break; case "rest": case "sit": Status.RestPlayer(context, playerData, room); break; case "stand": Status.StandPlayer(context, playerData, room); break; case "greet": Greet.GreetMob(playerData, room, commandOptions); break; case "who": Who.Connected(playerData); break; case "affects": Effect.Show(playerData); break; case "follow": Follow.FollowThing(playerData, room, commandOptions); break; case "nofollow": Follow.FollowThing(playerData, room, "noFollow"); break; case "quit": HubContext.Instance.Quit(playerData.HubGuid, room); break; case "craft": Craft.CraftItem(playerData, room, commandOptions, CraftType.Craft); break; case "chop": Craft.CraftItem(playerData, room, commandOptions, CraftType.Chop); break; case "cook": Craft.CraftItem(playerData, room, commandOptions, CraftType.Cook); break; case "brew": Craft.CraftItem(playerData, room, commandOptions, CraftType.Brew); break; case "forge": Craft.CraftItem(playerData, room, commandOptions, CraftType.Forge); break; case "carve": Craft.CraftItem(playerData, room, commandOptions, CraftType.Carve); break; case "knit": Craft.CraftItem(playerData, room, commandOptions, CraftType.Knitting); break; case "make": case "build": Craft.CraftItem(playerData, room, commandOptions, CraftType.Craft); break; case "show crafts": case "craftlist": Craft.CraftList(playerData); break; case "set up camp": Camp.SetUpCamp(playerData, room); break; case "repair": Events.Repair.RepairItem(playerData, room, commandOptions); break; case "/debug": PlayerSetup.Player.DebugPlayer(playerData); break; case "/setGold": PlayerSetup.Player.SetGold(playerData, commandOptions); break; case "/setAc": PlayerSetup.Player.SetAC(playerData, commandOptions); break; case "/map": SigmaMap.DrawMap(playerData.HubGuid); //not what you think it does break; default: HubContext.Instance.SendToClient("Sorry you can't do that. Try help commands or ask on the discord channel.", playerData.HubGuid); var log = new Error.Error { Date = DateTime.Now, ErrorMessage = commandKey + " " + commandOptions, MethodName = "Wrong command" }; Save.LogError(log); break; } }