Pychnight / TshockRpgToolKit

Master Controller for distrubtion of quests, custom npcs, custom items and skills, housing, leveling, npcshops, etc.
GNU General Public License v2.0
11 stars 1 forks source link

[Custom Items] Plugin Framework #43

Closed Pychnight closed 5 months ago

Pychnight commented 5 years ago

The absolute basic framework needed for the plugin.

As mentioned with #11 Custom Skills plugin, The custom skills "Module" was originally apart of the Custom Items as a singular Plugin, Both Feature sets where different enough where I decided it was best if Custom Skills was it's own plugin.

@tbarela The Basic Framework should mostly only be the bare bones. This version of custom items should only contain the spawning of custom items from the json and assigning custom skills to it. All the Other features that make custom items very complicated will be saved for milestone 4.

Reasons for building framework.

Ensuring custom skills can be used within custom items ensuring the plugin is planned and set up for fast deployment of code. *testing for skill attaching to custom items... / ensuring the custom id system works as we need it.

This is also one of the reasons, why this milestone is so massive in budget other then trying to be as fair to you as possible. Milestone 3 was filled with Issues.

Pychnight commented 5 years ago

@tbarela Here is a json file, i personally made out of bordem, so here is every attribute items have, quite a lot of this can be modified server side.

`[ { "name": "test", "CustomID": "WD1", "BaseType": 1, "ScriptPath": "itemtest.boo", "BaseOverride": { "displayName": "TEST NPC", "ToolTip": "Test mod", "Packed Color Value": "Red", // Not sure what this does all, i know it uses colors and can be modified server side "Damage": 400, "Knockback": 1.0, "useStyle": 1, "UseAnimation": 38, "UseTime": 38, // tied to UseAnimation "Shoot": "Custom Projectile or Projectile ID here", "ShootSpeed": 8, "Scale": 1.0, "Width": 1.0, "Height": 1.0, "Ammo": 1, // Item type to use as ammo "UseAmmo": 4, // pretty sure it uses this amount of that id per shot? "NotAmmo": false, // not sure relogic what the hell are you smoking?

  // Might not be sent

  "consumable": true, // Consume the item

  // armors or accessory only

  "defense": 4,

  // slot toggles

  "accessory": true,
  "armorHead": true,
  "armorBody": true, //This lets you equip this like a chest piece of armor.
  "armorLegs": true, //Lets you equip this on your feets.
  "hasHands": false, //This determines whether or not your hands will be visible in this armor set.

  "mana": 4, // mana use per shot? probally should put this on the scripting end.
  "maxStack": 1,
  "autoReuse": false,
  "noMelee": false, // for swords / non-range weapons only
  "summon": false, // only set to true if your using minion projectiles
  "rare": 4,
  "value": [0, 50, 50, 0],

  // Minion / pets only
  "vanityPet": false, //This isn't a buff that spawns a friendly NPC.
  "lightPet": false, //This isn't a buff that spawns a friendly NPC that provides light either.
  "pet": true,
  "timeLeft": 18000,
  "penetrate": -1,
  "minion": true,
  "minionSlots": 1,
},

]`